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 488c715..0000000 Binary files a/src/main/resources/assets/extendedae_plus/textures/part/entity_speed_ticker.png and /dev/null differ diff --git a/src/main/resources/assets/extendedae_plus/textures/part/entity_speed_ticker_font.png b/src/main/resources/assets/extendedae_plus/textures/part/entity_speed_ticker_font.png new file mode 100644 index 0000000..f974cdb Binary files /dev/null and b/src/main/resources/assets/extendedae_plus/textures/part/entity_speed_ticker_font.png differ