diff --git a/src/main/java/thaumicenergistics/ThaumicEnergistics.java b/src/main/java/thaumicenergistics/ThaumicEnergistics.java index 84b7b1e..a48f010 100644 --- a/src/main/java/thaumicenergistics/ThaumicEnergistics.java +++ b/src/main/java/thaumicenergistics/ThaumicEnergistics.java @@ -7,7 +7,6 @@ import appeng.api.stacks.AEKeyTypesInternal; import appeng.api.upgrades.Upgrades; import appeng.client.gui.style.StyleManager; import appeng.core.definitions.AEItems; -import appeng.core.localization.GuiText; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.player.Inventory; @@ -118,27 +117,30 @@ public final class ThaumicEnergistics { private void registerUpgrades(FMLCommonSetupEvent event) { event.enqueueWork(() -> { - String essentiaIoBusGroup = GuiText.IOBuses.getTranslationKey(); - + // 注:不传 group——带 group 会在卡 tooltip 中与 AE2 原版 IO 总线合并显示为 + // "ME Import/Export Bus"(同 group 跳过),ThE 设备名不显示。与存储总线一致,各自显示设备名。 var importBusItem = ModItems.ESSENTIA_IMPORT_BUS.get(); - Upgrades.add(AEItems.FUZZY_CARD, importBusItem, 1, essentiaIoBusGroup); - Upgrades.add(AEItems.REDSTONE_CARD, importBusItem, 1, essentiaIoBusGroup); - Upgrades.add(AEItems.CAPACITY_CARD, importBusItem, 5, essentiaIoBusGroup); - Upgrades.add(AEItems.SPEED_CARD, importBusItem, 4, essentiaIoBusGroup); - Upgrades.add(AEItems.INVERTER_CARD, importBusItem, 1, essentiaIoBusGroup); + Upgrades.add(AEItems.FUZZY_CARD, importBusItem, 1); + Upgrades.add(AEItems.REDSTONE_CARD, importBusItem, 1); + Upgrades.add(AEItems.CAPACITY_CARD, importBusItem, 5); + Upgrades.add(AEItems.SPEED_CARD, importBusItem, 4); + Upgrades.add(AEItems.INVERTER_CARD, importBusItem, 1); var exportBusItem = ModItems.ESSENTIA_EXPORT_BUS.get(); - Upgrades.add(AEItems.FUZZY_CARD, exportBusItem, 1, essentiaIoBusGroup); - Upgrades.add(AEItems.REDSTONE_CARD, exportBusItem, 1, essentiaIoBusGroup); - Upgrades.add(AEItems.CAPACITY_CARD, exportBusItem, 5, essentiaIoBusGroup); - Upgrades.add(AEItems.SPEED_CARD, exportBusItem, 4, essentiaIoBusGroup); - Upgrades.add(AEItems.CRAFTING_CARD, exportBusItem, 1, essentiaIoBusGroup); + Upgrades.add(AEItems.FUZZY_CARD, exportBusItem, 1); + Upgrades.add(AEItems.REDSTONE_CARD, exportBusItem, 1); + Upgrades.add(AEItems.CAPACITY_CARD, exportBusItem, 5); + Upgrades.add(AEItems.SPEED_CARD, exportBusItem, 4); + Upgrades.add(AEItems.CRAFTING_CARD, exportBusItem, 1); var storageBusItem = ModItems.ESSENTIA_STORAGE_BUS.get(); Upgrades.add(AEItems.FUZZY_CARD, storageBusItem, 1); Upgrades.add(AEItems.INVERTER_CARD, storageBusItem, 1); Upgrades.add(AEItems.CAPACITY_CARD, storageBusItem, 5); Upgrades.add(AEItems.VOID_CARD, storageBusItem, 1); + + // 神秘装配台:加速卡(AEItems.SPEED_CARD = Acceleration Card,tooltip 名单 + 装配台升级槽可装——加快合成) + Upgrades.add(AEItems.SPEED_CARD, ModItems.ARCANE_ASSEMBLER_ITEM.get(), 4); }); } diff --git a/src/main/java/thaumicenergistics/client/EssentiaKeyRenderHandler.java b/src/main/java/thaumicenergistics/client/EssentiaKeyRenderHandler.java index 8185824..ce90acc 100644 --- a/src/main/java/thaumicenergistics/client/EssentiaKeyRenderHandler.java +++ b/src/main/java/thaumicenergistics/client/EssentiaKeyRenderHandler.java @@ -7,6 +7,8 @@ import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.Level; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.client.gui.AspectGuiRenderer; import thaumicenergistics.common.integration.appeng.AEssentiaKey; import java.util.ArrayList; @@ -16,29 +18,13 @@ public class EssentiaKeyRenderHandler implements appeng.api.client.AEKeyRenderHa @Override public void drawInGui(Minecraft minecraft, GuiGraphics guiGraphics, int x, int y, AEssentiaKey stack) { + // 复用 TC 的 AspectGuiRenderer(positionTexColor shader + enableBlend)——透明背景正确, + // 与蒸馏编码台一致;避免 GuiGraphics.blit 的 blend 状态问题(图标内部镂空被填黑)。 String tag = stack.getId().getPath(); - // 渲染要素图标(透明背景):TC 的 aspect 图标是白色剪影,需用 aspect 颜色着色(与 JEI 的 AspectGuiRenderer 一致) - int color = getAspectColor(tag); - float r = ((color >> 16) & 0xFF) / 255.0f; - float g = ((color >> 8) & 0xFF) / 255.0f; - float b = (color & 0xFF) / 255.0f; - guiGraphics.setColor(r, g, b, 1.0f); - guiGraphics.blit(aspectTexture(tag), x, y, 0, 0, 16, 16, 16, 16); - guiGraphics.setColor(1.0f, 1.0f, 1.0f, 1.0f); - } - - /** 按 tag 缓存 aspect 贴图 RL,避免每帧 fromNamespaceAndPath。 */ - private static final java.util.Map TEXTURE_CACHE = new java.util.HashMap<>(); - - private static ResourceLocation aspectTexture(String tag) { - return TEXTURE_CACHE.computeIfAbsent(tag, - t -> ResourceLocation.fromNamespaceAndPath("thaumcraft", "textures/aspects/" + t + ".png")); - } - - /** 获取 aspect 的 ARGB 颜色(按 tag 查 Thaumcraft Aspect),未知返回白色。 */ - private static int getAspectColor(String tag) { - thaumcraft.api.aspects.Aspect aspect = thaumcraft.api.aspects.Aspect.getAspect(tag); - return aspect != null ? aspect.getColor() : 0xFFFFFFFF; + Aspect aspect = Aspect.getAspect(tag); + if (aspect != null) { + AspectGuiRenderer.draw(guiGraphics, aspect, x, y, 16, 1.0f); + } } @Override diff --git a/src/main/java/thaumicenergistics/common/container/ContainerArcaneAssembler.java b/src/main/java/thaumicenergistics/common/container/ContainerArcaneAssembler.java index 5a0ad5a..2f577ed 100644 --- a/src/main/java/thaumicenergistics/common/container/ContainerArcaneAssembler.java +++ b/src/main/java/thaumicenergistics/common/container/ContainerArcaneAssembler.java @@ -32,7 +32,7 @@ public class ContainerArcaneAssembler extends AbstractContainerMenu { // ===== 坐标常量(1:1 对应1.7.10) ===== private static final int PLAYER_INV_X = 8; - private static final int PLAYER_INV_Y = 115; + private static final int PLAYER_INV_Y = 113; private static final int HOTBAR_Y = PLAYER_INV_Y + 58; // 173 private static final int PATTERN_X = 26; diff --git a/src/main/java/thaumicenergistics/common/container/ContainerDistillationPatternEncoder.java b/src/main/java/thaumicenergistics/common/container/ContainerDistillationPatternEncoder.java index 7728efe..12b0f18 100644 --- a/src/main/java/thaumicenergistics/common/container/ContainerDistillationPatternEncoder.java +++ b/src/main/java/thaumicenergistics/common/container/ContainerDistillationPatternEncoder.java @@ -29,8 +29,8 @@ import java.util.List; public class ContainerDistillationPatternEncoder extends AbstractContainerMenu { - private static final int PLAYER_INV_Y = 152; - private static final int HOTBAR_Y = 210; + private static final int PLAYER_INV_Y = 150; + private static final int HOTBAR_Y = 208; private static final int PLAYER_INV_X = 8; private static final int SLOT_SOURCE_X = 15; diff --git a/src/main/java/thaumicenergistics/common/container/ContainerEssentiaCellWorkbench.java b/src/main/java/thaumicenergistics/common/container/ContainerEssentiaCellWorkbench.java index ba4267e..2708187 100644 --- a/src/main/java/thaumicenergistics/common/container/ContainerEssentiaCellWorkbench.java +++ b/src/main/java/thaumicenergistics/common/container/ContainerEssentiaCellWorkbench.java @@ -48,8 +48,8 @@ public class ContainerEssentiaCellWorkbench extends AbstractContainerMenu { IItemHandler cellHandler = workbench != null ? workbench.getCellInventory() : fallbackCell; addSlot(new SlotItemHandler(cellHandler, 0, 152, 8)); - for (int r = 0; r < 3; r++) for (int c = 0; c < 9; c++) addSlot(new Slot(inv, c + r * 9 + 9, 8 + c * 18, 169 + r * 18)); - for (int c = 0; c < 9; c++) addSlot(new Slot(inv, c, 8 + c * 18, 227)); + for (int r = 0; r < 3; r++) for (int c = 0; c < 9; c++) addSlot(new Slot(inv, c + r * 9 + 9, 8 + c * 18, 167 + r * 18)); + for (int c = 0; c < 9; c++) addSlot(new Slot(inv, c, 8 + c * 18, 225)); } /** 客户端打开菜单用(IMenuTypeExtension 注册);workbench 为 null,分区操作走 C2S 到服务端。 */ diff --git a/src/main/java/thaumicenergistics/common/container/ContainerKnowledgeInscriber.java b/src/main/java/thaumicenergistics/common/container/ContainerKnowledgeInscriber.java index 513453c..60b6074 100644 --- a/src/main/java/thaumicenergistics/common/container/ContainerKnowledgeInscriber.java +++ b/src/main/java/thaumicenergistics/common/container/ContainerKnowledgeInscriber.java @@ -45,8 +45,8 @@ public class ContainerKnowledgeInscriber extends AbstractContainerMenu { private static final int MAXIMUM_PATTERNS = HandlerKnowledgeCore.MAXIMUM_STORED_PATTERNS; - private static final int PLAYER_INV_Y = 162; - private static final int HOTBAR_Y = 220; + private static final int PLAYER_INV_Y = 160; + private static final int HOTBAR_Y = 218; private static final int PLAYER_INV_X = 8; private static final int KCORE_SLOT_X = 186; diff --git a/src/main/java/thaumicenergistics/common/container/GuiEssentiaCellWorkbench.java b/src/main/java/thaumicenergistics/common/container/GuiEssentiaCellWorkbench.java index 6d3053f..533582b 100644 --- a/src/main/java/thaumicenergistics/common/container/GuiEssentiaCellWorkbench.java +++ b/src/main/java/thaumicenergistics/common/container/GuiEssentiaCellWorkbench.java @@ -25,7 +25,7 @@ public class GuiEssentiaCellWorkbench extends AbstractContainerScreen WISP_ESSENCES = tag("thaumicenergistics", "wisp_essences"); @@ -62,9 +64,21 @@ public final class RecipeRegistration { registerShapedArcane(); registerShapelessArcane(); registerInfusion(); + registerCrucible(); ThaumicEnergistics.LOG.info("ThaumicEnergistics recipes registered."); } + /** 坩埚炼金配方:赛特斯石英复制(丢 1 赛特斯石英 + 水晶/交换要素 → 2 赛特斯石英)。 */ + private static void registerCrucible() { + ItemStack quartz = ae("certus_quartz_crystal"); + if (quartz.isEmpty()) return; + CERTUS_DUPE_RECIPE = ThaumcraftApi.addCrucibleRecipe( + "CERTUS_DUPE", + quartz.copyWithCount(2), + quartz.copyWithCount(1), + new AspectList().add(Aspect.CRYSTAL, 5).add(Aspect.EXCHANGE, 5)); + } + private static void registerShapedArcane() { STORAGE_COMPONENT_1K = ThaumcraftApi.addArcaneCraftingRecipe("ESSENTIASTORAGE1K", stack(ModItems.STORAGE_COMPONENT_1K), new AspectList().add(Aspect.FIRE, 3).add(Aspect.ORDER, 1), diff --git a/src/main/java/thaumicenergistics/common/integration/tc/TCReflection.java b/src/main/java/thaumicenergistics/common/integration/tc/TCReflection.java index 1e4d2e3..12d548e 100644 --- a/src/main/java/thaumicenergistics/common/integration/tc/TCReflection.java +++ b/src/main/java/thaumicenergistics/common/integration/tc/TCReflection.java @@ -4,13 +4,14 @@ import java.util.Locale; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +import net.minecraft.core.Direction; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.entity.BlockEntity; import org.jetbrains.annotations.Nullable; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; import thaumcraft.api.aspects.IAspectContainer; -import thaumicenergistics.ThaumicEnergistics; +import thaumcraft.common.essentia.EssentiaTransport; import thaumicenergistics.api.storage.AspectStack; public final class TCReflection { @@ -18,16 +19,69 @@ public final class TCReflection { /** aspect tag → ResourceLocation 缓存(tag 有界:6 个源质 + 已注册方面)。 */ private static final Map ASPECT_ID_CACHE = new ConcurrentHashMap<>(); + /** 荒古炼金炉类名(TC port;不实现 IAspectContainer,需反射抽内部源质)。 */ + private static final String FURNACE_CLASS_NAME = "thaumcraft.common.blockentities.AlchemicalFurnaceBlockEntity"; + /** 炼金炉 private aspects 字段(缓存 Field 避免每 tick getDeclaredField)。 */ + private static volatile java.lang.reflect.Field furnaceAspectsField; + private TCReflection() {} + /** 从荒古炼金炉内部源质缓存直接抽取(替代蒸馏釜/罐子中转)。 */ + @Nullable + private static AspectStack extractFromFurnace(BlockEntity be, int maxAmount) { + try { + if (furnaceAspectsField == null) { + furnaceAspectsField = be.getClass().getDeclaredField("aspects"); + furnaceAspectsField.setAccessible(true); + } + AspectList furnaceAspects = (AspectList) furnaceAspectsField.get(be); + if (furnaceAspects != null && furnaceAspects.size() > 0) { + Aspect[] aspects = furnaceAspects.getAspects(); + for (Aspect aspect : aspects) { + if (aspect == null) continue; + int amt = furnaceAspects.getAmount(aspect); + if (amt <= 0) continue; + int toExtract = Math.min(amt, maxAmount); + furnaceAspects.remove(aspect, toExtract); + be.setChanged(); + ResourceLocation id = getAspectId(aspect); + return id != null ? new AspectStack(id, toExtract) : null; + } + } + } catch (Exception ignored) { + } + return null; + } + @Nullable public static AspectStack extractEssentia(@Nullable BlockEntity be, int maxAmount) { if (be == null) { - ThaumicEnergistics.LOG.debug("[TCReflection] extractEssentia: be is null"); return null; } + // ===== 路径0: 荒古炼金炉直连(AlchemicalFurnaceBlockEntity 不实现 IAspectContainer, + // 源质在 private aspects 缓存——直接抽取,替代"必须经蒸馏釜/罐子")===== + if (FURNACE_CLASS_NAME.equals(be.getClass().getName())) { + AspectStack fromFurnace = extractFromFurnace(be, maxAmount); + if (fromFurnace != null) return fromFurnace; + } + // ===== 路径0b: TC 管道接口(EssentiaTransport——高级荒古炼金炉喷嘴/源质管道)===== + if (be instanceof EssentiaTransport transport) { + for (Direction face : Direction.values()) { + if (!transport.canOutputTo(face)) continue; + Aspect aspect = transport.getEssentiaType(face); + if (aspect == null) continue; + int amount = transport.getEssentiaAmount(face); + if (amount <= 0) continue; + int toExtract = Math.min(amount, maxAmount); + int taken = transport.takeEssentia(aspect, toExtract, face); + if (taken > 0) { + be.setChanged(); + ResourceLocation id = getAspectId(aspect); + return id != null ? new AspectStack(id, taken) : null; + } + } + } if (!(be instanceof IAspectContainer container)) { - ThaumicEnergistics.LOG.debug("[TCReflection] extractEssentia: {} does not implement IAspectContainer", be.getClass().getName()); return null; } @@ -36,7 +90,6 @@ public final class TCReflection { if (aspectList != null && aspectList.size() > 0) { Aspect[] aspects = aspectList.getAspects(); if (aspects != null) { - ThaumicEnergistics.LOG.debug("[TCReflection] extractEssentia: found {} aspects via getAspects()", aspects.length); for (Aspect aspect : aspects) { if (aspect == null) continue; int amt = aspectList.getAmount(aspect); @@ -45,7 +98,6 @@ public final class TCReflection { if (container.takeFromContainer(aspect, toExtract)) { be.setChanged(); ResourceLocation id = getAspectId(aspect); - ThaumicEnergistics.LOG.debug("[TCReflection] extractEssentia: SUCCESS (API) - extracted {} of {}", toExtract, id); return id != null ? new AspectStack(id, toExtract) : null; } } @@ -53,7 +105,6 @@ public final class TCReflection { } // ===== 路径B: TC 移植版反射回退 (getAspect/getAmount) ===== - ThaumicEnergistics.LOG.debug("[TCReflection] extractEssentia: getAspects() empty, trying reflection fallback for {}", be.getClass().getName()); try { java.lang.reflect.Method[] methods = getAspectMethods(be.getClass()); if (methods.length < 2) { @@ -66,18 +117,12 @@ public final class TCReflection { if (container.takeFromContainer(aspect, toExtract)) { be.setChanged(); ResourceLocation id = getAspectId(aspect); - ThaumicEnergistics.LOG.debug("[TCReflection] extractEssentia: SUCCESS (reflection) - extracted {} of {}", toExtract, id); return id != null ? new AspectStack(id, toExtract) : null; } - ThaumicEnergistics.LOG.debug("[TCReflection] extractEssentia: takeFromContainer returned false for {} of {}", toExtract, aspect.getTag()); - } else { - ThaumicEnergistics.LOG.debug("[TCReflection] extractEssentia: reflection got aspect={}, amount={}", aspect, amount); } - } catch (Exception e) { - ThaumicEnergistics.LOG.debug("[TCReflection] extractEssentia: reflection fallback error: {}", e.getMessage()); + } catch (Exception ignored) { } - ThaumicEnergistics.LOG.debug("[TCReflection] extractEssentia: no extractable aspect found"); return null; } @@ -96,10 +141,8 @@ public final class TCReflection { Aspect aspect = findAspectById(stack.aspectId()); if (aspect == null) return 0; int toInsert = (int) stack.amount(); - ThaumicEnergistics.LOG.debug("[TCReflection] insertEssentia: inserting {} of {} into {}", toInsert, stack.aspectId(), be.getClass().getName()); int leftover = container.addToContainer(aspect, toInsert); int added = toInsert - leftover; - ThaumicEnergistics.LOG.debug("[TCReflection] insertEssentia: added={}, leftover={}", added, leftover); if (added > 0) { be.setChanged(); } diff --git a/src/main/java/thaumicenergistics/common/integration/tc/ThEThaumcraft.java b/src/main/java/thaumicenergistics/common/integration/tc/ThEThaumcraft.java index bef5fdc..5e78263 100644 --- a/src/main/java/thaumicenergistics/common/integration/tc/ThEThaumcraft.java +++ b/src/main/java/thaumicenergistics/common/integration/tc/ThEThaumcraft.java @@ -58,7 +58,7 @@ public final class ThEThaumcraft { ResearchCategories.registerCategory(TAB, ResourceLocation.fromNamespaceAndPath(MODID, "textures/research/tab_icon.png"), - ResourceLocation.fromNamespaceAndPath("thaumcraft", "textures/gui/gui_researchback.png")); + ResourceLocation.fromNamespaceAndPath(MODID, "textures/research/research_background.png")); registerScanEvent(); @@ -346,7 +346,9 @@ public final class ThEThaumcraft { new AspectList().add(Aspect.CRYSTAL, 5).add(Aspect.MAGIC, 5).add(Aspect.EXCHANGE, 5), -5, -5, 2, new ItemStack(appeng.core.definitions.AEItems.CERTUS_QUARTZ_CRYSTAL.asItem())) .setRound().setParents("PSEUDO_ALCHEMICALDUPLICATION").setParentsHidden("BASEENERGISTICS") - .setPages(new ResearchPage("tc.research_text.CERTUS_DUPE")) + .setPages( + new ResearchPage("tc.research_text.CERTUS_DUPE"), + new ResearchPage(RecipeRegistration.CERTUS_DUPE_RECIPE)) .registerResearchItem(); } diff --git a/src/main/java/thaumicenergistics/common/parts/EssentiaExportBusPart.java b/src/main/java/thaumicenergistics/common/parts/EssentiaExportBusPart.java index 6a855e0..0692822 100644 --- a/src/main/java/thaumicenergistics/common/parts/EssentiaExportBusPart.java +++ b/src/main/java/thaumicenergistics/common/parts/EssentiaExportBusPart.java @@ -83,9 +83,10 @@ public class EssentiaExportBusPart extends IOBusPart @Override public void getBoxes(IPartCollisionHelper bch) { - bch.addBox(6, 6, 11, 10, 10, 13); - bch.addBox(5, 5, 13, 11, 11, 14); - bch.addBox(4, 4, 14, 12, 12, 16); + bch.addBox(4, 4, 12, 12, 12, 14); + bch.addBox(5, 5, 14, 11, 11, 15); + bch.addBox(6, 6, 15, 10, 10, 16); + bch.addBox(6, 6, 11, 10, 10, 12); } @Override diff --git a/src/main/java/thaumicenergistics/init/ModBlocks.java b/src/main/java/thaumicenergistics/init/ModBlocks.java index ed84eb3..4069d24 100644 --- a/src/main/java/thaumicenergistics/init/ModBlocks.java +++ b/src/main/java/thaumicenergistics/init/ModBlocks.java @@ -20,10 +20,12 @@ public final class ModBlocks { private ModBlocks() {} public static final DeferredRegister.Blocks REGISTRY = DeferredRegister.createBlocks(ThaumicEnergistics.MODID); private static final BlockBehaviour.Properties P = BlockBehaviour.Properties.of().mapColor(MapColor.STONE).strength(2f).sound(SoundType.STONE); + /** 装配器专用:noOcclusion——玻璃方块不被视为不透明,相邻方块(如冰/半透明)接触面不被剔除,透明玻璃后可正常看到后方方块。 */ + private static final BlockBehaviour.Properties PA = P.noOcclusion(); public static final DeferredBlock ESSENTIA_PROVIDER = REGISTRY.register("essentia_provider", () -> new ThEBaseEntityBlock(P) { public net.minecraft.world.level.block.entity.BlockEntity newBlockEntity(BlockPos pos, BlockState st) { return new TileEssentiaProvider(pos, st); } }); public static final DeferredBlock INFUSION_PROVIDER = REGISTRY.register("infusion_provider", () -> new ThEBaseEntityBlock(P) { public net.minecraft.world.level.block.entity.BlockEntity newBlockEntity(BlockPos pos, BlockState st) { return new TileInfusionProvider(pos, st); } }); - public static final DeferredBlock ARCANE_ASSEMBLER = REGISTRY.register("arcane_assembler", () -> new ThEBaseEntityBlock(P) { + public static final DeferredBlock ARCANE_ASSEMBLER = REGISTRY.register("arcane_assembler", () -> new ThEBaseEntityBlock(PA) { public net.minecraft.world.level.block.entity.BlockEntity newBlockEntity(BlockPos pos, BlockState st) { return new TileArcaneAssembler(pos, st); } @Override protected net.minecraft.world.ItemInteractionResult useItemOn(net.minecraft.world.item.ItemStack stack, BlockState state, net.minecraft.world.level.Level level, BlockPos pos, net.minecraft.world.entity.player.Player player, net.minecraft.world.InteractionHand hand, net.minecraft.world.phys.BlockHitResult hit) { @@ -53,6 +55,14 @@ public final class ModBlocks { public static final DeferredBlock KNOWLEDGE_INSCRIBER = REGISTRY.register("knowledge_inscriber", () -> new ThEBaseEntityBlock(P) { public net.minecraft.world.level.block.entity.BlockEntity newBlockEntity(BlockPos pos, BlockState st) { return new TileKnowledgeInscriber(pos, st); } @Override + protected void createBlockStateDefinition(net.minecraft.world.level.block.state.StateDefinition.Builder builder) { + builder.add(OrientableEntityBlock.FACING); + } + @Override + public BlockState getStateForPlacement(net.minecraft.world.item.context.BlockPlaceContext context) { + return this.defaultBlockState().setValue(OrientableEntityBlock.FACING, context.getHorizontalDirection().getOpposite()); + } + @Override protected net.minecraft.world.ItemInteractionResult useItemOn(net.minecraft.world.item.ItemStack stack, BlockState state, net.minecraft.world.level.Level level, BlockPos pos, net.minecraft.world.entity.player.Player player, net.minecraft.world.InteractionHand hand, net.minecraft.world.phys.BlockHitResult hit) { if (!level.isClientSide) player.openMenu(state.getMenuProvider(level, pos)); return net.minecraft.world.ItemInteractionResult.SUCCESS; @@ -68,6 +78,14 @@ public final class ModBlocks { public static final DeferredBlock DISTILLATION_ENCODER = REGISTRY.register("distillation_encoder", () -> new ThEBaseEntityBlock(P) { public net.minecraft.world.level.block.entity.BlockEntity newBlockEntity(BlockPos pos, BlockState st) { return new TileDistillationPatternEncoder(pos, st); } @Override + protected void createBlockStateDefinition(net.minecraft.world.level.block.state.StateDefinition.Builder builder) { + builder.add(OrientableEntityBlock.FACING); + } + @Override + public BlockState getStateForPlacement(net.minecraft.world.item.context.BlockPlaceContext context) { + return this.defaultBlockState().setValue(OrientableEntityBlock.FACING, context.getHorizontalDirection().getOpposite()); + } + @Override protected net.minecraft.world.ItemInteractionResult useItemOn(net.minecraft.world.item.ItemStack stack, BlockState state, net.minecraft.world.level.Level level, BlockPos pos, net.minecraft.world.entity.player.Player player, net.minecraft.world.InteractionHand hand, net.minecraft.world.phys.BlockHitResult hit) { if (!level.isClientSide) player.openMenu(state.getMenuProvider(level, pos)); return net.minecraft.world.ItemInteractionResult.SUCCESS; diff --git a/src/main/resources/assets/thaumicenergistics/blockstates/distillation_encoder.json b/src/main/resources/assets/thaumicenergistics/blockstates/distillation_encoder.json index 45b413e..34a46fb 100644 --- a/src/main/resources/assets/thaumicenergistics/blockstates/distillation_encoder.json +++ b/src/main/resources/assets/thaumicenergistics/blockstates/distillation_encoder.json @@ -1 +1,6 @@ -{"variants":{"":{"model":"thaumicenergistics:block/distillation_encoder"}}} +{"variants":{ + "facing=north": {"model": "thaumicenergistics:block/distillation_encoder"}, + "facing=south": {"model": "thaumicenergistics:block/distillation_encoder", "y": 180}, + "facing=west": {"model": "thaumicenergistics:block/distillation_encoder", "y": 270}, + "facing=east": {"model": "thaumicenergistics:block/distillation_encoder", "y": 90} +}} diff --git a/src/main/resources/assets/thaumicenergistics/blockstates/knowledge_inscriber.json b/src/main/resources/assets/thaumicenergistics/blockstates/knowledge_inscriber.json index ea2f98f..c1cc3b4 100644 --- a/src/main/resources/assets/thaumicenergistics/blockstates/knowledge_inscriber.json +++ b/src/main/resources/assets/thaumicenergistics/blockstates/knowledge_inscriber.json @@ -1 +1,6 @@ -{"variants":{"":{"model":"thaumicenergistics:block/knowledge_inscriber"}}} +{"variants":{ + "facing=north": {"model": "thaumicenergistics:block/knowledge_inscriber"}, + "facing=south": {"model": "thaumicenergistics:block/knowledge_inscriber", "y": 180}, + "facing=west": {"model": "thaumicenergistics:block/knowledge_inscriber", "y": 270}, + "facing=east": {"model": "thaumicenergistics:block/knowledge_inscriber", "y": 90} +}} diff --git a/src/main/resources/assets/thaumicenergistics/lang/en_us.json b/src/main/resources/assets/thaumicenergistics/lang/en_us.json index 15959c4..85af40b 100644 --- a/src/main/resources/assets/thaumicenergistics/lang/en_us.json +++ b/src/main/resources/assets/thaumicenergistics/lang/en_us.json @@ -40,7 +40,7 @@ "ae2.keytype.thaumicenergistics.essentia": "Essentia", "tc.research_category.THAUMICENERGISTICS": "Thaumic Energistics", "tc.research_name.BASEENERGISTICS": "Basic Energistics", - "tc.research_text.BASEENERGISTICS": "You have discovered a curious resonance between AE2's mechanical networks and Thaumaturgy. The precision of AE devices seems capable of sensing and manipulating essentia, that mysterious form of matter.", + "tc.research_text.BASEENERGISTICS": "You have discovered a curious resonance between AE2's mechanical networks and Thaumaturgy. The precision of AE devices seems capable of sensing and manipulating essentia, that mysterious form of matter. High version materials are created by §§b§l麦淇淋§r.", "tc.research_name.FOCUS_AEWRENCH": "Focus: AE Wrench", "tc.research_text.FOCUS_AEWRENCH": "By condensing the functionality of an AE wrench into a wand focus, you can manipulate AE network devices without switching tools.", "tc.research_name.DIGISENTIA": "Digitized Essentia", diff --git a/src/main/resources/assets/thaumicenergistics/lang/zh_cn.json b/src/main/resources/assets/thaumicenergistics/lang/zh_cn.json index 4ab0eca..24df856 100644 --- a/src/main/resources/assets/thaumicenergistics/lang/zh_cn.json +++ b/src/main/resources/assets/thaumicenergistics/lang/zh_cn.json @@ -28,6 +28,7 @@ "item.thaumicenergistics.essentia_storage_bus": "源质存储总线", "item.thaumicenergistics.essentia_terminal": "源质终端", "item.thaumicenergistics.arcane_crafting_terminal": "奥术合成终端", +"gui.thaumicenergistics.ArcaneCraftingTerminal": "奥术合成终端", "item.thaumicenergistics.essentia_level_emitter": "源质发信器", "item.thaumicenergistics.vis_interface": "要素中继接口", "tooltip.thaumicenergistics.essentia_import_bus.desc": "从相邻的源质容器抽取源质导入ME网络", @@ -43,7 +44,7 @@ "tc.research_category.THAUMICENERGISTICS": "神秘能源", "tc.research_name.BASEENERGISTICS": "基础能源学", - "tc.research_text.BASEENERGISTICS": "你发现AE2的机械网络与神秘学之间存在奇妙的共鸣。精密的AE设备似乎能够感知并操控源质这种神秘的物质形态。", + "tc.research_text.BASEENERGISTICS": "你发现AE2的机械网络与神秘学之间存在奇妙的共鸣。精密的AE设备似乎能够感知并操控源质这种神秘的物质形态。高版本材质由§b§l麦淇淋§r制作。", "tc.research_name.FOCUS_AEWRENCH": "法杖核心:AE扳手", "tc.research_text.FOCUS_AEWRENCH": "将AE扳手的功能凝聚到法杖核心中,让你无需切换工具即可操控AE网络设备。", diff --git a/src/main/resources/assets/thaumicenergistics/models/block/arcane_assembler.json b/src/main/resources/assets/thaumicenergistics/models/block/arcane_assembler.json index d4b7f52..46980a4 100644 --- a/src/main/resources/assets/thaumicenergistics/models/block/arcane_assembler.json +++ b/src/main/resources/assets/thaumicenergistics/models/block/arcane_assembler.json @@ -1 +1,177 @@ -{"parent":"minecraft:block/cube_all","textures":{"all":"thaumicenergistics:block/arcane_assembler_fallback"}} +{ + "format_version": "1.9.0", + "credit": "Made with _leng", + "texture_size": [64, 64], + "render_type": "cutout", + "textures": { + "model": "thaumicenergistics:block/arcane_assembler_fallback", + "particle": "ae2:block/molecular_assembler" + }, + "elements": [ + { + "from": [14, 0.02, 0], + "to": [15, 15.98, 16], + "faces": { + "north": {"uv": [5.5, 3, 5.75, 7], "texture": "#model", "cullface": "north"}, + "east": {"uv": [0, 0, 4, 4], "texture": "#model"}, + "south": {"uv": [5.75, 3, 6, 7], "texture": "#model", "cullface": "south"}, + "west": {"uv": [0, 4, 4, 0], "texture": "#model"}, + "up": {"uv": [6.25, 7, 6, 3], "texture": "#model", "cullface": "up"}, + "down": {"uv": [6.5, 7, 6.25, 3], "texture": "#model", "cullface": "down"} + } + }, + { + "from": [0, 0, 1], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 4, 4], "texture": "#model"}, + "east": {"uv": [5.75, 3, 6, 7], "texture": "#model", "cullface": "east"}, + "south": {"uv": [0, 4, 4, 0], "texture": "#model", "cullface": "west"}, + "west": {"uv": [5.5, 3, 5.75, 7], "texture": "#model"}, + "up": {"uv": [6, 3, 6.25, 7], "rotation": 90, "texture": "#model", "cullface": "up"}, + "down": {"uv": [6.5, 7, 6.25, 3], "rotation": 90, "texture": "#model", "cullface": "down"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 16, 15], + "faces": { + "north": {"uv": [0, 4, 4, 0], "texture": "#model"}, + "east": {"uv": [5.5, 3, 5.75, 7], "texture": "#model", "cullface": "east"}, + "south": {"uv": [0, 0, 4, 4], "texture": "#model"}, + "west": {"uv": [5.75, 3, 6, 7], "texture": "#model", "cullface": "west"}, + "up": {"uv": [6, 7, 6.25, 3], "rotation": 90, "texture": "#model", "cullface": "up"}, + "down": {"uv": [6.5, 3, 6.25, 7], "rotation": 90, "texture": "#model", "cullface": "down"} + } + }, + { + "from": [1, 0.02, 0], + "to": [2, 15.98, 16], + "faces": { + "north": {"uv": [5.75, 3, 6, 7], "texture": "#model", "cullface": "north"}, + "east": {"uv": [0, 4, 4, 0], "texture": "#model"}, + "south": {"uv": [5.5, 3, 5.75, 7], "texture": "#model", "cullface": "south"}, + "west": {"uv": [0, 0, 4, 4], "texture": "#model"}, + "up": {"uv": [6.25, 3, 6, 7], "texture": "#model", "cullface": "up"}, + "down": {"uv": [6.5, 3, 6.25, 7], "texture": "#model", "cullface": "down"} + } + }, + { + "from": [2, 15, 2], + "to": [14, 16, 14], + "faces": { + "up": {"uv": [3, 7, 0, 4], "texture": "#model", "cullface": "up"}, + "down": {"uv": [0, 4, 3, 7], "texture": "#model"} + } + }, + { + "from": [2, 0, 2], + "to": [14, 1, 14], + "faces": { + "up": {"uv": [0, 4, 3, 7], "texture": "#model"}, + "down": {"uv": [0, 4, 3, 7], "texture": "#model", "cullface": "down"} + } + }, + { + "name": "cube_outline", + "from": [2, 14, 14], + "to": [1, 2, 2], + "faces": { + "east": {"uv": [4, 0, 7, 3], "texture": "#model"}, + "west": {"uv": [4, 0, 7, 3], "texture": "#model"}, + "up": {"uv": [3.25, 9.5, 3, 6.5], "texture": "#model"}, + "down": {"uv": [6.75, 6, 6.5, 3], "texture": "#model"} + } + }, + { + "name": "cube_outline", + "from": [15, 14, 14], + "to": [14, 2, 2], + "faces": { + "east": {"uv": [4, 0, 7, 3], "texture": "#model"}, + "west": {"uv": [4, 3, 7, 0], "texture": "#model"}, + "up": {"uv": [3, 6.5, 3.25, 9.5], "texture": "#model"}, + "down": {"uv": [6.75, 3, 6.5, 6], "texture": "#model"} + } + }, + { + "name": "cube_outline", + "from": [14, 14, 15], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [4, 3, 7, 0], "texture": "#model"}, + "south": {"uv": [4, 0, 7, 3], "texture": "#model"}, + "up": {"uv": [3, 6.5, 3.25, 9.5], "rotation": 90, "texture": "#model"}, + "down": {"uv": [6.75, 6, 6.5, 3], "rotation": 90, "texture": "#model"} + } + }, + { + "name": "cube_outline", + "from": [14, 14, 2], + "to": [2, 2, 1], + "faces": { + "north": {"uv": [4, 0, 7, 3], "texture": "#model"}, + "south": {"uv": [4, 3, 7, 0], "texture": "#model"}, + "up": {"uv": [3, 6.5, 3.25, 9.5], "rotation": 270, "texture": "#model"}, + "down": {"uv": [6.75, 3, 6.5, 6], "rotation": 90, "texture": "#model"} + } + }, + { + "name": "cube_outline", + "from": [13, 16, 13], + "to": [3, 15, 3], + "faces": { + "north": {"uv": [6.5, 6, 9, 6.25], "texture": "#model"}, + "east": {"uv": [6.5, 6.25, 9, 6.5], "texture": "#model"}, + "south": {"uv": [6.5, 6.5, 9, 6.75], "texture": "#model"}, + "west": {"uv": [6.75, 3, 9.25, 3.25], "texture": "#model"}, + "up": {"uv": [5.5, 6.5, 3, 4], "texture": "#model"}, + "down": {"uv": [3, 4, 5.5, 6.5], "texture": "#model"} + } + }, + { + "name": "cube_outline", + "from": [13, 1, 13], + "to": [3, 0, 3], + "faces": { + "north": {"uv": [9, 6, 6.5, 6.25], "texture": "#model"}, + "east": {"uv": [6.5, 6.25, 9, 6.5], "texture": "#model"}, + "south": {"uv": [6.5, 6.5, 9, 6.75], "texture": "#model"}, + "west": {"uv": [6.75, 3, 9.25, 3.25], "texture": "#model"}, + "up": {"uv": [3, 4, 5.5, 6.5], "texture": "#model"}, + "down": {"uv": [3, 4, 5.5, 6.5], "texture": "#model"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -135, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, -135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/thaumicenergistics/models/block/distillation_encoder.json b/src/main/resources/assets/thaumicenergistics/models/block/distillation_encoder.json index 5efdba7..4cef551 100644 --- a/src/main/resources/assets/thaumicenergistics/models/block/distillation_encoder.json +++ b/src/main/resources/assets/thaumicenergistics/models/block/distillation_encoder.json @@ -1 +1,57 @@ -{"parent":"minecraft:block/cube_all","textures":{"all":"thaumicenergistics:block/distillation_encoder_face"}} +{ + "format_version": "1.21.6", + "credit": "Made with _leng", + "parent": "minecraft:block/cube_all", + "textures": { + "positive": "thaumicenergistics:block/distillation_encoder_face", + "particle": "thaumicenergistics:block/distillation_encoder_bottom", + "bottom": "thaumicenergistics:block/distillation_encoder_bottom", + "side": "thaumicenergistics:block/distillation_encoder_front", + "top": "thaumicenergistics:block/distillation_encoder_top" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#positive", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#side", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#side", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#top", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#bottom", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -135, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, -135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/thaumicenergistics/models/block/essentia_vibration_chamber.json b/src/main/resources/assets/thaumicenergistics/models/block/essentia_vibration_chamber.json index 9dc8f9f..66ddb14 100644 --- a/src/main/resources/assets/thaumicenergistics/models/block/essentia_vibration_chamber.json +++ b/src/main/resources/assets/thaumicenergistics/models/block/essentia_vibration_chamber.json @@ -1,8 +1,28 @@ { - "parent": "minecraft:block/orientable", - "textures": { - "front": "thaumicenergistics:block/e_vibration_face_off", - "side": "thaumicenergistics:block/e_vibration_input", - "top": "thaumicenergistics:block/e_vibration_input" - } + "format_version": "1.21.6", + "credit": "Made with _leng", + "parent": "minecraft:block/orientable", + "textures": { + "front": "thaumicenergistics:block/e_vibration_face_off", + "top": "thaumicenergistics:block/e_vibration_input", + "particle": "thaumicenergistics:block/e_vibration_face_back", + "back": "thaumicenergistics:block/e_vibration_face_back", + "bottom": "thaumicenergistics:block/e_vibration_face_bottom", + "side": "thaumicenergistics:block/e_vibration_face_side" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#front", "cullface": "north"}, + "east": {"uv": [16, 0, 0, 16], "texture": "#side", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#back", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#side", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#top", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#bottom", "cullface": "down"} + } + } + ], + "display": {} } \ No newline at end of file diff --git a/src/main/resources/assets/thaumicenergistics/models/block/knowledge_inscriber.json b/src/main/resources/assets/thaumicenergistics/models/block/knowledge_inscriber.json index fe14f65..8369b6f 100644 --- a/src/main/resources/assets/thaumicenergistics/models/block/knowledge_inscriber.json +++ b/src/main/resources/assets/thaumicenergistics/models/block/knowledge_inscriber.json @@ -1,8 +1,57 @@ { - "parent": "minecraft:block/cube_bottom_top", - "textures": { - "top": "thaumicenergistics:block/knowledge_inscriber_top", - "bottom": "thaumicenergistics:block/knowledge_inscriber_bottom", - "side": "thaumicenergistics:block/knowledge_inscriber_side" - } -} + "format_version": "1.21.6", + "credit": "Made with _leng", + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "positive": "thaumicenergistics:block/knowledge_inscriber_positive", + "top": "thaumicenergistics:block/knowledge_inscriber_top", + "bottom": "thaumicenergistics:block/knowledge_inscriber_bottom", + "side": "thaumicenergistics:block/knowledge_inscriber_side", + "particle": "thaumicenergistics:block/knowledge_inscriber_positive" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#positive", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#side", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#side", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#top", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#bottom", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -135, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, -135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/thaumicenergistics/models/parts/arcane_crafting_terminal_base.json b/src/main/resources/assets/thaumicenergistics/models/parts/arcane_crafting_terminal_base.json index 8c6c04e..c6648a7 100644 --- a/src/main/resources/assets/thaumicenergistics/models/parts/arcane_crafting_terminal_base.json +++ b/src/main/resources/assets/thaumicenergistics/models/parts/arcane_crafting_terminal_base.json @@ -1,33 +1,35 @@ { -"textures": { -"sides": "thaumicenergistics:part/arcane_crafting_terminal/arcane_crafting_side", -"particle": "ae2:part/monitor_back_no_status", -"back": "ae2:part/monitor_back_no_status", -"front": "ae2:part/monitor_front" -}, -"elements": [ -{ -"from": [2, 2, 0], -"to": [14, 14, 2], -"faces": { -"north": { "uv": [2, 2, 14, 14], "texture": "#front" }, -"east": { "uv": [14, 2, 16, 14], "texture": "#sides" }, -"south": { "uv": [2, 2, 14, 14], "texture": "#back" }, -"west": { "uv": [0, 2, 2, 14], "texture": "#sides" }, -"up": { "uv": [2, 0, 14, 2], "texture": "#sides" }, -"down": { "uv": [2, 14, 14, 16], "texture": "#sides" } -} -}, -{ -"from": [4, 4, 2], -"to": [12, 12, 3], -"faces": { -"east": { "uv": [11, 4, 12, 12], "texture": "#back" }, -"south": { "uv": [4, 4, 12, 12], "texture": "#back" }, -"west": { "uv": [4, 4, 5, 12], "texture": "#back" }, -"up": { "uv": [4, 4, 12, 5], "texture": "#back" }, -"down": { "uv": [4, 11, 12, 12], "texture": "#back" } -} -} -] + "format_version": "1.21.6", + "credit": "Made with _leng", + "textures": { + "sides": "thaumicenergistics:part/arcane_crafting_terminal/arcane_crafting_side", + "particle": "ae2:part/monitor_back_no_status", + "back": "ae2:part/monitor_back_no_status", + "front": "ae2:part/monitor_front" + }, + "elements": [ + { + "from": [2, 2, 0], + "to": [14, 14, 2], + "faces": { + "north": {"uv": [2, 2, 14, 14], "texture": "#front"}, + "east": {"uv": [14, 2, 16, 14], "texture": "#sides"}, + "south": {"uv": [2, 2, 14, 14], "texture": "#back"}, + "west": {"uv": [0, 2, 2, 14], "texture": "#sides"}, + "up": {"uv": [2, 0, 14, 2], "texture": "#sides"}, + "down": {"uv": [2, 14, 14, 16], "texture": "#sides"} + } + }, + { + "from": [4.01, 4.01, 2.01], + "to": [11.99, 11.99, 2.99], + "faces": { + "east": {"uv": [11, 4, 12, 12], "texture": "#back"}, + "south": {"uv": [4, 4, 12, 12], "texture": "#back"}, + "west": {"uv": [4, 4, 5, 12], "texture": "#back"}, + "up": {"uv": [4, 4, 12, 5], "texture": "#back"}, + "down": {"uv": [4, 11, 12, 12], "texture": "#back"} + } + } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/thaumicenergistics/models/parts/essentia_export_bus_base.json b/src/main/resources/assets/thaumicenergistics/models/parts/essentia_export_bus_base.json index 7a9577a..158825c 100644 --- a/src/main/resources/assets/thaumicenergistics/models/parts/essentia_export_bus_base.json +++ b/src/main/resources/assets/thaumicenergistics/models/parts/essentia_export_bus_base.json @@ -1,58 +1,137 @@ { + "format_version": "1.21.6", "credit": "Made with Blockbench by Sea_Kerman", "textures": { - "sides": "ae2:part/export_bus_sides", + "sides": "thaumicenergistics:part/export_bus_sides_customized", "sidesStatus": "ae2:part/monitor_sides_status", - "particle": "ae2:part/monitor_back", - "back": "ae2:part/monitor_back", - "front": "thaumicenergistics:part/essentia_export_bus_face" + "particle": "ae2:part/monitor_back", + "back": "ae2:part/monitor_back", + "front": "thaumicenergistics:part/essentia_export_bus_face" }, "elements": [ { - "from": [4, 4, 0], - "to": [12, 12, 2], + "from": [ + 4, + 4, + 2 + ], + "to": [ + 12, + 12, + 4 + ], "faces": { - "north": { "uv": [4, 4, 12, 12], "texture": "#front" }, - "east": { "uv": [14, 4, 16, 12], "texture": "#sides" }, - "south": { "uv": [4, 4, 12, 12], "texture": "#sides" }, - "west": { "uv": [0, 4, 2, 12], "texture": "#sides" }, - "up": { "uv": [4, 0, 12, 2], "texture": "#sides" }, - "down": { "uv": [4, 14, 12, 16], "texture": "#sides" } + "down": { + "texture": "#sides" + }, + "up": { + "texture": "#sides" + }, + "south": { + "texture": "#back" + }, + "east": { + "texture": "#sides" + }, + "north": { + "texture": "#front" + }, + "west": { + "texture": "#sides" + } } }, { - "from": [5, 5, 2], - "to": [11, 11, 3], + "from": [ + 5, + 5, + 1 + ], + "to": [ + 11, + 11, + 2 + ], "faces": { - "north": { "uv": [5, 5, 11, 11], "texture": "#front" }, - "east": { "uv": [13, 5, 14, 11], "texture": "#sides" }, - "south": { "uv": [5, 5, 11, 11], "texture": "#sides" }, - "west": { "uv": [2, 5, 3, 11], "texture": "#sides" }, - "up": { "uv": [5, 2, 11, 3], "texture": "#sides" }, - "down": { "uv": [5, 13, 11, 14], "texture": "#sides" } + "down": { + "texture": "#sides" + }, + "up": { + "texture": "#sides" + }, + "south": { + "texture": "#back" + }, + "east": { + "texture": "#sides" + }, + "north": { + "texture": "#front" + }, + "west": { + "texture": "#sides" + } } }, { - "from": [6, 6, 3], - "to": [10, 10, 4], + "from": [ + 6, + 6, + 0 + ], + "to": [ + 10, + 10, + 1 + ], "faces": { - "north": { "uv": [6, 6, 10, 10], "texture": "#front" }, - "east": { "uv": [12, 6, 13, 10], "texture": "#sides" }, - "south": { "uv": [6, 6, 10, 10], "texture": "#back" }, - "west": { "uv": [3, 6, 4, 10], "texture": "#sides" }, - "up": { "uv": [6, 3, 10, 4], "texture": "#sides" }, - "down": { "uv": [6, 12, 10, 13], "texture": "#sides" } + "down": { + "texture": "#sides" + }, + "up": { + "texture": "#sides" + }, + "south": { + "texture": "#back" + }, + "east": { + "texture": "#sides" + }, + "north": { + "texture": "#front" + }, + "west": { + "texture": "#sides" + } } }, { - "from": [6, 6, 4], - "to": [10, 10, 5], + "from": [ + 6, + 6, + 4 + ], + "to": [ + 10, + 10, + 5 + ], "faces": { - "east": { "uv": [11, 6, 12, 10], "texture": "#sidesStatus" }, - "south": { "uv": [6, 6, 10, 10], "texture": "#back" }, - "west": { "uv": [4, 6, 5, 10], "texture": "#sidesStatus" }, - "up": { "uv": [6, 4, 10, 5], "texture": "#sidesStatus" }, - "down": { "uv": [6, 11, 10, 12], "texture": "#sidesStatus" } + "down": { + "texture": "#sidesStatus" + }, + "up": { + "texture": "#sidesStatus" + }, + "south": { + "texture": "#back" + }, + "east": { + "texture": "#sidesStatus" + }, + "west": { + "texture": "#sidesStatus" + } } } ] diff --git a/src/main/resources/assets/thaumicenergistics/models/parts/essentia_export_bus_has_channel.json b/src/main/resources/assets/thaumicenergistics/models/parts/essentia_export_bus_has_channel.json index 51bff62..e98ac95 100644 --- a/src/main/resources/assets/thaumicenergistics/models/parts/essentia_export_bus_has_channel.json +++ b/src/main/resources/assets/thaumicenergistics/models/parts/essentia_export_bus_has_channel.json @@ -5,7 +5,7 @@ "elements": [ { "from": [6, 6, 4], - "to": [10, 10, 5], + "to": [10, 10, 5], "faces": { "down": { "texture": "#indicator", "tintindex": 1, "neoforge_data": { "block_light": 15, "sky_light": 15 } }, "up": { "texture": "#indicator", "tintindex": 1, "neoforge_data": { "block_light": 15, "sky_light": 15 } }, diff --git a/src/main/resources/assets/thaumicenergistics/models/parts/essentia_import_bus_base.json b/src/main/resources/assets/thaumicenergistics/models/parts/essentia_import_bus_base.json index 26c010c..5d3274e 100644 --- a/src/main/resources/assets/thaumicenergistics/models/parts/essentia_import_bus_base.json +++ b/src/main/resources/assets/thaumicenergistics/models/parts/essentia_import_bus_base.json @@ -1,59 +1,60 @@ { - "credit": "Made with Blockbench by Sea_Kerman", - "textures": { - "sides": "ae2:part/import_bus_sides", - "sidesStatus": "ae2:part/monitor_sides_status", - "particle": "ae2:part/monitor_back", - "back": "ae2:part/monitor_back", - "front": "thaumicenergistics:part/essentia_import_bus_face" - }, - "elements": [ - { - "from": [4, 4, 0], - "to": [12, 12, 2], - "faces": { - "north": { "uv": [4, 4, 12, 12], "texture": "#front" }, - "east": { "uv": [14, 4, 16, 12], "texture": "#sides" }, - "south": { "uv": [4, 4, 12, 12], "texture": "#sides" }, - "west": { "uv": [0, 4, 2, 12], "texture": "#sides" }, - "up": { "uv": [4, 0, 12, 2], "texture": "#sides" }, - "down": { "uv": [4, 14, 12, 16], "texture": "#sides" } - } - }, - { - "from": [5, 5, 2], - "to": [11, 11, 3], - "faces": { - "north": { "uv": [5, 5, 11, 11], "texture": "#front" }, - "east": { "uv": [13, 5, 14, 11], "texture": "#sides" }, - "south": { "uv": [5, 5, 11, 11], "texture": "#sides" }, - "west": { "uv": [2, 5, 3, 11], "texture": "#sides" }, - "up": { "uv": [5, 2, 11, 3], "texture": "#sides" }, - "down": { "uv": [5, 13, 11, 14], "texture": "#sides" } - } - }, - { - "from": [6, 6, 3], - "to": [10, 10, 4], - "faces": { - "north": { "uv": [6, 6, 10, 10], "texture": "#front" }, - "east": { "uv": [12, 6, 13, 10], "texture": "#sides" }, - "south": { "uv": [6, 6, 10, 10], "texture": "#back" }, - "west": { "uv": [3, 6, 4, 10], "texture": "#sides" }, - "up": { "uv": [6, 3, 10, 4], "texture": "#sides" }, - "down": { "uv": [6, 12, 10, 13], "texture": "#sides" } - } - }, - { - "from": [6, 6, 4], - "to": [10, 10, 5], - "faces": { - "east": { "uv": [11, 6, 12, 10], "texture": "#sidesStatus" }, - "south": { "uv": [6, 6, 10, 10], "texture": "#back" }, - "west": { "uv": [4, 6, 5, 10], "texture": "#sidesStatus" }, - "up": { "uv": [6, 4, 10, 5], "texture": "#sidesStatus" }, - "down": { "uv": [6, 11, 10, 12], "texture": "#sidesStatus" } - } - } - ] + "format_version": "1.21.6", + "credit": "Made with Blockbench by Sea_Kerman", + "textures": { + "sides": "thaumicenergistics:part/import_bus_sides_customized", + "sidesStatus": "ae2:part/monitor_sides_status", + "particle": "ae2:part/monitor_back", + "back": "ae2:part/monitor_back", + "front": "thaumicenergistics:part/essentia_import_bus_face" + }, + "elements": [ + { + "from": [4, 4, 0], + "to": [12, 12, 2], + "faces": { + "north": {"uv": [4, 4, 12, 12], "texture": "#front"}, + "east": {"uv": [14, 4, 16, 12], "texture": "#sides"}, + "south": {"uv": [4, 4, 12, 12], "texture": "#sides"}, + "west": {"uv": [0, 4, 2, 12], "texture": "#sides"}, + "up": {"uv": [4, 0, 12, 2], "texture": "#sides"}, + "down": {"uv": [4, 14, 12, 16], "texture": "#sides"} + } + }, + { + "from": [5, 5, 2], + "to": [11, 11, 3], + "faces": { + "north": {"uv": [5, 5, 11, 11], "texture": "#front"}, + "east": {"uv": [13, 5, 14, 11], "texture": "#sides"}, + "south": {"uv": [5, 5, 11, 11], "texture": "#sides"}, + "west": {"uv": [2, 5, 3, 11], "texture": "#sides"}, + "up": {"uv": [5, 2, 11, 3], "texture": "#sides"}, + "down": {"uv": [5, 13, 11, 14], "texture": "#sides"} + } + }, + { + "from": [6, 6, 3], + "to": [10, 10, 4], + "faces": { + "north": {"uv": [6, 6, 10, 10], "texture": "#front"}, + "east": {"uv": [12, 6, 13, 10], "texture": "#sides"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#back"}, + "west": {"uv": [3, 6, 4, 10], "texture": "#sides"}, + "up": {"uv": [6, 3, 10, 4], "texture": "#sides"}, + "down": {"uv": [6, 12, 10, 13], "texture": "#sides"} + } + }, + { + "from": [6, 6, 4], + "to": [10, 10, 5], + "faces": { + "east": {"uv": [11, 6, 12, 10], "texture": "#sidesStatus"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#back"}, + "west": {"uv": [4, 6, 5, 10], "texture": "#sidesStatus"}, + "up": {"uv": [6, 4, 10, 5], "texture": "#sidesStatus"}, + "down": {"uv": [6, 11, 10, 12], "texture": "#sidesStatus"} + } + } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/thaumicenergistics/models/parts/essentia_storage_bus_base.json b/src/main/resources/assets/thaumicenergistics/models/parts/essentia_storage_bus_base.json index 0010d6c..05a8fec 100644 --- a/src/main/resources/assets/thaumicenergistics/models/parts/essentia_storage_bus_base.json +++ b/src/main/resources/assets/thaumicenergistics/models/parts/essentia_storage_bus_base.json @@ -1,46 +1,82 @@ { - "credit": "Made with Blockbench by Sea_Kerman", - "textures": { - "sides": "ae2:part/storage_bus_sides", - "back": "ae2:part/storage_bus_back", - "front": "thaumicenergistics:part/essentia_storage_bus_face" - }, - "elements": [ - { - "from": [3, 3, 0], - "to": [13, 13, 2], - "faces": { - "north": { "uv": [3, 3, 13, 13], "texture": "#front" }, - "east": { "uv": [14, 3, 16, 13], "texture": "#sides" }, - "south": { "uv": [3, 3, 13, 13], "texture": "#sides" }, - "west": { "uv": [0, 3, 2, 13], "texture": "#sides" }, - "up": { "uv": [3, 0, 13, 2], "texture": "#sides" }, - "down": { "uv": [3, 14, 13, 16], "texture": "#sides" } - } - }, - { - "from": [2, 2, 2], - "to": [14, 14, 3], - "faces": { - "north": { "uv": [2, 2, 14, 14], "texture": "#front" }, - "east": { "uv": [13, 2, 14, 14], "texture": "#sides" }, - "south": { "uv": [2, 2, 14, 14], "texture": "#sides" }, - "west": { "uv": [2, 2, 3, 14], "texture": "#sides" }, - "up": { "uv": [2, 2, 14, 3], "texture": "#sides" }, - "down": { "uv": [2, 13, 14, 14], "texture": "#sides" } - } - }, - { - "from": [5, 5, 3], - "to": [11, 11, 5], - "faces": { - "north": { "uv": [5, 5, 11, 11], "texture": "#front" }, - "east": { "uv": [6, 5, 8, 11], "texture": "#sides" }, - "south": { "uv": [5, 5, 11, 11], "texture": "#back" }, - "west": { "uv": [8, 5, 10, 11], "texture": "#sides" }, - "up": { "uv": [5, 3, 11, 5], "texture": "#sides" }, - "down": { "uv": [5, 11, 11, 13], "texture": "#sides" } - } - } - ] + "format_version": "1.21.6", + "credit": "Made with Blockbench by Sea_Kerman", + "textures": { + "sides": "ae2:part/storage_bus_sides", + "back": "ae2:part/storage_bus_back", + "front": "thaumicenergistics:part/essentia_storage_bus_face" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 1], + "faces": { + "north": {"uv": [3, 3, 13, 13], "texture": "#front"}, + "east": {"uv": [13, 3, 14, 13], "texture": "#front"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#front"}, + "west": {"uv": [2, 13, 3, 3], "texture": "#front"}, + "up": {"uv": [3, 2, 13, 3], "texture": "#front"}, + "down": {"uv": [3, 13, 13, 14], "texture": "#front"} + } + }, + { + "from": [2, 2, 1], + "to": [14, 14, 2], + "faces": { + "north": {"uv": [2, 2, 14, 14], "texture": "#back"}, + "east": {"uv": [13, 2, 14, 14], "texture": "#back"}, + "south": {"uv": [2, 2, 14, 14], "texture": "#back"}, + "west": {"uv": [2, 2, 3, 14], "texture": "#back"}, + "up": {"uv": [2, 2, 14, 3], "texture": "#back"}, + "down": {"uv": [2, 13, 14, 14], "texture": "#back"} + } + }, + { + "from": [5, 5, 2], + "to": [11, 11, 4], + "faces": { + "north": {"uv": [5, 5, 11, 11], "texture": "#front"}, + "east": {"uv": [4, 5, 2, 11], "texture": "#sides"}, + "south": {"uv": [5, 5, 11, 11], "texture": "#back"}, + "west": {"uv": [14, 5, 12, 11], "texture": "#sides"}, + "up": {"uv": [5, 2, 11, 4], "texture": "#sides"}, + "down": {"uv": [5, 12, 11, 14], "texture": "#sides"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, -1.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, -1.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [2, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45.5, 0], + "translation": [2.5, 0.5, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, -135, 0], + "translation": [-3.75, 1.25, 0], + "scale": [0.785, 0.785, 0.785] + }, + "fixed": { + "translation": [0, 0, 2.75], + "scale": [0.5, 0.5, 0.5] + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/thaumicenergistics/models/parts/essentia_storage_bus_has_channel.json b/src/main/resources/assets/thaumicenergistics/models/parts/essentia_storage_bus_has_channel.json index 8d8f515..6ff1bac 100644 --- a/src/main/resources/assets/thaumicenergistics/models/parts/essentia_storage_bus_has_channel.json +++ b/src/main/resources/assets/thaumicenergistics/models/parts/essentia_storage_bus_has_channel.json @@ -1,17 +1,19 @@ { - "textures": { - "indicator": "ae2:part/monitor_sides_status_has_channel" - }, - "elements": [ - { - "from": [5, 5, 3], - "to": [11, 11, 5], - "faces": { - "down": { "texture": "#indicator" }, - "up": { "texture": "#indicator" }, - "east": { "texture": "#indicator" }, - "west": { "texture": "#indicator" } - } - } - ] + "format_version": "1.21.6", + "credit": "Made with _leng", + "textures": { + "indicator": "ae2:part/monitor_sides_status_has_channel" + }, + "elements": [ + { + "from": [4.99, 4.99, 1.99], + "to": [11.01, 11.01, 3.01], + "faces": { + "east": {"uv": [13, 5, 14, 11], "texture": "#indicator"}, + "west": {"uv": [2, 5, 3, 11], "texture": "#indicator"}, + "up": {"uv": [5, 2, 11, 3], "texture": "#indicator"}, + "down": {"uv": [5, 13, 11, 14], "texture": "#indicator"} + } + } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/thaumicenergistics/models/parts/essentia_storage_bus_off.json b/src/main/resources/assets/thaumicenergistics/models/parts/essentia_storage_bus_off.json index bd0c9de..85f79ad 100644 --- a/src/main/resources/assets/thaumicenergistics/models/parts/essentia_storage_bus_off.json +++ b/src/main/resources/assets/thaumicenergistics/models/parts/essentia_storage_bus_off.json @@ -1,17 +1,19 @@ { - "textures": { - "indicator": "ae2:part/monitor_sides_status_off" - }, - "elements": [ - { - "from": [5, 5, 3], - "to": [11, 11, 5], - "faces": { - "down": { "texture": "#indicator" }, - "up": { "texture": "#indicator" }, - "east": { "texture": "#indicator" }, - "west": { "texture": "#indicator" } - } - } - ] + "format_version": "1.21.6", + "credit": "Made with _leng", + "textures": { + "indicator": "ae2:part/monitor_sides_status_off" + }, + "elements": [ + { + "from": [4.99, 4.99, 1.99], + "to": [11.01, 11.01, 3.01], + "faces": { + "east": {"uv": [13, 5, 14, 11], "texture": "#indicator"}, + "west": {"uv": [2, 5, 3, 11], "texture": "#indicator"}, + "up": {"uv": [5, 2, 11, 3], "texture": "#indicator"}, + "down": {"uv": [5, 13, 11, 14], "texture": "#indicator"} + } + } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/thaumicenergistics/models/parts/essentia_storage_bus_on.json b/src/main/resources/assets/thaumicenergistics/models/parts/essentia_storage_bus_on.json index ad40a80..59d9322 100644 --- a/src/main/resources/assets/thaumicenergistics/models/parts/essentia_storage_bus_on.json +++ b/src/main/resources/assets/thaumicenergistics/models/parts/essentia_storage_bus_on.json @@ -1,17 +1,19 @@ { - "textures": { - "indicator": "ae2:part/monitor_sides_status_on" - }, - "elements": [ - { - "from": [5, 5, 3], - "to": [11, 11, 5], - "faces": { - "down": { "texture": "#indicator" }, - "up": { "texture": "#indicator" }, - "east": { "texture": "#indicator" }, - "west": { "texture": "#indicator" } - } - } - ] + "format_version": "1.21.6", + "credit": "Made with _leng", + "textures": { + "indicator": "ae2:part/monitor_sides_status_on" + }, + "elements": [ + { + "from": [4.99, 4.99, 1.99], + "to": [11.01, 11.01, 3.01], + "faces": { + "east": {"uv": [13, 5, 14, 11], "texture": "#indicator"}, + "west": {"uv": [2, 5, 3, 11], "texture": "#indicator"}, + "up": {"uv": [5, 2, 11, 3], "texture": "#indicator"}, + "down": {"uv": [5, 13, 11, 14], "texture": "#indicator"} + } + } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/thaumicenergistics/models/parts/essentia_terminal_base.json b/src/main/resources/assets/thaumicenergistics/models/parts/essentia_terminal_base.json index 6d86aa3..df80840 100644 --- a/src/main/resources/assets/thaumicenergistics/models/parts/essentia_terminal_base.json +++ b/src/main/resources/assets/thaumicenergistics/models/parts/essentia_terminal_base.json @@ -1,138 +1,35 @@ { - "credit": "对齐 AE2 monitor_base.json", - "textures": { - "sides": "ae2:part/monitor_sides", - "particle": "ae2:part/monitor_back_no_status", - "back": "ae2:part/monitor_back_no_status", - "front": "ae2:part/monitor_front" - }, - "elements": [ - { - "from": [ - 2, - 2, - 0 - ], - "to": [ - 14, - 14, - 2 - ], - "faces": { - "north": { - "uv": [ - 2, - 2, - 14, - 14 - ], - "texture": "#front" - }, - "east": { - "uv": [ - 14, - 2, - 16, - 14 - ], - "texture": "#sides" - }, - "south": { - "uv": [ - 2, - 2, - 14, - 14 - ], - "texture": "#back" - }, - "west": { - "uv": [ - 0, - 2, - 2, - 14 - ], - "texture": "#sides" - }, - "up": { - "uv": [ - 2, - 0, - 14, - 2 - ], - "texture": "#sides" - }, - "down": { - "uv": [ - 2, - 14, - 14, - 16 - ], - "texture": "#sides" - } - } - }, - { - "from": [ - 4, - 4, - 2 - ], - "to": [ - 12, - 12, - 3 - ], - "faces": { - "east": { - "uv": [ - 11, - 4, - 12, - 12 - ], - "texture": "#back" - }, - "south": { - "uv": [ - 4, - 4, - 12, - 12 - ], - "texture": "#back" - }, - "west": { - "uv": [ - 4, - 4, - 5, - 12 - ], - "texture": "#back" - }, - "up": { - "uv": [ - 4, - 4, - 12, - 5 - ], - "texture": "#back" - }, - "down": { - "uv": [ - 4, - 11, - 12, - 12 - ], - "texture": "#back" - } - } - } - ] + "format_version": "1.21.6", + "credit": "对齐 AE2 monitor_base.json", + "textures": { + "sides": "ae2:part/monitor_sides", + "particle": "ae2:part/monitor_back_no_status", + "back": "ae2:part/monitor_back_no_status", + "front": "ae2:part/monitor_front" + }, + "elements": [ + { + "from": [2, 2, 0], + "to": [14, 14, 2], + "faces": { + "north": {"uv": [2, 2, 14, 14], "texture": "#front"}, + "east": {"uv": [14, 2, 16, 14], "texture": "#sides"}, + "south": {"uv": [2, 2, 14, 14], "texture": "#back"}, + "west": {"uv": [0, 2, 2, 14], "texture": "#sides"}, + "up": {"uv": [2, 0, 14, 2], "texture": "#sides"}, + "down": {"uv": [2, 14, 14, 16], "texture": "#sides"} + } + }, + { + "from": [4.01, 4.01, 2.01], + "to": [11.99, 11.99, 2.99], + "faces": { + "east": {"uv": [11, 4, 12, 12], "texture": "#back"}, + "south": {"uv": [4, 4, 12, 12], "texture": "#back"}, + "west": {"uv": [4, 4, 5, 12], "texture": "#back"}, + "up": {"uv": [4, 4, 12, 5], "texture": "#back"}, + "down": {"uv": [4, 11, 12, 12], "texture": "#back"} + } + } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/thaumicenergistics/textures/block/arcane_assembler_fallback.png b/src/main/resources/assets/thaumicenergistics/textures/block/arcane_assembler_fallback.png index 0b6d63b..2781afd 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/block/arcane_assembler_fallback.png and b/src/main/resources/assets/thaumicenergistics/textures/block/arcane_assembler_fallback.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/block/distillation_encoder_face.png b/src/main/resources/assets/thaumicenergistics/textures/block/distillation_encoder_face.png index 27df013..4fada45 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/block/distillation_encoder_face.png and b/src/main/resources/assets/thaumicenergistics/textures/block/distillation_encoder_face.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/block/e_vibration_face_off.png b/src/main/resources/assets/thaumicenergistics/textures/block/e_vibration_face_off.png index 4bfcb24..6b23942 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/block/e_vibration_face_off.png and b/src/main/resources/assets/thaumicenergistics/textures/block/e_vibration_face_off.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/block/e_vibration_input.png b/src/main/resources/assets/thaumicenergistics/textures/block/e_vibration_input.png index a4f39d3..8666d8c 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/block/e_vibration_input.png and b/src/main/resources/assets/thaumicenergistics/textures/block/e_vibration_input.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/block/essentia_cell_workbench_bottom.png b/src/main/resources/assets/thaumicenergistics/textures/block/essentia_cell_workbench_bottom.png index e862fb6..71b967c 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/block/essentia_cell_workbench_bottom.png and b/src/main/resources/assets/thaumicenergistics/textures/block/essentia_cell_workbench_bottom.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/block/essentia_cell_workbench_side.png b/src/main/resources/assets/thaumicenergistics/textures/block/essentia_cell_workbench_side.png index dde08af..f4bbd7f 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/block/essentia_cell_workbench_side.png and b/src/main/resources/assets/thaumicenergistics/textures/block/essentia_cell_workbench_side.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/block/essentia_cell_workbench_top.png b/src/main/resources/assets/thaumicenergistics/textures/block/essentia_cell_workbench_top.png index 7aaaca9..858fc91 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/block/essentia_cell_workbench_top.png and b/src/main/resources/assets/thaumicenergistics/textures/block/essentia_cell_workbench_top.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/block/essentia_provider.png b/src/main/resources/assets/thaumicenergistics/textures/block/essentia_provider.png index cb02753..20f5d2f 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/block/essentia_provider.png and b/src/main/resources/assets/thaumicenergistics/textures/block/essentia_provider.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/block/infusion_provider.png b/src/main/resources/assets/thaumicenergistics/textures/block/infusion_provider.png index f5b104b..201cc14 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/block/infusion_provider.png and b/src/main/resources/assets/thaumicenergistics/textures/block/infusion_provider.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/block/knowledge_inscriber_bottom.png b/src/main/resources/assets/thaumicenergistics/textures/block/knowledge_inscriber_bottom.png index dd6a250..9b0c823 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/block/knowledge_inscriber_bottom.png and b/src/main/resources/assets/thaumicenergistics/textures/block/knowledge_inscriber_bottom.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/block/knowledge_inscriber_side.png b/src/main/resources/assets/thaumicenergistics/textures/block/knowledge_inscriber_side.png index f65d851..deba9aa 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/block/knowledge_inscriber_side.png and b/src/main/resources/assets/thaumicenergistics/textures/block/knowledge_inscriber_side.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/block/knowledge_inscriber_top.png b/src/main/resources/assets/thaumicenergistics/textures/block/knowledge_inscriber_top.png index 0229036..f612ae7 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/block/knowledge_inscriber_top.png and b/src/main/resources/assets/thaumicenergistics/textures/block/knowledge_inscriber_top.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/gui/arcane_assembler.png b/src/main/resources/assets/thaumicenergistics/textures/gui/arcane_assembler.png index dea1b5f..2c96db2 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/gui/arcane_assembler.png and b/src/main/resources/assets/thaumicenergistics/textures/gui/arcane_assembler.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/gui/arcane_crafting.png b/src/main/resources/assets/thaumicenergistics/textures/gui/arcane_crafting.png index 2bfb862..82ea962 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/gui/arcane_crafting.png and b/src/main/resources/assets/thaumicenergistics/textures/gui/arcane_crafting.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/gui/distillation_encoder.png b/src/main/resources/assets/thaumicenergistics/textures/gui/distillation_encoder.png index 727e045..19799eb 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/gui/distillation_encoder.png and b/src/main/resources/assets/thaumicenergistics/textures/gui/distillation_encoder.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/gui/essentia_cell_workbench.png b/src/main/resources/assets/thaumicenergistics/textures/gui/essentia_cell_workbench.png index f8b05eb..288a2e0 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/gui/essentia_cell_workbench.png and b/src/main/resources/assets/thaumicenergistics/textures/gui/essentia_cell_workbench.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/gui/essentia_level_emitter.png b/src/main/resources/assets/thaumicenergistics/textures/gui/essentia_level_emitter.png index 8d45526..72be705 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/gui/essentia_level_emitter.png and b/src/main/resources/assets/thaumicenergistics/textures/gui/essentia_level_emitter.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/gui/essentia_terminal.png b/src/main/resources/assets/thaumicenergistics/textures/gui/essentia_terminal.png index edcfdee..fc4a75c 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/gui/essentia_terminal.png and b/src/main/resources/assets/thaumicenergistics/textures/gui/essentia_terminal.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/gui/essentia_vibration_chamber.png b/src/main/resources/assets/thaumicenergistics/textures/gui/essentia_vibration_chamber.png index 4310cf7..b25cf38 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/gui/essentia_vibration_chamber.png and b/src/main/resources/assets/thaumicenergistics/textures/gui/essentia_vibration_chamber.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/gui/knowledge_inscriber.png b/src/main/resources/assets/thaumicenergistics/textures/gui/knowledge_inscriber.png index 4385c32..a6c1ede 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/gui/knowledge_inscriber.png and b/src/main/resources/assets/thaumicenergistics/textures/gui/knowledge_inscriber.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/gui/priority.png b/src/main/resources/assets/thaumicenergistics/textures/gui/priority.png index 1ba06a2..0e7f62b 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/gui/priority.png and b/src/main/resources/assets/thaumicenergistics/textures/gui/priority.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_16k.png b/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_16k.png index 794b41f..9b32b59 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_16k.png and b/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_16k.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_1k.png b/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_1k.png index fb69ef3..24b3a93 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_1k.png and b/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_1k.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_4k.png b/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_4k.png index 2ddd57f..2648e65 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_4k.png and b/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_4k.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_64k.png b/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_64k.png index a3f0e02..6d76ce7 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_64k.png and b/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_64k.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_casing.png b/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_casing.png index c5356aa..b3ba5a7 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_casing.png and b/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_casing.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_creative.png b/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_creative.png index d726763..a5b01d8 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_creative.png and b/src/main/resources/assets/thaumicenergistics/textures/item/essentia_cell_creative.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/item/foci_aewrench.png b/src/main/resources/assets/thaumicenergistics/textures/item/foci_aewrench.png index 515676f..595a07e 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/item/foci_aewrench.png and b/src/main/resources/assets/thaumicenergistics/textures/item/foci_aewrench.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/item/focus_aewrench.png b/src/main/resources/assets/thaumicenergistics/textures/item/focus_aewrench.png index 515676f..f2f4c4f 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/item/focus_aewrench.png and b/src/main/resources/assets/thaumicenergistics/textures/item/focus_aewrench.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/item/golem_wifi_backpack.png b/src/main/resources/assets/thaumicenergistics/textures/item/golem_wifi_backpack.png index 6e1b47e..181d069 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/item/golem_wifi_backpack.png and b/src/main/resources/assets/thaumicenergistics/textures/item/golem_wifi_backpack.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/item/knowledge_core.png b/src/main/resources/assets/thaumicenergistics/textures/item/knowledge_core.png index 36ab180..2a2e570 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/item/knowledge_core.png and b/src/main/resources/assets/thaumicenergistics/textures/item/knowledge_core.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/item/knowledge_core.png.mcmeta b/src/main/resources/assets/thaumicenergistics/textures/item/knowledge_core.png.mcmeta index 034019f..b2558e4 100644 --- a/src/main/resources/assets/thaumicenergistics/textures/item/knowledge_core.png.mcmeta +++ b/src/main/resources/assets/thaumicenergistics/textures/item/knowledge_core.png.mcmeta @@ -1,5 +1,6 @@ { "animation": { + "interpolate": true, "frametime": 3 } } \ No newline at end of file diff --git a/src/main/resources/assets/thaumicenergistics/textures/item/material_coalescence_core.png b/src/main/resources/assets/thaumicenergistics/textures/item/material_coalescence_core.png index 7b83e34..dbee1d7 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/item/material_coalescence_core.png and b/src/main/resources/assets/thaumicenergistics/textures/item/material_coalescence_core.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/item/material_diffusion_core.png b/src/main/resources/assets/thaumicenergistics/textures/item/material_diffusion_core.png index 43d53db..15d23f0 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/item/material_diffusion_core.png and b/src/main/resources/assets/thaumicenergistics/textures/item/material_diffusion_core.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/item/storage_component_16k.png b/src/main/resources/assets/thaumicenergistics/textures/item/storage_component_16k.png index 565acd5..7736f1c 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/item/storage_component_16k.png and b/src/main/resources/assets/thaumicenergistics/textures/item/storage_component_16k.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/item/storage_component_1k.png b/src/main/resources/assets/thaumicenergistics/textures/item/storage_component_1k.png index cff3a40..6f439de 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/item/storage_component_1k.png and b/src/main/resources/assets/thaumicenergistics/textures/item/storage_component_1k.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/item/storage_component_4k.png b/src/main/resources/assets/thaumicenergistics/textures/item/storage_component_4k.png index 2344cfb..12e1ca7 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/item/storage_component_4k.png and b/src/main/resources/assets/thaumicenergistics/textures/item/storage_component_4k.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/item/storage_component_64k.png b/src/main/resources/assets/thaumicenergistics/textures/item/storage_component_64k.png index b0e0924..c7574d0 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/item/storage_component_64k.png and b/src/main/resources/assets/thaumicenergistics/textures/item/storage_component_64k.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/item/wireless_essentia_terminal.png b/src/main/resources/assets/thaumicenergistics/textures/item/wireless_essentia_terminal.png index 04e425a..106bc0e 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/item/wireless_essentia_terminal.png and b/src/main/resources/assets/thaumicenergistics/textures/item/wireless_essentia_terminal.png differ diff --git a/src/main/resources/assets/thaumicenergistics/textures/part/essentia_storage_bus_face.png b/src/main/resources/assets/thaumicenergistics/textures/part/essentia_storage_bus_face.png index bfb709e..6d923c3 100644 Binary files a/src/main/resources/assets/thaumicenergistics/textures/part/essentia_storage_bus_face.png and b/src/main/resources/assets/thaumicenergistics/textures/part/essentia_storage_bus_face.png differ