9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2025-12-30 12:29:15 +00:00

增强访问权限管理

This commit is contained in:
XiaoMoMi
2025-06-01 23:31:45 +08:00
parent 68ee62ed5f
commit 3ece1a9bb4
4 changed files with 23 additions and 15 deletions

View File

@@ -91,8 +91,10 @@ public class BukkitBlockManager extends AbstractBlockManager {
this.blockParser = new BlockParser();
this.initVanillaRegistry();
this.loadMappingsAndAdditionalBlocks();
this.registerBlocks();
this.registerEmptyBlock();
if (!plugin.requiresRestart()) {
this.registerBlocks();
this.registerEmptyBlock();
}
}
@Override
@@ -718,7 +720,7 @@ public class BukkitBlockManager extends AbstractBlockManager {
Object blockHolder;
Object resourceLocation = createResourceLocation(realBlockKey);
if (plugin.hasMod()) {
if (this.plugin.hasMod()) {
newRealBlock = CoreReflections.method$Registry$get.invoke(MBuiltInRegistries.BLOCK, resourceLocation);
newBlockState = getOnlyBlockState(newRealBlock);
@@ -729,7 +731,7 @@ public class BukkitBlockManager extends AbstractBlockManager {
try {
newRealBlock = BlockGenerator.generateBlock(clientSideBlockType, clientSideBlock, blockProperties);
} catch (Throwable throwable) {
plugin.logger().warn("Failed to generate dynamic block class", throwable);
this.plugin.logger().warn("Failed to generate dynamic block class", throwable);
continue;
}

View File

@@ -74,12 +74,12 @@ public class BukkitCraftEngine extends CraftEngine {
private JavaPlugin javaPlugin;
private final Path dataFolderPath;
public BukkitCraftEngine(JavaPlugin plugin) {
protected BukkitCraftEngine(JavaPlugin plugin) {
this(new JavaPluginLogger(plugin.getLogger()), plugin.getDataFolder().toPath().toAbsolutePath(), new ReflectionClassPathAppender(plugin.getClass().getClassLoader()));
this.setJavaPlugin(plugin);
}
public BukkitCraftEngine(PluginLogger logger, Path dataFolderPath, ClassPathAppender classPathAppender) {
protected BukkitCraftEngine(PluginLogger logger, Path dataFolderPath, ClassPathAppender classPathAppender) {
super((p) -> {
CraftEngineReloadEvent event = new CraftEngineReloadEvent((BukkitCraftEngine) p);
EventUtils.fireAndForget(event);
@@ -128,6 +128,10 @@ public class BukkitCraftEngine extends CraftEngine {
@Override
public void onPluginLoad() {
if (super.blockManager == null) {
injectRegistries();
}
if (this.requiresRestart) return;
try {
WorldStorageInjector.init();
} catch (Exception e) {
@@ -172,7 +176,7 @@ public class BukkitCraftEngine extends CraftEngine {
return;
}
this.successfullyEnabled = true;
if (this.hasMod && this.requiresRestart) {
if (this.requiresRestart) {
logger().warn(" ");
logger().warn(" ");
logger().warn(" ");