20w20b
This commit is contained in:
1 parent
e9c72ac4fe
commit
77d819487e
12 files changed
+35
-35
No files matched your search
+3
-3
@@ -4,9 +4,9 @@ org.gradle.jvmargs=-Xmx1G
|
|||||||
# Fabric Properties
|
# Fabric Properties
|
||||||
# check these on https://fabricmc.net/use
|
# check these on https://fabricmc.net/use
|
||||||
# or better: https://modmuss50.me/fabric.html
|
# or better: https://modmuss50.me/fabric.html
|
||||||
minecraft_version=20w20a
|
minecraft_version=20w20b
|
||||||
yarn_mappings=20w20a+build.1
|
yarn_mappings=20w20b+build.1
|
||||||
loader_version=0.8.2+build.194
|
loader_version=0.8.3+build.196
|
||||||
|
|
||||||
# Mod Properties
|
# Mod Properties
|
||||||
mod_version = 1.3.23+v200513
|
mod_version = 1.3.23+v200513
|
||||||
|
|||||||
@@ -2,12 +2,12 @@ package carpet.helpers;
|
|||||||
|
|
||||||
import net.minecraft.block.Material;
|
import net.minecraft.block.Material;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.IWorld;
|
import net.minecraft.world.WorldAccess;
|
||||||
|
|
||||||
public class BlockSaplingHelper
|
public class BlockSaplingHelper
|
||||||
{
|
{
|
||||||
// Added code for checking water for dead shrub rule
|
// Added code for checking water for dead shrub rule
|
||||||
public static boolean hasWater(IWorld worldIn, BlockPos pos)
|
public static boolean hasWater(WorldAccess worldIn, BlockPos pos)
|
||||||
{
|
{
|
||||||
for (BlockPos blockpos$mutableblockpos : BlockPos.iterate(pos.add(-4, -4, -4), pos.add(4, 1, 4)))
|
for (BlockPos blockpos$mutableblockpos : BlockPos.iterate(pos.add(-4, -4, -4), pos.add(4, 1, 4)))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package carpet.mixins;
|
|||||||
import carpet.fakes.CoralFeatureInterface;
|
import carpet.fakes.CoralFeatureInterface;
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.IWorld;
|
import net.minecraft.world.WorldAccess;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.gen.feature.CoralFeature;
|
import net.minecraft.world.gen.feature.CoralFeature;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
@@ -15,7 +15,7 @@ import java.util.Random;
|
|||||||
public abstract class CoralFeatureMixin implements CoralFeatureInterface
|
public abstract class CoralFeatureMixin implements CoralFeatureInterface
|
||||||
{
|
{
|
||||||
|
|
||||||
@Shadow protected abstract boolean spawnCoral(IWorld var1, Random var2, BlockPos var3, BlockState var4);
|
@Shadow protected abstract boolean spawnCoral(WorldAccess var1, Random var2, BlockPos var3, BlockState var4);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean growSpecific(World worldIn, Random random, BlockPos pos, BlockState blockUnder)
|
public boolean growSpecific(World worldIn, Random random, BlockPos pos, BlockState blockUnder)
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import carpet.CarpetSettings;
|
|||||||
import net.minecraft.block.Blocks;
|
import net.minecraft.block.Blocks;
|
||||||
import net.minecraft.entity.SpawnGroup;
|
import net.minecraft.entity.SpawnGroup;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.IWorld;
|
import net.minecraft.world.WorldAccess;
|
||||||
import net.minecraft.world.biome.Biome;
|
import net.minecraft.world.biome.Biome;
|
||||||
import net.minecraft.world.biome.source.BiomeSource;
|
import net.minecraft.world.biome.source.BiomeSource;
|
||||||
import net.minecraft.world.gen.StructureAccessor;
|
import net.minecraft.world.gen.StructureAccessor;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import carpet.CarpetSettings;
|
|||||||
import net.minecraft.entity.mob.HuskEntity;
|
import net.minecraft.entity.mob.HuskEntity;
|
||||||
import net.minecraft.server.world.ServerWorld;
|
import net.minecraft.server.world.ServerWorld;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.IWorld;
|
import net.minecraft.world.WorldAccess;
|
||||||
import net.minecraft.world.gen.feature.Feature;
|
import net.minecraft.world.gen.feature.Feature;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
@@ -13,10 +13,10 @@ import org.spongepowered.asm.mixin.injection.Redirect;
|
|||||||
@Mixin(HuskEntity.class)
|
@Mixin(HuskEntity.class)
|
||||||
public class HuskEntityMixin
|
public class HuskEntityMixin
|
||||||
{
|
{
|
||||||
@Redirect(method = "canSpawn", at = @At(value = "INVOKE", target="Lnet/minecraft/world/IWorld;isSkyVisible(Lnet/minecraft/util/math/BlockPos;)Z"))
|
@Redirect(method = "canSpawn", at = @At(value = "INVOKE", target="Lnet/minecraft/world/WorldAccess;isSkyVisible(Lnet/minecraft/util/math/BlockPos;)Z"))
|
||||||
private static boolean isSkylightOrTempleVisible(IWorld iWorld, BlockPos blockPos_1)
|
private static boolean isSkylightOrTempleVisible(WorldAccess WorldAccess, BlockPos blockPos_1)
|
||||||
{
|
{
|
||||||
return iWorld.isSkyVisible(blockPos_1) ||
|
return WorldAccess.isSkyVisible(blockPos_1) ||
|
||||||
(CarpetSettings.huskSpawningInTemples && Feature.DESERT_PYRAMID.isApproximatelyInsideStructure(((ServerWorld)iWorld).getStructureAccessor(), blockPos_1));
|
(CarpetSettings.huskSpawningInTemples && Feature.DESERT_PYRAMID.isApproximatelyInsideStructure(((ServerWorld)WorldAccess).getStructureAccessor(), blockPos_1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,7 @@ package carpet.mixins;
|
|||||||
import carpet.CarpetSettings;
|
import carpet.CarpetSettings;
|
||||||
import net.minecraft.entity.SpawnGroup;
|
import net.minecraft.entity.SpawnGroup;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.IWorld;
|
import net.minecraft.world.WorldAccess;
|
||||||
import net.minecraft.world.biome.Biome;
|
import net.minecraft.world.biome.Biome;
|
||||||
import net.minecraft.world.biome.source.BiomeSource;
|
import net.minecraft.world.biome.source.BiomeSource;
|
||||||
import net.minecraft.world.gen.StructureAccessor;
|
import net.minecraft.world.gen.StructureAccessor;
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ public class ServerPlayerInteractionManager_scarpetEventsMixin
|
|||||||
|
|
||||||
@Inject(method = "tryBreakBlock", locals = LocalCapture.CAPTURE_FAILEXCEPTION, at = @At(
|
@Inject(method = "tryBreakBlock", locals = LocalCapture.CAPTURE_FAILEXCEPTION, at = @At(
|
||||||
value = "INVOKE",
|
value = "INVOKE",
|
||||||
target = "Lnet/minecraft/block/Block;onBroken(Lnet/minecraft/world/IWorld;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)V",
|
target = "Lnet/minecraft/block/Block;onBroken(Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)V",
|
||||||
shift = At.Shift.BEFORE
|
shift = At.Shift.BEFORE
|
||||||
))
|
))
|
||||||
private void onBlockBroken(BlockPos blockPos_1, CallbackInfoReturnable<Boolean> cir, BlockState blockState_1, BlockEntity be, Block b, boolean boolean_1)
|
private void onBlockBroken(BlockPos blockPos_1, CallbackInfoReturnable<Boolean> cir, BlockState blockState_1, BlockEntity be, Block b, boolean boolean_1)
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import net.minecraft.util.math.Box;
|
|||||||
import net.minecraft.util.math.MathHelper;
|
import net.minecraft.util.math.MathHelper;
|
||||||
import net.minecraft.util.shape.VoxelShape;
|
import net.minecraft.util.shape.VoxelShape;
|
||||||
import net.minecraft.util.shape.VoxelShapes;
|
import net.minecraft.util.shape.VoxelShapes;
|
||||||
import net.minecraft.world.IWorld;
|
import net.minecraft.world.WorldAccess;
|
||||||
import net.minecraft.world.LocalDifficulty;
|
import net.minecraft.world.LocalDifficulty;
|
||||||
import net.minecraft.world.SpawnHelper;
|
import net.minecraft.world.SpawnHelper;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
@@ -174,12 +174,12 @@ public class SpawnHelperMixin
|
|||||||
|
|
||||||
@Redirect(method = "spawnEntitiesInChunk(Lnet/minecraft/entity/SpawnGroup;Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/world/chunk/Chunk;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/world/SpawnHelper$Checker;Lnet/minecraft/world/SpawnHelper$Runner;)V", at = @At(
|
@Redirect(method = "spawnEntitiesInChunk(Lnet/minecraft/entity/SpawnGroup;Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/world/chunk/Chunk;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/world/SpawnHelper$Checker;Lnet/minecraft/world/SpawnHelper$Runner;)V", at = @At(
|
||||||
value = "INVOKE",
|
value = "INVOKE",
|
||||||
target = "Lnet/minecraft/entity/mob/MobEntity;initialize(Lnet/minecraft/world/IWorld;Lnet/minecraft/world/LocalDifficulty;Lnet/minecraft/entity/SpawnReason;Lnet/minecraft/entity/EntityData;Lnet/minecraft/nbt/CompoundTag;)Lnet/minecraft/entity/EntityData;"
|
target = "Lnet/minecraft/entity/mob/MobEntity;initialize(Lnet/minecraft/world/WorldAccess;Lnet/minecraft/world/LocalDifficulty;Lnet/minecraft/entity/SpawnReason;Lnet/minecraft/entity/EntityData;Lnet/minecraft/nbt/CompoundTag;)Lnet/minecraft/entity/EntityData;"
|
||||||
))
|
))
|
||||||
private static EntityData spawnEntity(MobEntity mobEntity, IWorld iWorld_1, LocalDifficulty localDifficulty_1, SpawnReason spawnType_1, EntityData entityData_1, CompoundTag compoundTag_1)
|
private static EntityData spawnEntity(MobEntity mobEntity, WorldAccess WorldAccess_1, LocalDifficulty localDifficulty_1, SpawnReason spawnType_1, EntityData entityData_1, CompoundTag compoundTag_1)
|
||||||
{
|
{
|
||||||
if (!SpawnReporter.mock_spawns)
|
if (!SpawnReporter.mock_spawns)
|
||||||
return mobEntity.initialize(iWorld_1, localDifficulty_1, spawnType_1, entityData_1, compoundTag_1);
|
return mobEntity.initialize(WorldAccess_1, localDifficulty_1, spawnType_1, entityData_1, compoundTag_1);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import net.minecraft.block.entity.StructureBlockBlockEntity;
|
|||||||
import net.minecraft.structure.Structure;
|
import net.minecraft.structure.Structure;
|
||||||
import net.minecraft.structure.StructurePlacementData;
|
import net.minecraft.structure.StructurePlacementData;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.IWorld;
|
import net.minecraft.world.WorldAccess;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||||
@@ -15,15 +15,15 @@ public abstract class StructureBlockBlockEntity_fillUpdatesMixin
|
|||||||
{
|
{
|
||||||
@Redirect(method = "place", at = @At(
|
@Redirect(method = "place", at = @At(
|
||||||
value = "INVOKE",
|
value = "INVOKE",
|
||||||
target = "Lnet/minecraft/structure/Structure;place(Lnet/minecraft/world/IWorld;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/structure/StructurePlacementData;)V"
|
target = "Lnet/minecraft/structure/Structure;place(Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/structure/StructurePlacementData;)V"
|
||||||
))
|
))
|
||||||
private void onStructurePlacen(Structure structure, IWorld iWorld_1, BlockPos blockPos_1, StructurePlacementData structurePlacementData_1)
|
private void onStructurePlacen(Structure structure, WorldAccess WorldAccess_1, BlockPos blockPos_1, StructurePlacementData structurePlacementData_1)
|
||||||
{
|
{
|
||||||
if(!CarpetSettings.fillUpdates)
|
if(!CarpetSettings.fillUpdates)
|
||||||
CarpetSettings.impendingFillSkipUpdates = true;
|
CarpetSettings.impendingFillSkipUpdates = true;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
structure.place(iWorld_1, blockPos_1, structurePlacementData_1);
|
structure.place(WorldAccess_1, blockPos_1, structurePlacementData_1);
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import net.minecraft.structure.StructureStart;
|
|||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.ChunkPos;
|
import net.minecraft.util.math.ChunkPos;
|
||||||
import net.minecraft.util.math.BlockBox;
|
import net.minecraft.util.math.BlockBox;
|
||||||
import net.minecraft.world.IWorld;
|
import net.minecraft.world.WorldAccess;
|
||||||
import net.minecraft.world.biome.Biome;
|
import net.minecraft.world.biome.Biome;
|
||||||
import net.minecraft.world.biome.Biomes;
|
import net.minecraft.world.biome.Biomes;
|
||||||
import net.minecraft.world.chunk.Chunk;
|
import net.minecraft.world.chunk.Chunk;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import net.minecraft.block.Block;
|
|||||||
import net.minecraft.structure.Structure;
|
import net.minecraft.structure.Structure;
|
||||||
import net.minecraft.structure.StructurePlacementData;
|
import net.minecraft.structure.StructurePlacementData;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.IWorld;
|
import net.minecraft.world.WorldAccess;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||||
@@ -13,17 +13,17 @@ import org.spongepowered.asm.mixin.injection.Redirect;
|
|||||||
@Mixin(Structure.class)
|
@Mixin(Structure.class)
|
||||||
public class Structure_fillUpdatesMixin
|
public class Structure_fillUpdatesMixin
|
||||||
{
|
{
|
||||||
@Redirect( method = "place(Lnet/minecraft/world/IWorld;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/structure/StructurePlacementData;I)Z", at = @At(
|
@Redirect( method = "place(Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/structure/StructurePlacementData;I)Z", at = @At(
|
||||||
value = "INVOKE",
|
value = "INVOKE",
|
||||||
target = "Lnet/minecraft/world/IWorld;updateNeighbors(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/Block;)V"
|
target = "Lnet/minecraft/world/WorldAccess;updateNeighbors(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/Block;)V"
|
||||||
))
|
))
|
||||||
private void skipUpdateNeighbours(IWorld iWorld, BlockPos var1, Block var2)
|
private void skipUpdateNeighbours(WorldAccess WorldAccess, BlockPos var1, Block var2)
|
||||||
{
|
{
|
||||||
if (!CarpetSettings.impendingFillSkipUpdates)
|
if (!CarpetSettings.impendingFillSkipUpdates)
|
||||||
iWorld.updateNeighbors(var1, var2);
|
WorldAccess.updateNeighbors(var1, var2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Redirect(method = "place(Lnet/minecraft/world/IWorld;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/structure/StructurePlacementData;I)Z", at = @At(
|
@Redirect(method = "place(Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/structure/StructurePlacementData;I)Z", at = @At(
|
||||||
value = "INVOKE",
|
value = "INVOKE",
|
||||||
target = "Lnet/minecraft/structure/StructurePlacementData;shouldUpdateNeighbors()Z"
|
target = "Lnet/minecraft/structure/StructurePlacementData;shouldUpdateNeighbors()Z"
|
||||||
))
|
))
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import net.minecraft.server.world.ChunkHolder;
|
|||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.profiler.Profiler;
|
import net.minecraft.util.profiler.Profiler;
|
||||||
import net.minecraft.world.BlockView;
|
import net.minecraft.world.BlockView;
|
||||||
import net.minecraft.world.IWorld;
|
import net.minecraft.world.WorldAccess;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.chunk.EmptyChunk;
|
import net.minecraft.world.chunk.EmptyChunk;
|
||||||
import net.minecraft.world.chunk.WorldChunk;
|
import net.minecraft.world.chunk.WorldChunk;
|
||||||
@@ -20,7 +20,7 @@ import org.spongepowered.asm.mixin.Mixin;
|
|||||||
import org.spongepowered.asm.mixin.Shadow;
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
|
|
||||||
@Mixin(World.class)
|
@Mixin(World.class)
|
||||||
public abstract class World_movableTEMixin implements WorldInterface, IWorld
|
public abstract class World_movableTEMixin implements WorldInterface, WorldAccess
|
||||||
{
|
{
|
||||||
@Shadow
|
@Shadow
|
||||||
@Final
|
@Final
|
||||||
@@ -125,9 +125,9 @@ public abstract class World_movableTEMixin implements WorldInterface, IWorld
|
|||||||
if ((int_1 & 16) == 0)
|
if ((int_1 & 16) == 0)
|
||||||
{
|
{
|
||||||
int int_2 = int_1 & -2;
|
int int_2 = int_1 & -2;
|
||||||
blockState_2.prepare((net.minecraft.world.IWorld) this, blockPos_1, int_2);
|
blockState_2.prepare((net.minecraft.world.WorldAccess) this, blockPos_1, int_2);
|
||||||
blockState_1.updateNeighbors((net.minecraft.world.IWorld) this, blockPos_1, int_2);
|
blockState_1.updateNeighbors((net.minecraft.world.WorldAccess) this, blockPos_1, int_2);
|
||||||
blockState_1.prepare((net.minecraft.world.IWorld) this, blockPos_1, int_2);
|
blockState_1.prepare((net.minecraft.world.WorldAccess) this, blockPos_1, int_2);
|
||||||
}
|
}
|
||||||
this.onBlockChanged(blockPos_1, blockState_2, blockState_3);
|
this.onBlockChanged(blockPos_1, blockState_2, blockState_3);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user