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