Skip to content

Commit 737976a

Browse files
Switched to a safer mixin to get the world's seed if no seed is specified in the JSON.
1 parent d86a2f0 commit 737976a

30 files changed

+85
-69
lines changed

CHANGELOG.md

+8
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,15 @@ Welcome to the Github! If you are looking for the most recent stable version, th
55

66
------------------------------------------------
77
# | World Blender changelog |
8+
9+
10+
## (V.3.0.1 Changes) (1.16.4 Minecraft)
11+
12+
##### Dimension:
813

14+
-Switched to a safer mixin to get the world's seed if no seed is specified in the JSON.
15+
16+
917
## (V.3.0.0 Changes) (1.16.4 Minecraft)
1018

1119
##### Blender:

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# This is required to provide enough memory for the Minecraft decompilation process.
33
org.gradle.jvmargs=-Xmx3G
44
org.gradle.daemon=false
5-
mod_version=3.0.0
5+
mod_version=3.0.1
66
modid=world_blender
77
mc_version=1.16.4
88
forge_version=35.1.6

src/main/java/com/telepathicgrunt/world_blender/WorldBlenderClient.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import com.telepathicgrunt.world_blender.blocks.WBBlocks;
44
import com.telepathicgrunt.world_blender.blocks.WBPortalBlockEntityRenderer;
55
import com.telepathicgrunt.world_blender.dimension.WBSkyProperty;
6-
import com.telepathicgrunt.world_blender.mixin.SkyPropertiesAccessor;
6+
import com.telepathicgrunt.world_blender.mixin.dimensions.SkyPropertiesAccessor;
77
import net.minecraft.util.ResourceLocation;
88
import net.minecraftforge.eventbus.api.IEventBus;
99
import net.minecraftforge.fml.client.registry.ClientRegistry;

src/main/java/com/telepathicgrunt/world_blender/blocks/WBPortalBlockEntityRenderer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import com.mojang.blaze3d.matrix.MatrixStack;
55
import com.mojang.blaze3d.vertex.IVertexBuilder;
66
import com.telepathicgrunt.world_blender.blocks.WBRenderTexturingState.WBPortalTexturingState;
7-
import com.telepathicgrunt.world_blender.mixin.RenderPhaseAccessor;
7+
import com.telepathicgrunt.world_blender.mixin.blocks.RenderPhaseAccessor;
88
import net.minecraft.client.renderer.IRenderTypeBuffer;
99
import net.minecraft.client.renderer.RenderState;
1010
import net.minecraft.client.renderer.RenderType;

src/main/java/com/telepathicgrunt/world_blender/dimension/ChunkGeneratorBehavior.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.telepathicgrunt.world_blender.dimension;
22

3-
import com.telepathicgrunt.world_blender.mixin.ChunkGeneratorAccessor;
3+
import com.telepathicgrunt.world_blender.mixin.worldgen.ChunkGeneratorAccessor;
44
import it.unimi.dsi.fastutil.objects.Reference2ObjectOpenHashMap;
55
import net.minecraft.util.math.ChunkPos;
66
import net.minecraft.util.math.SectionPos;

src/main/java/com/telepathicgrunt/world_blender/dimension/EnderDragonFightModification.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import com.telepathicgrunt.world_blender.WBIdentifiers;
44
import com.telepathicgrunt.world_blender.blocks.WBPortalBlockEntity;
5-
import com.telepathicgrunt.world_blender.mixin.EnderDragonFightAccessor;
5+
import com.telepathicgrunt.world_blender.mixin.dimensions.EnderDragonFightAccessor;
66
import net.minecraft.block.pattern.BlockPattern;
77
import net.minecraft.tileentity.TileEntity;
88
import net.minecraft.util.math.BlockPos;

src/main/java/com/telepathicgrunt/world_blender/dimension/WBBiomeProvider.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import com.mojang.serialization.Codec;
55
import com.mojang.serialization.codecs.RecordCodecBuilder;
66
import com.telepathicgrunt.world_blender.WBIdentifiers;
7-
import com.telepathicgrunt.world_blender.mixin.BiomeLayerSamplerAccessor;
7+
import com.telepathicgrunt.world_blender.mixin.worldgen.BiomeLayerSamplerAccessor;
88
import com.telepathicgrunt.world_blender.utils.WorldSeedHolder;
99
import net.minecraft.util.RegistryKey;
1010
import net.minecraft.util.SharedConstants;

src/main/java/com/telepathicgrunt/world_blender/mixin/DimensionGeneratorSettingsMixin.java

-24
This file was deleted.

