mirror of
https://github.com/LeavesMC/Leaves.git
synced 2026-01-04 15:41:31 +00:00
feat: fix some error
This commit is contained in:
@@ -110,7 +110,7 @@ index 1f0e7c391d02b18e2c89700025713ec3d759f2ea..300ee12ca9584e53e9d72e3ebfd039be
|
||||
|
||||
org.bukkit.event.block.BlockCanBuildEvent event = new org.bukkit.event.block.BlockCanBuildEvent(org.bukkit.craftbukkit.block.CraftBlock.at(context.getLevel(), clickedPos), player, org.bukkit.craftbukkit.block.data.CraftBlockData.fromData(blockState), defaultReturn, org.bukkit.craftbukkit.CraftEquipmentSlot.getHand(context.getHand())); // Paper - Expose hand in BlockCanBuildEvent
|
||||
diff --git a/net/minecraft/world/level/block/entity/ShulkerBoxBlockEntity.java b/net/minecraft/world/level/block/entity/ShulkerBoxBlockEntity.java
|
||||
index 10c123b9cffdc79d069a82d09e57b24bc1572771..034f01c0f8987fbfd32120c8186aa8c6f44eb81d 100644
|
||||
index 10c123b9cffdc79d069a82d09e57b24bc1572771..85ba7ef0c2e50269427e168336cf29f5375f731d 100644
|
||||
--- a/net/minecraft/world/level/block/entity/ShulkerBoxBlockEntity.java
|
||||
+++ b/net/minecraft/world/level/block/entity/ShulkerBoxBlockEntity.java
|
||||
@@ -153,7 +153,7 @@ public class ShulkerBoxBlockEntity extends RandomizableContainerBlockEntity impl
|
||||
@@ -118,7 +118,7 @@ index 10c123b9cffdc79d069a82d09e57b24bc1572771..034f01c0f8987fbfd32120c8186aa8c6
|
||||
if (!entities.isEmpty()) {
|
||||
for (Entity entity : entities) {
|
||||
- if (entity.getPistonPushReaction() != PushReaction.IGNORE) {
|
||||
+ if (entity.getPistonPushReaction() != PushReaction.IGNORE && !(entity instanceof Player player && player.isCreativeFlyOrSpectator())) { // Leaves - creative no clip
|
||||
+ if (entity.getPistonPushReaction() != PushReaction.IGNORE && !(entity instanceof net.minecraft.world.entity.player.Player player && player.isCreativeFlyOrSpectator())) { // Leaves - creative no clip
|
||||
entity.move(
|
||||
MoverType.SHULKER_BOX,
|
||||
new Vec3(
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Replay Mod API
|
||||
This patch is Powered by ReplayMod(https://github.com/ReplayMod)
|
||||
|
||||
diff --git a/net/minecraft/commands/CommandSourceStack.java b/net/minecraft/commands/CommandSourceStack.java
|
||||
index 6ead209287ab021b8245fa5c3b7f18ca7d9c66b3..c8744cb6ae4f5a2d1527bace129d9b4b8c1a8cd9 100644
|
||||
index 6ead209287ab021b8245fa5c3b7f18ca7d9c66b3..cc0213907d1291e31261e923c74bdeaae2765e2e 100644
|
||||
--- a/net/minecraft/commands/CommandSourceStack.java
|
||||
+++ b/net/minecraft/commands/CommandSourceStack.java
|
||||
@@ -580,7 +580,7 @@ public class CommandSourceStack implements ExecutionCommandSource<CommandSourceS
|
||||
@@ -14,7 +14,7 @@ index 6ead209287ab021b8245fa5c3b7f18ca7d9c66b3..c8744cb6ae4f5a2d1527bace129d9b4b
|
||||
@Override
|
||||
public Collection<String> getOnlinePlayerNames() {
|
||||
- return this.entity instanceof ServerPlayer sourcePlayer && !sourcePlayer.getBukkitEntity().hasPermission("paper.bypass-visibility.tab-completion") ? this.getServer().getPlayerList().getPlayers().stream().filter(serverPlayer -> sourcePlayer.getBukkitEntity().canSee(serverPlayer.getBukkitEntity())).map(serverPlayer -> serverPlayer.getGameProfile().name()).toList() : Lists.newArrayList(this.server.getPlayerNames()); // Paper - Make CommandSourceStack respect hidden players
|
||||
+ return this.entity instanceof ServerPlayer sourcePlayer && !(sourcePlayer instanceof org.leavesmc.leaves.replay.ServerPhotographer) && !sourcePlayer.getBukkitEntity().hasPermission("paper.bypass-visibility.tab-completion") ? this.getServer().getPlayerList().getPlayers().stream().filter(serverPlayer -> sourcePlayer.getBukkitEntity().canSee(serverPlayer.getBukkitEntity())).map(serverPlayer -> serverPlayer.getGameProfile().getName()).toList() : Lists.newArrayList(this.server.getPlayerNames()); // Paper - Make CommandSourceStack respect hidden players // Leaves - only real player
|
||||
+ return this.entity instanceof ServerPlayer sourcePlayer && !(sourcePlayer instanceof org.leavesmc.leaves.replay.ServerPhotographer) && !sourcePlayer.getBukkitEntity().hasPermission("paper.bypass-visibility.tab-completion") ? this.getServer().getPlayerList().getPlayers().stream().filter(serverPlayer -> sourcePlayer.getBukkitEntity().canSee(serverPlayer.getBukkitEntity())).map(serverPlayer -> serverPlayer.getGameProfile().name()).toList() : Lists.newArrayList(this.server.getPlayerNames()); // Paper - Make CommandSourceStack respect hidden players // Leaves - only real player
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -265,21 +265,20 @@ index cfe62a56ce1b4222ed6d73fc6390b7726542a9cd..234478bca5f8b1ea768b487c943b44e0
|
||||
.map(Player::nameAndId)
|
||||
.filter(nameAndId -> !playerList.getWhiteList().isWhiteListed(nameAndId))
|
||||
diff --git a/net/minecraft/server/gui/PlayerListComponent.java b/net/minecraft/server/gui/PlayerListComponent.java
|
||||
index 5a8cd3e6b448a4472092690cf589bca10b142126..c9abb60b96e07fae86111be503bc49422ba92906 100644
|
||||
index 5a8cd3e6b448a4472092690cf589bca10b142126..8f22d5faf89006153b1fff4ff0b622f8de9fb588 100644
|
||||
--- a/net/minecraft/server/gui/PlayerListComponent.java
|
||||
+++ b/net/minecraft/server/gui/PlayerListComponent.java
|
||||
@@ -17,9 +17,8 @@ public class PlayerListComponent extends JList<String> {
|
||||
@@ -17,8 +17,8 @@ public class PlayerListComponent extends JList<String> {
|
||||
if (this.tickCount++ % 20 == 0) {
|
||||
Vector<String> list = new Vector<>();
|
||||
|
||||
- for (int i = 0; i < this.server.getPlayerList().getPlayers().size(); i++) {
|
||||
- list.add(this.server.getPlayerList().getPlayers().get(i).getGameProfile().name());
|
||||
- }
|
||||
+ for (int i = 0; i < this.server.getPlayerList().realPlayers.size(); i++) { // Leaves - only real players
|
||||
+ list.add(this.server.getPlayerList().realPlayers.get(i).getGameProfile().name()); // Leaves - only real players
|
||||
}
|
||||
|
||||
this.setListData(list);
|
||||
}
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index 5deab686b386e3b82205a828ae12a72cb0f2e6fb..0db088864eac6c65a78620953821a1280056a688 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -302,8 +301,21 @@ index 5deab686b386e3b82205a828ae12a72cb0f2e6fb..0db088864eac6c65a78620953821a128
|
||||
ServerLevel.this.realPlayers.remove(serverPlayer);
|
||||
}
|
||||
// Leaves end - skip
|
||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||
index 0981f5d07144f75148b035e41f82190d0cd6526a..13c6ed8e37875e1ae061cf0a55b05a7f10fa24e1 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -522,7 +522,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
// Paper start - Expand PlayerGameModeChangeEvent
|
||||
this.loadGameTypes(input);
|
||||
}
|
||||
- private void loadGameTypes(ValueInput input) {
|
||||
+ public void loadGameTypes(ValueInput input) { // Leaves - private -> public
|
||||
if (this.server.getForcedGameType() != null && this.server.getForcedGameType() != readPlayerMode(input, "playerGameType")) {
|
||||
if (new org.bukkit.event.player.PlayerGameModeChangeEvent(this.getBukkitEntity(), org.bukkit.GameMode.getByValue(this.server.getDefaultGameType().getId()), org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.DEFAULT_GAMEMODE, null).callEvent()) {
|
||||
this.gameMode.setGameModeForPlayer(this.server.getForcedGameType(), GameType.DEFAULT_MODE);
|
||||
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
||||
index 248c08b4f1dc6cf47ac311d5872ae56485e3b425..39e624aca0cc803b682ea8d2304dcd86480265bb 100644
|
||||
index 248c08b4f1dc6cf47ac311d5872ae56485e3b425..19c8b1a728c28ed6e325b0b5e3d4aec764b74f0b 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -125,6 +125,7 @@ public abstract class PlayerList {
|
||||
@@ -363,7 +375,7 @@ index 248c08b4f1dc6cf47ac311d5872ae56485e3b425..39e624aca0cc803b682ea8d2304dcd86
|
||||
+ this.playersByName.put(player.getScoreboardName().toLowerCase(java.util.Locale.ROOT), player); // Spigot
|
||||
+ this.playersByUUID.put(player.getUUID(), player);
|
||||
+
|
||||
+ player.supressTrackerForLogin = true;
|
||||
+ player.suppressTrackerForLogin = true;
|
||||
+ worldserver1.addNewPlayer(player);
|
||||
+ this.server.getCustomBossEvents().onPlayerConnect(player);
|
||||
+ org.bukkit.craftbukkit.entity.CraftPlayer bukkitPlayer = player.getBukkitEntity();
|
||||
@@ -409,7 +421,7 @@ index 248c08b4f1dc6cf47ac311d5872ae56485e3b425..39e624aca0cc803b682ea8d2304dcd86
|
||||
+ }
|
||||
+
|
||||
+ player.sentListPacket = true;
|
||||
+ player.supressTrackerForLogin = false;
|
||||
+ player.suppressTrackerForLogin = false;
|
||||
+ ((ServerLevel)player.level()).getChunkSource().chunkMap.addEntity(player);
|
||||
+
|
||||
+ this.sendLevelInfo(player, worldserver1);
|
||||
|
||||
@@ -4,28 +4,40 @@ Date: Tue, 5 Sep 2023 08:49:01 +0800
|
||||
Subject: [PATCH] Spider jockeys drop gapples
|
||||
|
||||
|
||||
diff --git a/net/minecraft/world/entity/monster/Creeper.java b/net/minecraft/world/entity/monster/Creeper.java
|
||||
index fccb328fbad2dafe1655acbcbca3e05d85864f23..ad72fbbf8fd27a7fc1e9dd599e8721bc4a7294ff 100644
|
||||
--- a/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -54,7 +54,7 @@ public class Creeper extends Monster {
|
||||
public int swell;
|
||||
public int maxSwell = 30;
|
||||
public int explosionRadius = 3;
|
||||
- private boolean droppedSkulls;
|
||||
+ public boolean droppedSkulls; // Leaves - private -> public
|
||||
public @Nullable Entity entityIgniter; // CraftBukkit
|
||||
|
||||
public Creeper(EntityType<? extends Creeper> entityType, Level level) {
|
||||
diff --git a/net/minecraft/world/entity/monster/Skeleton.java b/net/minecraft/world/entity/monster/Skeleton.java
|
||||
index 4eb35a7a2dfcb4803c00e1e9179fea8186b15d41..b81ca006d33f14faf54ecce3ad4c7d198b9794d0 100644
|
||||
index 4eb35a7a2dfcb4803c00e1e9179fea8186b15d41..7f564227fb022e38a28190683cf54406c764a06f 100644
|
||||
--- a/net/minecraft/world/entity/monster/Skeleton.java
|
||||
+++ b/net/minecraft/world/entity/monster/Skeleton.java
|
||||
@@ -129,4 +129,26 @@ public class Skeleton extends AbstractSkeleton {
|
||||
@@ -129,4 +129,25 @@ public class Skeleton extends AbstractSkeleton {
|
||||
SoundEvent getStepSound() {
|
||||
return SoundEvents.SKELETON_STEP;
|
||||
}
|
||||
+
|
||||
+
|
||||
+ // Leaves start - spider jockeys drop gapples
|
||||
+ @Override
|
||||
+ protected void dropCustomDeathLoot(ServerLevel level, DamageSource damageSource, boolean recentlyHit) {
|
||||
+ protected void dropCustomDeathLoot(net.minecraft.server.level.ServerLevel level, DamageSource damageSource, boolean recentlyHit) {
|
||||
+ super.dropCustomDeathLoot(level, damageSource, recentlyHit);
|
||||
+ if (damageSource.getEntity() instanceof Creeper creeper && creeper.canDropMobsSkull()) {
|
||||
+ creeper.increaseDroppedSkulls();
|
||||
+ this.spawnAtLocation(level, Items.SKELETON_SKULL);
|
||||
+ if (damageSource.getEntity() instanceof Creeper creeper && creeper.isPowered() && !creeper.droppedSkulls) {
|
||||
+ creeper.droppedSkulls = true;
|
||||
+ this.spawnAtLocation(level, net.minecraft.world.item.Items.SKELETON_SKULL);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // Leaves start - spider jockeys drop gapples
|
||||
+ @Override
|
||||
+ protected void dropFromLootTable(ServerLevel level, DamageSource damageSource, boolean causedByPlayer) {
|
||||
+ protected void dropFromLootTable(net.minecraft.server.level.ServerLevel level, DamageSource damageSource, boolean causedByPlayer) {
|
||||
+ super.dropFromLootTable(level, damageSource, causedByPlayer);
|
||||
+ if (org.leavesmc.leaves.LeavesConfig.modify.spiderJockeysDropGapples > 0.0D) {
|
||||
+ if (this.getRootVehicle().getType() == EntityType.SPIDER && this.random.nextDouble() < org.leavesmc.leaves.LeavesConfig.modify.spiderJockeysDropGapples) {
|
||||
|
||||
@@ -608,7 +608,7 @@ index 5c7638fed052d68023646b86d5f4bb5b3510b390..a646628fb486056ea631f22f54c03259
|
||||
+ // Leaves end - Lithium Sleeping Block Entity
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
|
||||
index 646d4c26870bb03f6d397b5e03ad97923d0928b2..77cfc97b3c8926b8126076f41c801c418f3b93fd 100644
|
||||
index 646d4c26870bb03f6d397b5e03ad97923d0928b2..6abdcd09c522b8278a381f08151c1a5fc33d1b2e 100644
|
||||
--- a/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
|
||||
+++ b/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
|
||||
@@ -39,7 +39,7 @@ import net.minecraft.world.level.storage.ValueInput;
|
||||
@@ -674,7 +674,7 @@ index 646d4c26870bb03f6d397b5e03ad97923d0928b2..77cfc97b3c8926b8126076f41c801c41
|
||||
+
|
||||
+ @Override
|
||||
+ public void lithium$handleSetChanged() {
|
||||
+ if (this.isSleeping() && this.level != null && !this.level.isClientSide) {
|
||||
+ if (this.isSleeping() && this.level != null && !this.level.isClientSide()) {
|
||||
+ this.wakeUpNow();
|
||||
+ }
|
||||
+ }
|
||||
@@ -1245,7 +1245,7 @@ index 6b05556a84ae6a8f08025439db29db207325bb7a..f02904e9be89dd4e6ee416d0d383b718
|
||||
+ @Override public boolean lithium$itemInsertionTestRequiresStackSize1() {return true;} // Leaves - Lithium Sleeping Block Entity
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/block/entity/CrafterBlockEntity.java b/net/minecraft/world/level/block/entity/CrafterBlockEntity.java
|
||||
index a631ad830d4820fbf983ef321b40f3192db4527f..6ecb54cbd7d57a9198e8b1273ee0cebb373a005d 100644
|
||||
index a631ad830d4820fbf983ef321b40f3192db4527f..8c515d1164fe62b13633d30894e8291cc242cbb3 100644
|
||||
--- a/net/minecraft/world/level/block/entity/CrafterBlockEntity.java
|
||||
+++ b/net/minecraft/world/level/block/entity/CrafterBlockEntity.java
|
||||
@@ -22,7 +22,7 @@ import net.minecraft.world.level.block.state.BlockState;
|
||||
@@ -1316,7 +1316,7 @@ index a631ad830d4820fbf983ef321b40f3192db4527f..6ecb54cbd7d57a9198e8b1273ee0cebb
|
||||
+
|
||||
+ @Override
|
||||
+ public void lithium$handleSetChanged() {
|
||||
+ if (this.isSleeping() && this.level != null && !this.level.isClientSide) {
|
||||
+ if (this.isSleeping() && this.level != null && !this.level.isClientSide()) {
|
||||
+ this.wakeUpNow();
|
||||
+ }
|
||||
+ }
|
||||
@@ -2344,7 +2344,7 @@ index 83a8dc51d0346fb5b28922e7b54d5ee58b315228..b67a1cacad31a93276988560ef03879a
|
||||
+ // Leaves end - Lithium Sleeping Block Entity
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/block/entity/ShulkerBoxBlockEntity.java b/net/minecraft/world/level/block/entity/ShulkerBoxBlockEntity.java
|
||||
index 034f01c0f8987fbfd32120c8186aa8c6f44eb81d..7b5518340aede4fe626c9aae0c5a301ab6522972 100644
|
||||
index 85ba7ef0c2e50269427e168336cf29f5375f731d..faf41dcb07f0259fde4098b39a149c273fcc9c80 100644
|
||||
--- a/net/minecraft/world/level/block/entity/ShulkerBoxBlockEntity.java
|
||||
+++ b/net/minecraft/world/level/block/entity/ShulkerBoxBlockEntity.java
|
||||
@@ -32,7 +32,7 @@ import net.minecraft.world.level.storage.ValueOutput;
|
||||
@@ -2442,7 +2442,7 @@ index 9542e5c9418d74f131f794687b6c8276159d8c3f..906d7f9fb9135205ae7099cb12a50300
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/level/chunk/LevelChunk.java b/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
index ff76f9ddc97c326bbe56a7ec138b11bf8e2d108d..7eb9d3e60869dbc8eafa6272c7e7bdcc2943b3ae 100644
|
||||
index e5175fe703a103f7056618ca6322624c7fd8ad95..faf16d133286fe10a46048e8cb750ccaef48d704 100644
|
||||
--- a/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
+++ b/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
@@ -932,12 +932,14 @@ public class LevelChunk extends ChunkAccess implements DebugValueSource, ca.spot
|
||||
|
||||
@@ -81,6 +81,8 @@ import java.util.Objects;
|
||||
import java.util.UUID;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import static net.minecraft.server.MinecraftServer.getServer;
|
||||
|
||||
public class ServerBot extends ServerPlayer {
|
||||
|
||||
private final List<ServerBotAction<?>> actions;
|
||||
@@ -199,7 +201,7 @@ public class ServerBot extends ServerPlayer {
|
||||
this.notSleepTicks = 0;
|
||||
}
|
||||
|
||||
if (!this.level().isClientSide && this.level().isBrightOutside()) {
|
||||
if (!this.level().isClientSide() && this.level().isBrightOutside()) {
|
||||
this.stopSleepInBed(false, true);
|
||||
}
|
||||
} else if (this.sleepCounter > 0) {
|
||||
@@ -212,7 +214,7 @@ public class ServerBot extends ServerPlayer {
|
||||
this.updateIsUnderwater();
|
||||
|
||||
if (this.getConfigValue(Configs.TICK_TYPE) == TickType.NETWORK) {
|
||||
this.getServer().scheduleOnMain(this::runAction);
|
||||
getServer().scheduleOnMain(this::runAction);
|
||||
}
|
||||
|
||||
this.livingEntityTick();
|
||||
@@ -350,7 +352,7 @@ public class ServerBot extends ServerPlayer {
|
||||
if (LeavesConfig.modify.fakeplayer.canOpenInventory) {
|
||||
if (player instanceof ServerPlayer player1 && player.getMainHandItem().isEmpty()) {
|
||||
BotInventoryOpenEvent event = new BotInventoryOpenEvent(this.getBukkitEntity(), player1.getBukkitEntity());
|
||||
this.getServer().server.getPluginManager().callEvent(event);
|
||||
getServer().server.getPluginManager().callEvent(event);
|
||||
if (!event.isCancelled()) {
|
||||
player.openMenu(new SimpleMenuProvider((i, inventory, p) -> ChestMenu.sixRows(i, inventory, this.container), this.getDisplayName()));
|
||||
return InteractionResult.SUCCESS;
|
||||
@@ -479,17 +481,17 @@ public class ServerBot extends ServerPlayer {
|
||||
}
|
||||
|
||||
public void renderInfo() {
|
||||
this.getServer().getPlayerList().getPlayers().forEach(this::sendPlayerInfo);
|
||||
getServer().getPlayerList().getPlayers().forEach(this::sendPlayerInfo);
|
||||
}
|
||||
|
||||
public void renderData() {
|
||||
this.getServer().getPlayerList().getPlayers().forEach(
|
||||
getServer().getPlayerList().getPlayers().forEach(
|
||||
player -> this.sendFakeDataIfNeed(player, false)
|
||||
);
|
||||
}
|
||||
|
||||
private void sendPacket(Packet<?> packet) {
|
||||
this.getServer().getPlayerList().getPlayers().forEach(player -> player.connection.send(packet));
|
||||
getServer().getPlayerList().getPlayers().forEach(player -> player.connection.send(packet));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -498,7 +500,7 @@ public class ServerBot extends ServerPlayer {
|
||||
Component defaultMessage = this.getCombatTracker().getDeathMessage();
|
||||
|
||||
BotDeathEvent event = new BotDeathEvent(this.getBukkitEntity(), PaperAdventure.asAdventure(defaultMessage), flag);
|
||||
this.getServer().server.getPluginManager().callEvent(event);
|
||||
getServer().server.getPluginManager().callEvent(event);
|
||||
|
||||
if (event.isCancelled()) {
|
||||
if (this.getHealth() <= 0) {
|
||||
@@ -511,15 +513,15 @@ public class ServerBot extends ServerPlayer {
|
||||
|
||||
net.kyori.adventure.text.Component deathMessage = event.deathMessage();
|
||||
if (event.isSendDeathMessage() && deathMessage != null && !deathMessage.equals(net.kyori.adventure.text.Component.empty())) {
|
||||
this.getServer().getPlayerList().broadcastSystemMessage(PaperAdventure.asVanilla(deathMessage), false);
|
||||
getServer().getPlayerList().broadcastSystemMessage(PaperAdventure.asVanilla(deathMessage), false);
|
||||
}
|
||||
|
||||
this.getServer().getBotList().removeBot(this, BotRemoveEvent.RemoveReason.DEATH, null, false);
|
||||
getServer().getBotList().removeBot(this, BotRemoveEvent.RemoveReason.DEATH, null, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean startRiding(@NotNull Entity vehicle, boolean force) {
|
||||
if (super.startRiding(vehicle, force)) {
|
||||
public boolean startRiding(@NotNull Entity vehicle, boolean force, boolean sendGameEvent) {
|
||||
if (super.startRiding(vehicle, force, sendGameEvent)) {
|
||||
if (vehicle.getControllingPassenger() == this) { // see net.minecraft.server.networkServerGamePacketListenerImpl#handleMoveVehicle
|
||||
this.setDeltaMovement(Vec3.ZERO);
|
||||
this.setYRot(vehicle.yRotO);
|
||||
|
||||
@@ -18,6 +18,8 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static net.minecraft.server.MinecraftServer.getServer;
|
||||
|
||||
public class ServerLookAction extends ServerBotAction<ServerLookAction> {
|
||||
|
||||
private static final Vector ZERO_VECTOR = new Vector(0, 0, 0);
|
||||
@@ -29,8 +31,8 @@ public class ServerLookAction extends ServerBotAction<ServerLookAction> {
|
||||
public ServerLookAction() {
|
||||
super("look", CommandArgument.of(CommandArgumentType.STRING, CommandArgumentType.DOUBLE, CommandArgumentType.DOUBLE), ServerLookAction::new);
|
||||
this.setSuggestion(0, (sender, arg) -> sender instanceof Player player ?
|
||||
Pair.of(Stream.concat(Arrays.stream(MinecraftServer.getServer().getPlayerNames()), Stream.of(DF.format(player.getX()))).toList(), "<Player>|<X>") :
|
||||
Pair.of(Stream.concat(Arrays.stream(MinecraftServer.getServer().getPlayerNames()), Stream.of("0")).toList(), "<Player>|<X>")
|
||||
Pair.of(Stream.concat(Arrays.stream(getServer().getPlayerNames()), Stream.of(DF.format(player.getX()))).toList(), "<Player>|<X>") :
|
||||
Pair.of(Stream.concat(Arrays.stream(getServer().getPlayerNames()), Stream.of("0")).toList(), "<Player>|<X>")
|
||||
);
|
||||
this.setSuggestion(1, (sender, arg) -> sender instanceof Player player ? Pair.of(List.of(DF.format(player.getY())), "<Y>") : Pair.of(List.of("0"), "<Y>"));
|
||||
this.setSuggestion(2, (sender, arg) -> sender instanceof Player player ? Pair.of(List.of(DF.format(player.getZ())), "<Z>") : Pair.of(List.of("0"), "<Z>"));
|
||||
@@ -90,7 +92,7 @@ public class ServerLookAction extends ServerBotAction<ServerLookAction> {
|
||||
@Override
|
||||
public void loadCommand(ServerPlayer player, @NotNull CommandArgumentResult result) {
|
||||
String nameOrX = result.readString(player.getScoreboardName());
|
||||
ServerPlayer player1 = player.getServer().getPlayerList().getPlayerByName(nameOrX);
|
||||
ServerPlayer player1 = getServer().getPlayerList().getPlayerByName(nameOrX);
|
||||
if (player1 != null) {
|
||||
this.setTarget(player1);
|
||||
return;
|
||||
|
||||
@@ -74,14 +74,14 @@ public class LeavesMinecraftSessionService extends PaperMinecraftSessionService
|
||||
final HasJoinedMinecraftServerResponse response = client.get(url, HasJoinedMinecraftServerResponse.class);
|
||||
if (response != null && response.id() != null) {
|
||||
if (LeavesConfig.mics.yggdrasil.loginProtect && cache != null) {
|
||||
if (!response.id().equals(cache.getId())) {
|
||||
if (!response.id().equals(cache.id())) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
final GameProfile result1 = new GameProfile(response.id(), profileName);
|
||||
if (response.properties() != null) {
|
||||
result1.getProperties().putAll(response.properties());
|
||||
result1.properties().putAll(response.properties());
|
||||
}
|
||||
|
||||
final Set<ProfileActionType> profileActions = response.profileActions().stream()
|
||||
|
||||
@@ -54,7 +54,7 @@ public class AppleSkinProtocol implements LeavesProtocol {
|
||||
|
||||
@ProtocolHandler.MinecraftRegister(onlyNamespace = true)
|
||||
public static void onPlayerSubscribed(@NotNull Context context, ResourceLocation id) {
|
||||
subscribedChannels.computeIfAbsent(context.profile().getId(), k -> new HashSet<>()).add(id.getPath());
|
||||
subscribedChannels.computeIfAbsent(context.profile().id(), k -> new HashSet<>()).add(id.getPath());
|
||||
}
|
||||
|
||||
@ProtocolHandler.Ticker
|
||||
|
||||
@@ -69,8 +69,8 @@ public class BBORProtocol implements LeavesProtocol {
|
||||
ServerLevel overworld = MinecraftServer.getServer().overworld();
|
||||
ProtocolUtils.sendBytebufPacket(player, INITIALIZE_CLIENT, buf -> {
|
||||
buf.writeLong(overworld.getSeed());
|
||||
buf.writeInt(overworld.levelData.getSpawnPos().getX());
|
||||
buf.writeInt(overworld.levelData.getSpawnPos().getZ());
|
||||
buf.writeInt(overworld.levelData.getRespawnData().pos().getX());
|
||||
buf.writeInt(overworld.levelData.getRespawnData().pos().getZ());
|
||||
});
|
||||
sendStructureList(player);
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ public class CommonUtil {
|
||||
return null;
|
||||
}
|
||||
Optional<GameProfile> optional = SkullBlockEntity.fetchGameProfile(String.valueOf(uuid)).getNow(Optional.empty());
|
||||
return optional.map(GameProfile::getName).orElse(null);
|
||||
return optional.map(GameProfile::name).orElse(null);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -164,7 +164,7 @@ public class ServuxHudDataProtocol implements LeavesProtocol {
|
||||
|
||||
private static void putWorldData(@NotNull CompoundTag metadata) {
|
||||
ServerLevel level = MinecraftServer.getServer().overworld();
|
||||
BlockPos spawnPos = level.levelData.getSpawnPos();
|
||||
BlockPos spawnPos = level.levelData.getRespawnData().pos();
|
||||
metadata.putInt("spawnPosX", spawnPos.getX());
|
||||
metadata.putInt("spawnPosY", spawnPos.getY());
|
||||
metadata.putInt("spawnPosZ", spawnPos.getZ());
|
||||
|
||||
@@ -35,6 +35,8 @@ import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import static net.minecraft.server.MinecraftServer.getServer;
|
||||
|
||||
// Powered by Servux(https://github.com/sakura-ryoko/servux)
|
||||
|
||||
@LeavesProtocol.Register(namespace = "servux")
|
||||
@@ -69,7 +71,7 @@ public class ServuxStructuresProtocol implements LeavesProtocol {
|
||||
|
||||
@ProtocolHandler.Ticker
|
||||
public static void tick() {
|
||||
MinecraftServer server = MinecraftServer.getServer();
|
||||
MinecraftServer server = getServer();
|
||||
int tickCounter = server.getTickCount();
|
||||
retainDistance = server.getPlayerList().getViewDistance() + 2;
|
||||
for (ServerPlayer player : players.values()) {
|
||||
@@ -79,8 +81,8 @@ public class ServuxStructuresProtocol implements LeavesProtocol {
|
||||
}
|
||||
|
||||
public static void onStartedWatchingChunk(ServerPlayer player, LevelChunk chunk) {
|
||||
MinecraftServer server = player.getServer();
|
||||
if (players.containsKey(player.getId()) && server != null) {
|
||||
MinecraftServer server = getServer();
|
||||
if (players.containsKey(player.getId())) {
|
||||
addChunkTimeoutIfHasReferences(player.getUUID(), chunk, server.getTickCount());
|
||||
}
|
||||
}
|
||||
@@ -119,7 +121,7 @@ public class ServuxStructuresProtocol implements LeavesProtocol {
|
||||
LeavesLogger.LOGGER.warning(player.getScoreboardName() + " re-register servux:structures");
|
||||
}
|
||||
|
||||
MinecraftServer server = MinecraftServer.getServer();
|
||||
MinecraftServer server = getServer();
|
||||
sendMetaData(player);
|
||||
initialSyncStructures(player, player.moonrise$getViewDistanceHolder().getViewDistances().sendViewDistance() + 2, server.getTickCount());
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ public class EntityUtils {
|
||||
Entity passenger = createEntityAndPassengersFromNBT(tagList.getCompoundOrEmpty(i), world);
|
||||
|
||||
if (passenger != null) {
|
||||
passenger.startRiding(entity, true);
|
||||
passenger.startRiding(entity, true, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ public class CommunicationManager implements LeavesProtocol {
|
||||
final VersionHandshakeServer hi = new VersionHandshakeServer(newPlayer);
|
||||
playerMap.put(newPlayer, player);
|
||||
final GameProfile profile = player.getGameProfile();
|
||||
SyncmaticaProtocol.getPlayerIdentifierProvider().updateName(profile.getId(), profile.getName());
|
||||
SyncmaticaProtocol.getPlayerIdentifierProvider().updateName(profile.id(), profile.name());
|
||||
startExchangeUnchecked(hi);
|
||||
}
|
||||
|
||||
@@ -149,7 +149,7 @@ public class CommunicationManager implements LeavesProtocol {
|
||||
final UUID placementId = packetBuf.readUUID();
|
||||
final ServerPlacement placement = SyncmaticaProtocol.getSyncmaticManager().getPlacement(placementId);
|
||||
if (placement != null) {
|
||||
if (!getGameProfile(source).getId().equals(placement.getOwner().uuid)) {
|
||||
if (!getGameProfile(source).id().equals(placement.getOwner().uuid)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ public class PlayerIdentifierProvider {
|
||||
}
|
||||
|
||||
public PlayerIdentifier createOrGet(final @NotNull GameProfile gameProfile) {
|
||||
return createOrGet(gameProfile.getId(), gameProfile.getName());
|
||||
return createOrGet(gameProfile.id(), gameProfile.name());
|
||||
}
|
||||
|
||||
public PlayerIdentifier createOrGet(final UUID uuid, final String playerName) {
|
||||
|
||||
@@ -24,6 +24,8 @@ import java.util.UUID;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
import static net.minecraft.server.MinecraftServer.getServer;
|
||||
|
||||
public class ServerPhotographer extends ServerPlayer {
|
||||
|
||||
private static final List<ServerPhotographer> photographers = new CopyOnWriteArrayList<>();
|
||||
@@ -49,7 +51,7 @@ public class ServerPhotographer extends ServerPlayer {
|
||||
throw new IllegalArgumentException(state.id + " is a invalid photographer id");
|
||||
}
|
||||
|
||||
MinecraftServer server = MinecraftServer.getServer();
|
||||
MinecraftServer server = getServer();
|
||||
|
||||
ServerLevel world = ((CraftWorld) state.loc.getWorld()).getHandle();
|
||||
GameProfile profile = new GameProfile(UUID.randomUUID(), state.id);
|
||||
@@ -62,7 +64,7 @@ public class ServerPhotographer extends ServerPlayer {
|
||||
photographer.createState = state;
|
||||
|
||||
photographer.recorder.start();
|
||||
MinecraftServer.getServer().getPlayerList().placeNewPhotographer(photographer.recorder, photographer, world);
|
||||
getServer().getPlayerList().placeNewPhotographer(photographer.recorder, photographer, world);
|
||||
photographer.level().chunkSource.move(photographer);
|
||||
photographer.setInvisible(true);
|
||||
photographers.add(photographer);
|
||||
@@ -79,7 +81,7 @@ public class ServerPhotographer extends ServerPlayer {
|
||||
this.lastPos = this.blockPosition();
|
||||
super.tick();
|
||||
|
||||
if (this.getServer().getTickCount() % 10 == 0) {
|
||||
if (getServer().getTickCount() % 10 == 0) {
|
||||
connection.resetPosition();
|
||||
this.level().chunkSource.move(this);
|
||||
}
|
||||
@@ -131,7 +133,7 @@ public class ServerPhotographer extends ServerPlayer {
|
||||
super.remove(RemovalReason.KILLED);
|
||||
photographers.remove(this);
|
||||
this.recorder.stop();
|
||||
this.getServer().getPlayerList().removePhotographer(this);
|
||||
getServer().getPlayerList().removePhotographer(this);
|
||||
|
||||
LeavesLogger.LOGGER.info("Photographer " + createState.id + " removed");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user