9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2025-12-26 02:19:23 +00:00

恢复方块基础设置

This commit is contained in:
XiaoMoMi
2025-09-28 05:30:26 +08:00
parent bb997cf5ba
commit 7300f0e278
10 changed files with 113 additions and 22 deletions

View File

@@ -6,7 +6,6 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
import it.unimi.dsi.fastutil.ints.IntArrayList;
import it.unimi.dsi.fastutil.objects.Reference2ObjectArrayMap;
import net.momirealms.craftengine.core.block.behavior.EntityBlockBehavior;
import net.momirealms.craftengine.core.block.entity.render.element.BlockEntityElement;
import net.momirealms.craftengine.core.block.entity.render.element.BlockEntityElementConfig;
@@ -14,7 +13,6 @@ import net.momirealms.craftengine.core.block.entity.render.element.BlockEntityEl
import net.momirealms.craftengine.core.block.parser.BlockNbtParser;
import net.momirealms.craftengine.core.block.properties.Properties;
import net.momirealms.craftengine.core.block.properties.Property;
import net.momirealms.craftengine.core.item.AbstractItemManager;
import net.momirealms.craftengine.core.loot.LootTable;
import net.momirealms.craftengine.core.pack.LoadingSequence;
import net.momirealms.craftengine.core.pack.Pack;
@@ -49,7 +47,6 @@ import java.nio.file.Path;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.function.Predicate;
public abstract class AbstractBlockManager extends AbstractModelGenerator implements BlockManager {
protected final BlockParser blockParser;
@@ -150,7 +147,7 @@ public abstract class AbstractBlockManager extends AbstractModelGenerator implem
return Optional.ofNullable(this.byId.get(id));
}
protected void addBlockInternal(CustomBlock customBlock) {
protected void addCustomBlock(CustomBlock customBlock) {
// 绑定外观状态等
for (ImmutableBlockState state : customBlock.variantProvider().states()) {
int internalId = state.customBlockState().registryId();
@@ -159,6 +156,7 @@ public abstract class AbstractBlockManager extends AbstractModelGenerator implem
this.immutableBlockStates[index] = state;
this.blockStateMappings[internalId] = appearanceId;
this.appearanceToRealState.computeIfAbsent(appearanceId, k -> new IntArrayList()).add(internalId);
this.applyPlatformSettings(state);
// generate mod assets
if (Config.generateModAssets()) {
this.modBlockStateOverrides.put(getBlockOwnerId(state.customBlockState()), this.tempVanillaBlockStateModels.get(appearanceId));
@@ -167,6 +165,8 @@ public abstract class AbstractBlockManager extends AbstractModelGenerator implem
this.byId.put(customBlock.id(), customBlock);
}
protected abstract void applyPlatformSettings(ImmutableBlockState state);
@Override
public ConfigParser[] parsers() {
return new ConfigParser[]{this.blockParser, this.blockStateMappingParser};
@@ -546,7 +546,7 @@ public abstract class AbstractBlockManager extends AbstractModelGenerator implem
}
// 添加方块
addBlockInternal(customBlock);
addCustomBlock(customBlock);
}, () -> GsonHelper.get().toJson(section)));
}

View File

@@ -8,9 +8,9 @@ public final class LoadingSequence {
public static final int GLOBAL_VAR = 10;
public static final int LANG = 20;
public static final int TRANSLATION = 30;
public static final int BLOCK = 40;
public static final int EQUIPMENT = 50;
public static final int ITEM = 60;
public static final int EQUIPMENT = 40;
public static final int ITEM = 50;
public static final int BLOCK = 60;
public static final int FURNITURE = 70;
public static final int IMAGE = 80;
public static final int RECIPE = 90;