9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2025-12-29 20:09:23 +00:00

feat: fix some error

This commit is contained in:
MC_XiaoHei
2025-09-25 23:00:48 +08:00
parent 43e2ac0845
commit b428557020
7 changed files with 51 additions and 14 deletions

View File

@@ -5,10 +5,44 @@ Subject: [PATCH] InstantBlockUpdater Reintroduced
This patch is Powered by Carpet-TIS-Addition(https://github.com/plusls/Carpet-TIS-Addition)
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index 99153cbb1de2d6de7289955b24d0e5fe633453d6..5b78140e59eaac82c444707e103d3d7fce303c27 100644
--- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java
@@ -864,12 +864,14 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// Paper - rewrite chunk system
profilerFiller.pop();
profilerFiller.push("debugSynchronizers");
- if (this.debugSynchronizers.hasAnySubscriberFor(DebugSubscriptions.NEIGHBOR_UPDATES)) {
- this.neighborUpdater
- .setDebugListener(blockPos -> this.debugSynchronizers.broadcastEventToTracking(blockPos, DebugSubscriptions.NEIGHBOR_UPDATES, blockPos));
- } else {
- this.neighborUpdater.setDebugListener(null);
- }
+ if (this.neighborUpdater instanceof net.minecraft.world.level.redstone.CollectingNeighborUpdater cnu) { // Leaves start - instantBlockUpdaterReintroduced
+ if (this.debugSynchronizers.hasAnySubscriberFor(DebugSubscriptions.NEIGHBOR_UPDATES)) {
+ cnu.setDebugListener(blockPos -> this.debugSynchronizers.broadcastEventToTracking(blockPos, DebugSubscriptions.NEIGHBOR_UPDATES, blockPos));
+ } else {
+ cnu.setDebugListener(null);
+ }
+ } // Leaves end - instantBlockUpdaterReintroduced
+
this.debugSynchronizers.tick(this.server.debugSubscribers());
profilerFiller.pop();
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
index b6ec576ecc6f7924ee5f039ddacaf7195f02fef7..2518ddaa6bd35e6df88ce74531b772a7a1017e66 100644
index b6ec576ecc6f7924ee5f039ddacaf7195f02fef7..70e67f6f8a6020b65b59d907bd0e335017fb04d0 100644
--- a/net/minecraft/world/level/Level.java
+++ b/net/minecraft/world/level/Level.java
@@ -112,7 +112,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
.add(new ExplosionParticleInfo(ParticleTypes.SMOKE, 1.0F, 1.0F))
.build();
public final List<TickingBlockEntity> blockEntityTickers = Lists.newArrayList();
- protected final CollectingNeighborUpdater neighborUpdater;
+ protected final net.minecraft.world.level.redstone.NeighborUpdater neighborUpdater; // Leaves - instantBlockUpdaterReintroduced
private final List<TickingBlockEntity> pendingBlockEntityTickers = Lists.newArrayList();
private boolean tickingBlockEntities;
public final Thread thread;
@@ -862,7 +862,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
this.thread = Thread.currentThread();
this.biomeManager = new BiomeManager(this, biomeZoomSeed);

View File

@@ -280,10 +280,10 @@ index 5a8cd3e6b448a4472092690cf589bca10b142126..8f22d5faf89006153b1fff4ff0b622f8
this.setListData(list);
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index 5deab686b386e3b82205a828ae12a72cb0f2e6fb..0db088864eac6c65a78620953821a1280056a688 100644
index 2192c0da514297ae32656e17f9aae4cfaea7afeb..215350f388d90159456154d5f970a6a89265ebc2 100644
--- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java
@@ -2761,7 +2761,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -2763,7 +2763,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
if (entity instanceof ServerPlayer serverPlayer) {
ServerLevel.this.players.add(serverPlayer);
// Leaves start - skip
@@ -292,7 +292,7 @@ index 5deab686b386e3b82205a828ae12a72cb0f2e6fb..0db088864eac6c65a78620953821a128
ServerLevel.this.realPlayers.add(serverPlayer);
}
// Leaves end - skip
@@ -2844,7 +2844,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -2846,7 +2846,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
if (entity instanceof ServerPlayer serverPlayer) {
ServerLevel.this.players.remove(serverPlayer);
// Leaves start - skip

View File

@@ -20,10 +20,10 @@ index 4257c47d33e3773fac766817138cc21c55d9ab76..8638f3f7aa853802a60ddeb681d089e0
+ // Leaves end - servux
}
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index 0db088864eac6c65a78620953821a1280056a688..ed939c8110dcccab67ffdf8a4aa1e63751d87953 100644
index 215350f388d90159456154d5f970a6a89265ebc2..00bbba8d3ab8cb1115c1d9a45b772b1d1f269067 100644
--- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java
@@ -2286,9 +2286,21 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -2288,9 +2288,21 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// Paper end
}

