Support for Minecraft 1.21.6
This commit is contained in:
9 files changed
+25
-38
No files matched your search
@@ -1,6 +1,7 @@
|
||||
package io.ib67.sfcraft.mixin.common.fixes;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.LazyEntityReference;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.entity.projectile.ProjectileEntity;
|
||||
import net.minecraft.server.world.ServerWorld;
|
||||
@@ -18,10 +19,8 @@ import java.util.UUID;
|
||||
@Mixin(ProjectileEntity.class)
|
||||
public class ProjectileEntityMixin {
|
||||
@Shadow
|
||||
private @Nullable Entity owner;
|
||||
|
||||
@Shadow
|
||||
private @Nullable UUID ownerUuid;
|
||||
@Nullable
|
||||
protected LazyEntityReference<Entity> owner;
|
||||
|
||||
@Unique
|
||||
private boolean isPlayer;
|
||||
@@ -37,20 +36,16 @@ public class ProjectileEntityMixin {
|
||||
*/
|
||||
@Overwrite
|
||||
public @Nullable Entity getOwner() {
|
||||
if (this.owner != null && !this.owner.isRemoved()) {
|
||||
return this.owner;
|
||||
} else if (this.ownerUuid != null) {
|
||||
if (this.owner != null) {
|
||||
var ownerUuid = this.owner.getUuid();
|
||||
var server = $().getWorld().getServer();
|
||||
if (server == null) {
|
||||
return null;
|
||||
}
|
||||
if (isPlayer) {
|
||||
return server.getPlayerManager().getPlayer(this.ownerUuid);
|
||||
return server.getPlayerManager().getPlayer(ownerUuid);
|
||||
} else {
|
||||
for (ServerWorld world : server.getWorlds()) {
|
||||
var entity = world.getEntity(this.ownerUuid);
|
||||
if (entity != null) return entity;
|
||||
}
|
||||
return LazyEntityReference.resolve(this.owner, $().getWorld(), Entity.class);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -17,7 +17,7 @@ public abstract class SleepManagerMixin {
|
||||
cir.setReturnValue(false);
|
||||
return;
|
||||
}
|
||||
var world = players.getFirst().getServerWorld();
|
||||
var world = players.getFirst().getWorld();
|
||||
if (world.getTimeOfDay() % 24000 >= 12544) {
|
||||
if(!world.isRaining()){
|
||||
cir.setReturnValue(false);
|
||||
|
||||
@@ -6,18 +6,10 @@ import io.ib67.sfcraft.callback.SFCallbacks;
|
||||
import io.ib67.sfcraft.inject.MinecraftServerSupplier;
|
||||
import io.ib67.sfcraft.module.chat.ChatPrefix;
|
||||
import io.ib67.sfcraft.module.chat.ChatPrefixModule;
|
||||
import net.fabricmc.fabric.api.networking.v1.PacketSender;
|
||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents;
|
||||
import net.minecraft.network.packet.s2c.play.TeamS2CPacket;
|
||||
import net.minecraft.scoreboard.Team;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.server.network.ServerPlayNetworkHandler;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.util.Colors;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class AFKModule extends ServerModule {
|
||||
@Inject
|
||||
private MinecraftServerSupplier serverSupplier;
|
||||
@@ -47,7 +39,7 @@ public class AFKModule extends ServerModule {
|
||||
|
||||
private void enAFK(ServerPlayerEntity player) {
|
||||
chatPrefixModule.applyPrefix(player, prefix);
|
||||
player.server.getPlayerManager().broadcast(
|
||||
player.getServer().getPlayerManager().broadcast(
|
||||
Text.literal(" * " + player.getName().getLiteralString() + " 正在挂机.").withColor(Colors.LIGHT_GRAY),
|
||||
false
|
||||
);
|
||||
@@ -57,7 +49,7 @@ public class AFKModule extends ServerModule {
|
||||
public void deAFK(ServerPlayerEntity player) {
|
||||
String playerName = player.getName().getLiteralString();
|
||||
chatPrefixModule.removePrefix(player, prefix);
|
||||
player.server.getPlayerManager().broadcast(
|
||||
player.getServer().getPlayerManager().broadcast(
|
||||
Text.literal(" * " + playerName + " 回来了.").withColor(Colors.LIGHT_GRAY),
|
||||
false
|
||||
);
|
||||
|
||||
@@ -41,7 +41,7 @@ public class ChatSendLocModule extends ServerModule implements MessageDecorator
|
||||
var x = sender.getBlockPos().getX();
|
||||
var y = sender.getBlockPos().getY();
|
||||
var z = sender.getBlockPos().getZ();
|
||||
var key = sender.getServerWorld().getRegistryKey();
|
||||
var key = sender.getWorld().getRegistryKey();
|
||||
var world = translate(key);
|
||||
return Text
|
||||
.literal(" " + x + ", " + y + ", " + z + world + " ")
|
||||
|
||||
@@ -36,7 +36,7 @@ public class BackModule extends ServerModule {
|
||||
public int onBack(CommandContext<ServerCommandSource> it) {
|
||||
var player = it.getSource().getPlayer();
|
||||
var pos = player.getLastDeathPos().get();
|
||||
var wld = player.server.getWorld(pos.dimension());
|
||||
var wld = player.getServer().getWorld(pos.dimension());
|
||||
var _pos = pos.pos();
|
||||
if (wld == null) return 0;
|
||||
var nearby = wld.getClosestPlayer(_pos.getX(), _pos.getY(), _pos.getZ(), 100, true);
|
||||
|
||||
@@ -84,7 +84,7 @@ public class CreativeRoomModule extends ServerModule {
|
||||
private @NotNull TriState onOtherCommands(@NotNull CommandSource commandSource, @NotNull String s) {
|
||||
if (commandSource instanceof ServerCommandSource source && source.getPlayer() != null) {
|
||||
var p = source.getPlayer();
|
||||
if (p.getServerWorld().getRegistryKey().equals(CreativeSpaceRoom.WORLD)) {
|
||||
if (p.getWorld().getRegistryKey().equals(CreativeSpaceRoom.WORLD)) {
|
||||
if (BYPASS_PERMISSIONS.contains(s)) {
|
||||
return TriState.TRUE;
|
||||
}
|
||||
@@ -96,7 +96,7 @@ public class CreativeRoomModule extends ServerModule {
|
||||
private @NotNull TriState onWorldEdit(@NotNull CommandSource commandSource, @NotNull String s) {
|
||||
if (commandSource instanceof ServerCommandSource source && source.getPlayer() != null) {
|
||||
var p = source.getPlayer();
|
||||
if (p.getServerWorld().getRegistryKey().equals(CreativeSpaceRoom.WORLD)) {
|
||||
if (p.getWorld().getRegistryKey().equals(CreativeSpaceRoom.WORLD)) {
|
||||
if (s.startsWith("worldedit") && SFConsts.WORLDEDIT_AT_PLAYGROUND.hasPermission(p)) {
|
||||
return TriState.TRUE;
|
||||
}
|
||||
@@ -132,10 +132,10 @@ public class CreativeRoomModule extends ServerModule {
|
||||
if (src instanceof ServerCommandSource source && source.getPlayer() != null) {
|
||||
var p = source.getPlayer();
|
||||
var dest = EntityArgumentType.getEntity(ctx, "dest");
|
||||
if (p.getServerWorld().getRegistryKey().equals(CreativeSpaceRoom.WORLD)) {
|
||||
if (dest.getWorld() == p.getServerWorld()) {
|
||||
if (p.getWorld().getRegistryKey().equals(CreativeSpaceRoom.WORLD)) {
|
||||
if (dest.getWorld() == p.getWorld()) {
|
||||
Helper.teleportSafely(
|
||||
p, p.getServerWorld(),
|
||||
p, p.getWorld(),
|
||||
dest.getBlockX(), dest.getBlockY(), dest.getBlockZ(),
|
||||
dest.getYaw(), dest.getPitch()
|
||||
);
|
||||
@@ -152,7 +152,7 @@ public class CreativeRoomModule extends ServerModule {
|
||||
if (src instanceof ServerCommandSource source && source.getPlayer() != null) {
|
||||
var p = source.getPlayer();
|
||||
var mode = ctx.getArgument("mode", GameMode.class);
|
||||
if (p.getServerWorld().getRegistryKey().equals(CreativeSpaceRoom.WORLD)) {
|
||||
if (p.getWorld().getRegistryKey().equals(CreativeSpaceRoom.WORLD)) {
|
||||
p.changeGameMode(mode);
|
||||
p.sendMessage(Text.of("Your gamemode has been changed to " + mode.asString()));
|
||||
} else {
|
||||
|
||||
@@ -43,7 +43,7 @@ public class Helper {
|
||||
public static boolean canBack(ServerPlayerEntity player) {
|
||||
if (!SFConsts.COMMAND_BACK.hasPermission(player)) return false;
|
||||
var pos = player.getLastDeathPos().get();
|
||||
var wld = player.server.getWorld(pos.dimension());
|
||||
var wld = player.getServer().getWorld(pos.dimension());
|
||||
var _pos = pos.pos();
|
||||
if (wld == null) return false;
|
||||
var nearby = wld.getClosestPlayer(_pos.getX(), _pos.getY(), _pos.getZ(), 100, true);
|
||||
|
||||
Reference in new issue
Block a user