From 3af3b62cacf88e3530b15584c054a0c18ac0372b Mon Sep 17 00:00:00 2001 From: C-H716 <1536152356@qq.com> Date: Thu, 11 Sep 2025 16:47:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=AE=E5=A4=8D=E5=AE=9E=E4=BD=93?= =?UTF-8?q?=E5=8A=A0=E9=80=9F=E5=99=A8=E6=A8=A1=E5=9E=8B=E5=92=8C=E7=BA=B9?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ae/parts/EntitySpeedTickerPart.java | 38 ++++++++++-------- .../models/item/entity_speed_ticker.json | 4 +- .../part/entity_speed_ticker_has_channel.json | 3 ++ .../models/part/entity_speed_ticker_off.json | 3 ++ .../models/part/entity_speed_ticker_on.json | 3 ++ .../models/part/entity_speed_ticker_part.json | 4 +- .../textures/part/entity_speed_ticker.png | Bin 4259 -> 0 bytes .../part/entity_speed_ticker_font.png | Bin 0 -> 3632 bytes 8 files changed, 35 insertions(+), 20 deletions(-) create mode 100644 src/main/resources/assets/extendedae_plus/models/part/entity_speed_ticker_has_channel.json create mode 100644 src/main/resources/assets/extendedae_plus/models/part/entity_speed_ticker_off.json create mode 100644 src/main/resources/assets/extendedae_plus/models/part/entity_speed_ticker_on.json delete mode 100644 src/main/resources/assets/extendedae_plus/textures/part/entity_speed_ticker.png create mode 100644 src/main/resources/assets/extendedae_plus/textures/part/entity_speed_ticker_font.png diff --git a/src/main/java/com/extendedae_plus/ae/parts/EntitySpeedTickerPart.java b/src/main/java/com/extendedae_plus/ae/parts/EntitySpeedTickerPart.java index 75a4bf8..87c7ed3 100644 --- a/src/main/java/com/extendedae_plus/ae/parts/EntitySpeedTickerPart.java +++ b/src/main/java/com/extendedae_plus/ae/parts/EntitySpeedTickerPart.java @@ -15,8 +15,8 @@ import appeng.core.definitions.AEItems; import appeng.items.parts.PartModels; import appeng.menu.MenuOpener; import appeng.menu.locator.MenuLocators; +import appeng.parts.PartModel; import appeng.parts.automation.UpgradeablePart; -import appeng.parts.p2p.P2PModels; import com.extendedae_plus.ExtendedAEPlus; import com.extendedae_plus.init.ModMenuTypes; import com.extendedae_plus.menu.EntitySpeedTickerMenu; @@ -36,8 +36,6 @@ import net.minecraft.world.phys.Vec3; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.List; - /** * EntitySpeedTickerPart 是一个可升级的 AE2 部件

* 该部件可以加速目标方块实体的 tick 速率,消耗 AE 网络能量,并支持加速卡升级

@@ -47,19 +45,22 @@ public class EntitySpeedTickerPart extends UpgradeablePart implements IGridTicka // 当前打开的菜单实例(如果有) public EntitySpeedTickerMenu menu; - // P2P 模型,用于渲染部件的外观 - private static final P2PModels MODELS = new P2PModels( - new ResourceLocation(ExtendedAEPlus.MODID, "part/entity_speed_ticker_part")); + public static final ResourceLocation MODEL_BASE = new ResourceLocation( + ExtendedAEPlus.MODID, "part/entity_speed_ticker_part"); - /** - * 获取该部件的所有模型(用于渲染) - * @return 模型列表 - */ @PartModels - public static List getModels() { - return MODELS.getModels(); + public static final PartModel MODELS_OFF; + @PartModels + public static final PartModel MODELS_ON; + @PartModels + public static final PartModel MODELS_HAS_CHANNEL; + + static { + MODELS_OFF = new PartModel(MODEL_BASE, new ResourceLocation(ExtendedAEPlus.MODID, "part/entity_speed_ticker_off")); + MODELS_ON = new PartModel(MODEL_BASE, new ResourceLocation(ExtendedAEPlus.MODID, "part/entity_speed_ticker_on")); + MODELS_HAS_CHANNEL = new PartModel(MODEL_BASE, new ResourceLocation(ExtendedAEPlus.MODID, "part/entity_speed_ticker_has_channel")); } - + /** * 构造函数,初始化部件并设置网络节点属性 * @param partItem 部件物品 @@ -78,7 +79,13 @@ public class EntitySpeedTickerPart extends UpgradeablePart implements IGridTicka * @return 当前状态的模型 */ public IPartModel getStaticModels() { - return MODELS.getModel(this.isPowered(), this.isActive()); + if (this.isActive() && this.isPowered()) { + return MODELS_HAS_CHANNEL; + } else if (this.isPowered()) { + return MODELS_ON; + } else { + return MODELS_OFF; + } } /** @@ -103,9 +110,8 @@ public class EntitySpeedTickerPart extends UpgradeablePart implements IGridTicka */ @Override public void getBoxes(IPartCollisionHelper bch) { - bch.addBox(5, 5, 12, 11, 11, 13); - bch.addBox(3, 3, 13, 13, 13, 14); bch.addBox(2, 2, 14, 14, 14, 16); + bch.addBox(5, 5, 12, 11, 11, 14); } /** diff --git a/src/main/resources/assets/extendedae_plus/models/item/entity_speed_ticker.json b/src/main/resources/assets/extendedae_plus/models/item/entity_speed_ticker.json index 62f3cea..43a1e58 100644 --- a/src/main/resources/assets/extendedae_plus/models/item/entity_speed_ticker.json +++ b/src/main/resources/assets/extendedae_plus/models/item/entity_speed_ticker.json @@ -1,6 +1,6 @@ { - "parent": "ae2:item/p2p_tunnel_base", + "parent": "ae2:item/cable_interface", "textures": { - "type": "extendedae_plus:part/entity_speed_ticker" + "front": "extendedae_plus:part/entity_speed_ticker_font" } } \ No newline at end of file diff --git a/src/main/resources/assets/extendedae_plus/models/part/entity_speed_ticker_has_channel.json b/src/main/resources/assets/extendedae_plus/models/part/entity_speed_ticker_has_channel.json new file mode 100644 index 0000000..22f76cb --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/models/part/entity_speed_ticker_has_channel.json @@ -0,0 +1,3 @@ +{ + "parent": "ae2:part/interface_has_channel" +} diff --git a/src/main/resources/assets/extendedae_plus/models/part/entity_speed_ticker_off.json b/src/main/resources/assets/extendedae_plus/models/part/entity_speed_ticker_off.json new file mode 100644 index 0000000..a31e532 --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/models/part/entity_speed_ticker_off.json @@ -0,0 +1,3 @@ +{ + "parent": "ae2:part/interface_off" +} diff --git a/src/main/resources/assets/extendedae_plus/models/part/entity_speed_ticker_on.json b/src/main/resources/assets/extendedae_plus/models/part/entity_speed_ticker_on.json new file mode 100644 index 0000000..9cfa323 --- /dev/null +++ b/src/main/resources/assets/extendedae_plus/models/part/entity_speed_ticker_on.json @@ -0,0 +1,3 @@ +{ + "parent": "ae2:part/interface_on" +} diff --git a/src/main/resources/assets/extendedae_plus/models/part/entity_speed_ticker_part.json b/src/main/resources/assets/extendedae_plus/models/part/entity_speed_ticker_part.json index 3e091c5..687c196 100644 --- a/src/main/resources/assets/extendedae_plus/models/part/entity_speed_ticker_part.json +++ b/src/main/resources/assets/extendedae_plus/models/part/entity_speed_ticker_part.json @@ -1,6 +1,6 @@ { - "parent": "ae2:part/p2p/p2p_tunnel_base", + "parent": "ae2:part/interface_base", "textures": { - "type": "extendedae_plus:part/entity_speed_ticker" + "front": "extendedae_plus:part/entity_speed_ticker_font" } } \ No newline at end of file diff --git a/src/main/resources/assets/extendedae_plus/textures/part/entity_speed_ticker.png b/src/main/resources/assets/extendedae_plus/textures/part/entity_speed_ticker.png deleted file mode 100644 index 488c71509fbc6605dadde40bda3cfa267c38b969..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4259 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 literal 0 HcmV?d00001