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