src/main/java/com/telepathicgrunt/world_blender/mixin/RenderPhaseAccessor.java renamed to src/main/java/com/telepathicgrunt/world_blender/mixin/blocks/RenderPhaseAccessor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.telepathicgrunt.world_blender.mixin;
1+
package com.telepathicgrunt.world_blender.mixin.blocks;
22

33
import net.minecraft.client.renderer.RenderState;
44
import org.spongepowered.asm.mixin.Mixin;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.telepathicgrunt.world_blender.mixin.dimensions;
2+
3+
import com.telepathicgrunt.world_blender.utils.WorldSeedHolder;
4+
import net.minecraft.util.registry.SimpleRegistry;
5+
import net.minecraft.world.Dimension;
6+
import net.minecraft.world.gen.settings.DimensionGeneratorSettings;
7+
import org.spongepowered.asm.mixin.Mixin;
8+
import org.spongepowered.asm.mixin.injection.At;
9+
import org.spongepowered.asm.mixin.injection.Inject;
10+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
11+
12+
import java.util.Optional;
13+
14+
@Mixin(DimensionGeneratorSettings.class)
15+
public class DimensionGeneratorSettingsMixin {
16+
17+
/**
18+
* World seed for worldgen when not specified by JSON by Haven King
19+
* https://github.com/Hephaestus-Dev/seedy-behavior/blob/master/src/main/java/dev/hephaestus/seedy/mixin/world/gen/GeneratorOptionsMixin.java
20+
*/
21+
@Inject(method = "<init>(JZZLnet/minecraft/util/registry/SimpleRegistry;)V",
22+
at = @At(value = "RETURN"))
23+
private void giveUsRandomSeeds(long seed, boolean generateFeatures, boolean bonusChest, SimpleRegistry<Dimension> registry, CallbackInfo ci) {
24+
WorldSeedHolder.setSeed(seed);
25+
}
26+
27+
@Inject(method = "<init>(JZZLnet/minecraft/util/registry/SimpleRegistry;Ljava/util/Optional;)V",
28+
at = @At(value = "RETURN"))
29+
private void giveUsRandomSeeds2(long seed, boolean generateFeatures, boolean bonusChest, SimpleRegistry<Dimension> registry, Optional<String> s, CallbackInfo ci) {
30+
WorldSeedHolder.setSeed(seed);
31+
}
32+
}

src/main/java/com/telepathicgrunt/world_blender/mixin/DimensionTypeAccessor.java renamed to src/main/java/com/telepathicgrunt/world_blender/mixin/dimensions/DimensionTypeAccessor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.telepathicgrunt.world_blender.mixin;
1+
package com.telepathicgrunt.world_blender.mixin.dimensions;
22

33
import net.minecraft.world.DimensionType;
44
import org.spongepowered.asm.mixin.Mixin;

src/main/java/com/telepathicgrunt/world_blender/mixin/EnderDragonFightAccessor.java renamed to src/main/java/com/telepathicgrunt/world_blender/mixin/dimensions/EnderDragonFightAccessor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.telepathicgrunt.world_blender.mixin;
1+
package com.telepathicgrunt.world_blender.mixin.dimensions;
22

33
import net.minecraft.block.pattern.BlockPattern;
44
import net.minecraft.util.math.BlockPos;

src/main/java/com/telepathicgrunt/world_blender/mixin/EnderDragonFightMixin.java renamed to src/main/java/com/telepathicgrunt/world_blender/mixin/dimensions/EnderDragonFightMixin.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.telepathicgrunt.world_blender.mixin;
1+
package com.telepathicgrunt.world_blender.mixin.dimensions;
22

33
import com.telepathicgrunt.world_blender.WBIdentifiers;
44
import com.telepathicgrunt.world_blender.dimension.EnderDragonFightModification;

src/main/java/com/telepathicgrunt/world_blender/mixin/MinecraftServerMixin.java renamed to src/main/java/com/telepathicgrunt/world_blender/mixin/dimensions/MinecraftServerMixin.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.telepathicgrunt.world_blender.mixin;
1+
package com.telepathicgrunt.world_blender.mixin.dimensions;
22

33
import com.mojang.authlib.GameProfileRepository;
44
import com.mojang.authlib.minecraft.MinecraftSessionService;

src/main/java/com/telepathicgrunt/world_blender/mixin/ServerWorldMixin.java renamed to src/main/java/com/telepathicgrunt/world_blender/mixin/dimensions/ServerWorldMixin.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.telepathicgrunt.world_blender.mixin;
1+
package com.telepathicgrunt.world_blender.mixin.dimensions;
22

33
import com.telepathicgrunt.world_blender.WBIdentifiers;
44
import com.telepathicgrunt.world_blender.WorldBlender;

