diff --git a/gradle.properties b/gradle.properties index 6f0c6ffc..f08562d7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,10 +4,10 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/use # or better: https://modmuss50.me/fabric.html - minecraft_version=21w20a - yarn_mappings=21w20a+build.10 + minecraft_version=1.17-pre1 + yarn_mappings=1.17-pre1+build.1 loader_version=0.11.3 - fabric_version=0.34.5+1.17 + fabric_version=0.34.7+1.17 # Mod Properties mod_version = 1.4.37 diff --git a/src/main/java/carpet/helpers/OptimizedExplosion.java b/src/main/java/carpet/helpers/OptimizedExplosion.java index dc086344..cfd8316a 100644 --- a/src/main/java/carpet/helpers/OptimizedExplosion.java +++ b/src/main/java/carpet/helpers/OptimizedExplosion.java @@ -134,14 +134,14 @@ public class OptimizedExplosion } if (!entity.isImmuneToExplosion()) { - double d12 = MathHelper.sqrt(entity.squaredDistanceTo(eAccess.getX(), eAccess.getY(), eAccess.getZ())) / (double) f3; + double d12 = Math.sqrt(entity.squaredDistanceTo(eAccess.getX(), eAccess.getY(), eAccess.getZ())) / (double) f3; if (d12 <= 1.0D) { double d5 = entity.getX() - eAccess.getX(); // Change in 1.16 snapshots to fix a bug with TNT jumping double d7 = (entity instanceof TntEntity ? entity.getY() : entity.getEyeY()) - eAccess.getY(); double d9 = entity.getZ() - eAccess.getZ(); - double d13 = (double) MathHelper.sqrt(d5 * d5 + d7 * d7 + d9 * d9); + double d13 = (double) Math.sqrt(d5 * d5 + d7 * d7 + d9 * d9); if (d13 != 0.0D) { d5 = d5 / d13; diff --git a/src/main/java/carpet/mixins/MinecraftServer_tickspeedMixin.java b/src/main/java/carpet/mixins/MinecraftServer_tickspeedMixin.java index 944183ee..ff3b508e 100644 --- a/src/main/java/carpet/mixins/MinecraftServer_tickspeedMixin.java +++ b/src/main/java/carpet/mixins/MinecraftServer_tickspeedMixin.java @@ -46,7 +46,9 @@ public abstract class MinecraftServer_tickspeedMixin extends ReentrantThreadExec @Shadow private volatile boolean loading; - @Shadow protected abstract void startMonitor(TickDurationMonitor monitor); + //@Shadow protected abstract void startMonitor(TickDurationMonitor monitor); + + @Shadow protected abstract void startMonitor(); @Shadow private long lastTimeReference; @@ -116,8 +118,9 @@ public abstract class MinecraftServer_tickspeedMixin extends ReentrantThreadExec } this.timeReference += msThisTick;//50L; - TickDurationMonitor tickDurationMonitor = TickDurationMonitor.create("Server"); - this.startMonitor(tickDurationMonitor); + //TickDurationMonitor tickDurationMonitor = TickDurationMonitor.create("Server"); + //this.startMonitor(tickDurationMonitor); + this.startMonitor(); this.profiler.startTick(); this.profiler.push("tick"); this.tick(TickSpeed.time_warp_start_time != 0 ? ()->true : this::shouldKeepTicking); diff --git a/src/main/java/carpet/patches/EntityPlayerMPFake.java b/src/main/java/carpet/patches/EntityPlayerMPFake.java index ef8675a3..d8cd0175 100644 --- a/src/main/java/carpet/patches/EntityPlayerMPFake.java +++ b/src/main/java/carpet/patches/EntityPlayerMPFake.java @@ -17,7 +17,6 @@ import net.minecraft.text.TranslatableText; import net.minecraft.server.MinecraftServer; import net.minecraft.server.ServerTask; import net.minecraft.server.network.ServerPlayerEntity; -import net.minecraft.server.network.ServerPlayerInteractionManager; import net.minecraft.server.world.ServerWorld; import net.minecraft.util.UserCache; import net.minecraft.util.registry.RegistryKey; @@ -26,6 +25,8 @@ import net.minecraft.world.World; import carpet.fakes.ServerPlayerEntityInterface; import carpet.utils.Messenger; +import java.util.concurrent.atomic.AtomicReference; + @SuppressWarnings("EntityConstructor") public class EntityPlayerMPFake extends ServerPlayerEntity { @@ -55,7 +56,9 @@ public class EntityPlayerMPFake extends ServerPlayerEntity } if (gameprofile.getProperties().containsKey("textures")) { - gameprofile = SkullBlockEntity.loadProperties(gameprofile); + AtomicReference result = new AtomicReference<>(); + SkullBlockEntity.loadProperties(gameprofile, result::set); + gameprofile = result.get(); } EntityPlayerMPFake instance = new EntityPlayerMPFake(server, worldIn, gameprofile, false); instance.fixStartingPosition = () -> instance.refreshPositionAndAngles(d0, d1, d2, (float) yaw, (float) pitch); diff --git a/src/main/java/carpet/script/api/WorldAccess.java b/src/main/java/carpet/script/api/WorldAccess.java index fb142a3c..e464c4a0 100644 --- a/src/main/java/carpet/script/api/WorldAccess.java +++ b/src/main/java/carpet/script/api/WorldAccess.java @@ -576,7 +576,7 @@ public class WorldAccess { { c.host.issueDeprecation("loaded_ep(...)"); BlockPos pos = BlockArgument.findIn((CarpetContext)c, lv, 0).block.getPos(); - return BooleanValue.of(((CarpetContext)c).s.getWorld().getChunkManager().shouldTickChunk(new ChunkPos(pos))); + return BooleanValue.of(((CarpetContext)c).s.getWorld().method_37118(pos));// 1.17pre1 getChunkManager().shouldTickChunk(new ChunkPos(pos))); }); expression.addContextFunction("loaded_status", -1, (c, t, lv) -> diff --git a/src/main/java/carpet/script/utils/ShapeDispatcher.java b/src/main/java/carpet/script/utils/ShapeDispatcher.java index 6b281e3d..9a6225bc 100644 --- a/src/main/java/carpet/script/utils/ShapeDispatcher.java +++ b/src/main/java/carpet/script/utils/ShapeDispatcher.java @@ -1328,7 +1328,7 @@ public class ShapeDispatcher } if (isStraight(from, to, density)) return drawOptimizedParticleLine(players, particle, from, to, density); - Vec3d incvec = to.subtract(from).multiply(2*density/MathHelper.sqrt(distance)); + Vec3d incvec = to.subtract(from).multiply(2*density/Math.sqrt(distance)); for (Vec3d delta = new Vec3d(0.0,0.0,0.0); delta.lengthSquared() res = new ArrayList<>(); res.add(Messenger.c("w Distance between ", Messenger.tp("c",pos1),"w and ",