This commit is contained in:
gnembon committed 2024-09-04 20:23:21 +02:00
1 parent 00e48df363
commit 72b298ea5f
8 files changed
+29 -22

No files matched your search

+1 -1
View File
@@ -3,7 +3,7 @@ org.gradle.jvmargs=-Xmx1G
# Fabric Properties
# check https://fabricmc.net/develop/
minecraft_version=24w35a
minecraft_version=24w36a
loader_version=0.15.11
jsr305_version=3.0.2
fabric_version=0.102.0+1.21
@@ -23,7 +23,7 @@ import net.minecraft.server.level.ChunkLevel;
import net.minecraft.server.level.ChunkMap;
import net.minecraft.server.level.ChunkMap.DistanceManager;
import net.minecraft.server.level.ChunkResult;
import net.minecraft.server.level.ChunkTaskPriorityQueueSorter;
//import net.minecraft.server.level.ChunkTaskPriorityQueueSorter;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ThreadedLevelLightEngine;
import net.minecraft.server.level.TicketType;
@@ -76,9 +76,9 @@ public abstract class ChunkMap_scarpetChunkCreationMixin implements ThreadedAnvi
@Final
private ThreadedLevelLightEngine lightEngine;
@Shadow
@Final
private ChunkTaskPriorityQueueSorter queueSorter;
//@Shadow
//@Final
//private ChunkTaskPriorityQueueSorter queueSorter;
@Shadow
@Final
@@ -4,7 +4,7 @@ import carpet.CarpetSettings;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.entity.EquipmentSlot;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ElytraItem;
//import net.minecraft.world.item.ElytraItem;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import org.spongepowered.asm.mixin.Mixin;
@@ -26,7 +26,7 @@ public abstract class Player_antiCheatDisabledMixin
if (CarpetSettings.antiCheatDisabled && (Object)this instanceof ServerPlayer sp && sp.getServer().isDedicatedServer())
{
ItemStack itemStack_1 = getItemBySlot(EquipmentSlot.CHEST);
if (itemStack_1.getItem() == Items.ELYTRA && ElytraItem.isFlyEnabled(itemStack_1)) {
if (itemStack_1.getItem() == Items.ELYTRA && !itemStack_1.nextDamageWillBreak()) {
startFallFlying();
cir.setReturnValue(true);
}
@@ -2,6 +2,7 @@ package carpet.mixins;
import carpet.fakes.EntityInterface;
import net.minecraft.network.protocol.game.ServerboundChatCommandPacket;
import net.minecraft.world.entity.player.Input;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
@@ -57,12 +58,14 @@ public class ServerGamePacketListenerImpl_scarpetEventsMixin
{
// todo this may not ride on the right thread moment, so needs to be checked
if (!((EntityInterface)player.getVehicle()).isPermanentVehicle()) // won't since that method makes sure its not null
player.setShiftKeyDown(p.isShiftKeyDown());
Input input = p.input();
if (PLAYER_RIDES.isNeeded() && (p.getXxa() != 0.0F || p.getZza() != 0.0F || p.isJumping() || p.isShiftKeyDown()))
if (player.getVehicle() != null && !((EntityInterface)player.getVehicle()).isPermanentVehicle()) // won't since that method makes sure its not null
player.setShiftKeyDown(p.input().shift());
if (PLAYER_RIDES.isNeeded() && (input.jump() || input.shift() || input.forward() || input.backward() || input.left() || input.right()))
{
PLAYER_RIDES.onMountControls(player, p.getXxa(), p.getZza(), p.isJumping(), p.isShiftKeyDown());
PLAYER_RIDES.onMountControls(player, input.left() == input.right() ? 0 : (input.left() ? -1 : 1 ), input.forward() == input.backward() ? 0 : (input.forward() ? 1 : -1), input.jump(), input.shift());
}
}
@@ -37,6 +37,7 @@ import carpet.fakes.ServerPlayerInterface;
import carpet.utils.Messenger;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
@SuppressWarnings("EntityConstructor")
@@ -77,7 +78,7 @@ public class EntityPlayerMPFake extends ServerPlayer
EntityPlayerMPFake instance = new EntityPlayerMPFake(server, worldIn, current, ClientInformation.createDefault(), false);
instance.fixStartingPosition = () -> instance.moveTo(pos.x, pos.y, pos.z, (float) yaw, (float) pitch);
server.getPlayerList().placeNewPlayer(new FakeClientConnection(PacketFlow.SERVERBOUND), instance, new CommonListenerCookie(current, 0, instance.clientInformation(), false));
instance.teleportTo(worldIn, pos.x, pos.y, pos.z, (float) yaw, (float) pitch, true);
instance.teleportTo(worldIn, pos.x, pos.y, pos.z, Set.of(), (float) yaw, (float) pitch, true);
instance.setHealth(20.0F);
instance.unsetRemoved();
instance.getAttribute(Attributes.STEP_HEIGHT).setBaseValue(0.6F);
@@ -151,7 +152,7 @@ public class EntityPlayerMPFake extends ServerPlayer
if (reason.getContents() instanceof TranslatableContents text && text.getKey().equals("multiplayer.disconnect.duplicate_login")) {
this.connection.onDisconnect(new DisconnectionDetails(reason));
} else {
this.server.tell(new TickTask(this.server.getTickCount(), () -> {
this.server.schedule(new TickTask(this.server.getTickCount(), () -> {
this.connection.onDisconnect(new DisconnectionDetails(reason));
}));
}
@@ -8,7 +8,8 @@ import net.minecraft.server.MinecraftServer;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.server.network.CommonListenerCookie;
import net.minecraft.server.network.ServerGamePacketListenerImpl;
import net.minecraft.world.entity.RelativeMovement;
import net.minecraft.world.entity.PositionMoveRotation;
import net.minecraft.world.entity.Relative;
import java.util.Set;
public class NetHandlerPlayServerFake extends ServerGamePacketListenerImpl
@@ -33,9 +34,9 @@ public class NetHandlerPlayServerFake extends ServerGamePacketListenerImpl
}
@Override
public void teleport(double d, double e, double f, float g, float h, Set<RelativeMovement> set)
public void teleport(PositionMoveRotation positionMoveRotation, Set<Relative> set)
{
super.teleport(d, e, f, g, h, set);
super.teleport(positionMoveRotation, set);
if (player.serverLevel().getPlayerByUUID(player.getUUID()) != null) {
resetPosition();
player.serverLevel().getChunkSource().move(player);
@@ -49,7 +49,8 @@ import net.minecraft.world.entity.Mob;
import net.minecraft.world.entity.MobCategory;
import net.minecraft.world.entity.PathfinderMob;
import net.minecraft.world.entity.Pose;
import net.minecraft.world.entity.RelativeMovement;
import net.minecraft.world.entity.PositionMoveRotation;
import net.minecraft.world.entity.Relative;
import net.minecraft.world.entity.ai.Brain;
import net.minecraft.world.entity.ai.attributes.Attribute;
import net.minecraft.world.entity.ai.attributes.AttributeMap;
@@ -899,10 +900,11 @@ public class EntityValue extends Value
if (e instanceof ServerPlayer sp)
{
// this forces position but doesn't angles for some reason. Need both in the API in the future.
EnumSet<RelativeMovement> set = EnumSet.noneOf(RelativeMovement.class);
set.add(RelativeMovement.X_ROT);
set.add(RelativeMovement.Y_ROT);
sp.connection.teleport(x, y, z, yaw, pitch, set);
EnumSet<Relative> set = EnumSet.noneOf(Relative.class);
set.add(Relative.X_ROT);
set.add(Relative.Y_ROT);
sp.connection.teleport(new PositionMoveRotation(new Vec3(x, y, z), Vec3.ZERO, yaw, pitch), set);
}
else
{
@@ -23,7 +23,7 @@ public final class CommandHelper {
{
return;
}
server.tell(new TickTask(server.getTickCount(), () ->
server.schedule(new TickTask(server.getTickCount(), () ->
{
try {
for (ServerPlayer player : server.getPlayerList().getPlayers()) {