src/main/java/com/telepathicgrunt/world_blender/mixin/SkyPropertiesAccessor.java renamed to src/main/java/com/telepathicgrunt/world_blender/mixin/dimensions/SkyPropertiesAccessor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.telepathicgrunt.world_blender.mixin;
1+
package com.telepathicgrunt.world_blender.mixin.dimensions;
22

33
import it.unimi.dsi.fastutil.objects.Object2ObjectMap;
44
import net.minecraft.client.world.DimensionRenderInfo;

src/main/java/com/telepathicgrunt/world_blender/mixin/WorldLightManagerMixin.java renamed to src/main/java/com/telepathicgrunt/world_blender/mixin/dimensions/WorldLightManagerMixin.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.telepathicgrunt.world_blender.mixin;
1+
package com.telepathicgrunt.world_blender.mixin.dimensions;
22

33
import net.minecraft.util.math.BlockPos;
44
import net.minecraft.world.lighting.WorldLightManager;

src/main/java/com/telepathicgrunt/world_blender/mixin/BiomeLayerSamplerAccessor.java renamed to src/main/java/com/telepathicgrunt/world_blender/mixin/worldgen/BiomeLayerSamplerAccessor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.telepathicgrunt.world_blender.mixin;
1+
package com.telepathicgrunt.world_blender.mixin.worldgen;
22

33
import net.minecraft.world.gen.area.LazyArea;
44
import net.minecraft.world.gen.layer.Layer;

src/main/java/com/telepathicgrunt/world_blender/mixin/CarverAccessor.java renamed to src/main/java/com/telepathicgrunt/world_blender/mixin/worldgen/CarverAccessor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.telepathicgrunt.world_blender.mixin;
1+
package com.telepathicgrunt.world_blender.mixin.worldgen;
22

33
import net.minecraft.block.Block;
44
import net.minecraft.world.gen.carver.WorldCarver;

src/main/java/com/telepathicgrunt/world_blender/mixin/ChunkGeneratorAccessor.java renamed to src/main/java/com/telepathicgrunt/world_blender/mixin/worldgen/ChunkGeneratorAccessor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.telepathicgrunt.world_blender.mixin;
1+
package com.telepathicgrunt.world_blender.mixin.worldgen;
22

33
import net.minecraft.world.biome.provider.BiomeProvider;
44
import net.minecraft.world.gen.ChunkGenerator;

src/main/java/com/telepathicgrunt/world_blender/mixin/ChunkGeneratorMixin.java renamed to src/main/java/com/telepathicgrunt/world_blender/mixin/worldgen/ChunkGeneratorMixin.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.telepathicgrunt.world_blender.mixin;
1+
package com.telepathicgrunt.world_blender.mixin.worldgen;
22

33
import com.telepathicgrunt.world_blender.dimension.ChunkGeneratorBehavior;
44
import com.telepathicgrunt.world_blender.dimension.WBBiomeProvider;

src/main/java/com/telepathicgrunt/world_blender/mixin/ConfiguredCarverAccessor.java renamed to src/main/java/com/telepathicgrunt/world_blender/mixin/worldgen/ConfiguredCarverAccessor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.telepathicgrunt.world_blender.mixin;
1+
package com.telepathicgrunt.world_blender.mixin.worldgen;
22

33
import net.minecraft.world.gen.carver.ConfiguredCarver;
44
import net.minecraft.world.gen.carver.ICarverConfig;

src/main/java/com/telepathicgrunt/world_blender/mixin/DimensionStructureSettingsAccessor.java renamed to src/main/java/com/telepathicgrunt/world_blender/mixin/worldgen/DimensionStructureSettingsAccessor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.telepathicgrunt.world_blender.mixin;
1+
package com.telepathicgrunt.world_blender.mixin.worldgen;
22

33
import net.minecraft.world.gen.feature.structure.Structure;
44
import net.minecraft.world.gen.settings.DimensionStructuresSettings;

src/main/java/com/telepathicgrunt/world_blender/mixin/GenerationSettingsAccessor.java renamed to src/main/java/com/telepathicgrunt/world_blender/mixin/worldgen/GenerationSettingsAccessor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.telepathicgrunt.world_blender.mixin;
1+
package com.telepathicgrunt.world_blender.mixin.worldgen;
22

33
import net.minecraft.world.biome.BiomeGenerationSettings;
44
import net.minecraft.world.gen.GenerationStage;

src/main/java/com/telepathicgrunt/world_blender/mixin/MobSpawnInfoAccessor.java renamed to src/main/java/com/telepathicgrunt/world_blender/mixin/worldgen/MobSpawnInfoAccessor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.telepathicgrunt.world_blender.mixin;
1+
package com.telepathicgrunt.world_blender.mixin.worldgen;
22

33
import net.minecraft.entity.EntityClassification;
44
import net.minecraft.entity.EntityType;