View File

@@ -86,10 +86,10 @@ index 3092454bf7071deca75fecfc203072593fe5c7e7..c20e12726a020429f36b9fbe0d6da2af
}
}
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index ed939c8110dcccab67ffdf8a4aa1e63751d87953..08515181573515577d4c5ce54624a747523358e3 100644
index 00bbba8d3ab8cb1115c1d9a45b772b1d1f269067..2809250537e98da463c6d67b7582973f26d6d544 100644
--- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java
@@ -2473,6 +2473,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -2475,6 +2475,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
for (TickingBlockEntity tickingBlockEntity : this.blockEntityTickers) {
BlockPos pos = tickingBlockEntity.getPos();
@@ -447,7 +447,7 @@ index 33df00727e42ee0728dfb6a8c0816395fab5d4a9..2dea299ef9e78f9be6137506f163cc38
+ // Leaves end - Lithium Sleeping Block Entity
}
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
index 06c90d5aa8e308f8931b5477e03ac94e3cfbe108..8133694148449924ab7c9d595a2e1f7213b0b000 100644
index a148ba8d5c2190945df1a80c7cd6c810b472d32e..a3250a549a4eddef4bacd91127408988b70bd94e 100644
--- a/net/minecraft/world/level/Level.java
+++ b/net/minecraft/world/level/Level.java
@@ -1177,6 +1177,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl

View File

@@ -13,6 +13,7 @@ import com.mojang.authlib.yggdrasil.response.HasJoinedMinecraftServerResponse;
import com.mojang.authlib.yggdrasil.response.ProfileAction;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.server.players.NameAndId;
import org.jetbrains.annotations.Nullable;
import org.leavesmc.leaves.LeavesConfig;
import org.leavesmc.leaves.bot.ServerBot;
@@ -63,9 +64,9 @@ public class LeavesMinecraftSessionService extends PaperMinecraftSessionService
arguments.put("ip", address.getHostAddress());
}
GameProfile cache = null;
NameAndId cache = null;
if (LeavesConfig.mics.yggdrasil.loginProtect) {
cache = MinecraftServer.getServer().services.profileCache().getProfileIfCached(profileName);
cache = MinecraftServer.getServer().services.nameToIdCache().getIfCached(profileName);
}
for (URL checkUrl : extraYggdrasilList) {

View File

@@ -13,6 +13,8 @@ import org.leavesmc.leaves.protocol.jade.accessor.BlockAccessor;
import org.leavesmc.leaves.protocol.jade.provider.ItemStorageProvider;
import org.leavesmc.leaves.protocol.jade.provider.StreamServerDataProvider;
import static net.minecraft.world.level.block.CampfireBlock.FACING;
public enum ChiseledBookshelfProvider implements StreamServerDataProvider<BlockAccessor, ItemStack> {
INSTANCE;
@@ -20,7 +22,7 @@ public enum ChiseledBookshelfProvider implements StreamServerDataProvider<BlockA
@Override
public @Nullable ItemStack streamData(@NotNull BlockAccessor accessor) {
int slot = ((ChiseledBookShelfBlock) accessor.getBlock()).getHitSlot(accessor.getHitResult(), accessor.getBlockState()).orElse(-1);
int slot = ((ChiseledBookShelfBlock) accessor.getBlock()).getHitSlot(accessor.getHitResult(), accessor.getBlockState().getValue(FACING)).orElse(-1);
if (slot == -1) {
return null;
}

View File

@@ -2,10 +2,10 @@ package org.leavesmc.leaves.protocol.jade.util;
import com.mojang.authlib.GameProfile;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.MinecraftServer;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.boss.EnderDragonPart;
import net.minecraft.world.entity.boss.enderdragon.EnderDragon;
import net.minecraft.world.level.block.entity.SkullBlockEntity;
import org.jetbrains.annotations.Nullable;
import org.leavesmc.leaves.LeavesLogger;
import org.leavesmc.leaves.protocol.jade.accessor.Accessor;
@@ -47,7 +47,7 @@ public class CommonUtil {
if (uuid == null) {
return null;
}
Optional<GameProfile> optional = SkullBlockEntity.fetchGameProfile(String.valueOf(uuid)).getNow(Optional.empty());
Optional<GameProfile> optional = MinecraftServer.getServer().services.profileResolver().fetchById(uuid);
return optional.map(GameProfile::name).orElse(null);
}