24w26a
This commit is contained in:
1 parent
00e48df363
commit
72b298ea5f
8 files changed
+29
-22
No files matched your search
+1
-1
@@ -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()) {
|
||||
|
||||
Reference in new issue
Block a user