src/main/java/com/telepathicgrunt/world_blender/mixin/OceanMonumentStructureMixin.java renamed to src/main/java/com/telepathicgrunt/world_blender/mixin/worldgen/OceanMonumentStructureMixin.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.telepathicgrunt.world_blender.mixin;
1+
package com.telepathicgrunt.world_blender.mixin.worldgen;
22

33
import com.telepathicgrunt.world_blender.dimension.WBBiomeProvider;
44
import net.minecraft.util.SharedSeedRandom;

src/main/java/com/telepathicgrunt/world_blender/mixin/WeightedBlockStateProviderMixin.java renamed to src/main/java/com/telepathicgrunt/world_blender/mixin/worldgen/WeightedBlockStateProviderMixin.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.telepathicgrunt.world_blender.mixin;
1+
package com.telepathicgrunt.world_blender.mixin.worldgen;
22

33
import net.minecraft.block.BlockState;
44
import net.minecraft.world.gen.blockstateprovider.WeightedBlockStateProvider;

src/main/java/com/telepathicgrunt/world_blender/surfacebuilder/BlendedSurfaceBuilder.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.telepathicgrunt.world_blender.surfacebuilder;
22

33
import com.telepathicgrunt.world_blender.WorldBlender;
4-
import com.telepathicgrunt.world_blender.mixin.CarverAccessor;
4+
import com.telepathicgrunt.world_blender.mixin.worldgen.CarverAccessor;
55
import com.telepathicgrunt.world_blender.the_blender.ConfigBlacklisting;
66
import net.minecraft.block.Block;
77
import net.minecraft.block.BlockState;

src/main/java/com/telepathicgrunt/world_blender/the_blender/TheBlender.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import com.telepathicgrunt.world_blender.WBIdentifiers;
44
import com.telepathicgrunt.world_blender.WorldBlender;
55
import com.telepathicgrunt.world_blender.features.WBConfiguredFeatures;
6-
import com.telepathicgrunt.world_blender.mixin.*;
6+
import com.telepathicgrunt.world_blender.mixin.worldgen.*;
77
import com.telepathicgrunt.world_blender.surfacebuilder.BlendedSurfaceBuilder;
88
import com.telepathicgrunt.world_blender.surfacebuilder.WBSurfaceBuilders;
99
import com.telepathicgrunt.world_blender.the_blender.ConfigBlacklisting.BlacklistType;

src/main/resources/world_blender.mixins.json

+19-19
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,27 @@
55
"refmap": "world_blender.refmap.json",
66
"compatibilityLevel": "JAVA_8",
77
"mixins": [
8-
"BiomeLayerSamplerAccessor",
9-
"CarverAccessor",
10-
"ChunkGeneratorAccessor",
11-
"ChunkGeneratorMixin",
12-
"ConfiguredCarverAccessor",
13-
"DimensionGeneratorSettingsMixin",
14-
"DimensionStructureSettingsAccessor",
15-
"DimensionTypeAccessor",
16-
"EnderDragonFightAccessor",
17-
"EnderDragonFightMixin",
18-
"GenerationSettingsAccessor",
19-
"MinecraftServerMixin",
20-
"MobSpawnInfoAccessor",
21-
"OceanMonumentStructureMixin",
22-
"RenderPhaseAccessor",
23-
"ServerWorldMixin",
24-
"WeightedBlockStateProviderMixin",
25-
"WorldLightManagerMixin"
8+
"worldgen.BiomeLayerSamplerAccessor",
9+
"worldgen.CarverAccessor",
10+
"worldgen.ChunkGeneratorAccessor",
11+
"worldgen.ChunkGeneratorMixin",
12+
"worldgen.ConfiguredCarverAccessor",
13+
"dimensions.DimensionGeneratorSettingsMixin",
14+
"worldgen.DimensionStructureSettingsAccessor",
15+
"dimensions.DimensionTypeAccessor",
16+
"dimensions.EnderDragonFightAccessor",
17+
"dimensions.EnderDragonFightMixin",
18+
"worldgen.GenerationSettingsAccessor",
19+
"dimensions.MinecraftServerMixin",
20+
"worldgen.MobSpawnInfoAccessor",
21+
"worldgen.OceanMonumentStructureMixin",
22+
"blocks.RenderPhaseAccessor",
23+
"dimensions.ServerWorldMixin",
24+
"worldgen.WeightedBlockStateProviderMixin",
25+
"dimensions.WorldLightManagerMixin"
2626
],
2727
"client": [
28-
"SkyPropertiesAccessor"
28+
"dimensions.SkyPropertiesAccessor"
2929
],
3030
"injectors": {
3131
"defaultRequire": 1

0 commit comments

Comments
 (0)