Skip to content

Commit e3dbdab

Browse files
committed
优化
1 parent cfb44cc commit e3dbdab

File tree

4 files changed

+82
-51
lines changed

4 files changed

+82
-51
lines changed

src/main/java/com/hepdd/easytech/api/metatileentity/implementations/base/ETHVoidMinerBase.java

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import java.util.function.Predicate;
1616
import java.util.stream.Collectors;
1717

18+
import net.minecraft.block.Block;
1819
import net.minecraft.entity.player.EntityPlayer;
1920
import net.minecraft.item.ItemStack;
2021
import net.minecraft.nbt.NBTTagCompound;
@@ -49,7 +50,6 @@
4950
import bwcrossmod.galacticgreg.VoidMinerUtility;
5051
import gregtech.api.GregTechAPI;
5152
import gregtech.api.enums.GTValues;
52-
import gregtech.api.enums.ItemList;
5353
import gregtech.api.enums.Materials;
5454
import gregtech.api.enums.OrePrefixes;
5555
import gregtech.api.gui.modularui.GTUITextures;
@@ -96,28 +96,15 @@ protected IStructureDefinition<ETHVoidMinerBase> computeValue(Class<?> type) {
9696
{ " f ", "fcf", " f " }, { " f ", "fcf", " f " }, { " f ", "fcf", " f " },
9797
{ "b~b", "bbb", "bbb" }, }))
9898
.addElement('f', lazy(t -> ofFrame(t.getFrameMaterial())))
99-
.addElement(
100-
'c',
101-
lazy(
102-
t -> ofBlock(
103-
t.getCasingBlockItem()
104-
.getBlock(),
105-
t.getCasingBlockItem()
106-
.get(0)
107-
.getItemDamage())))
99+
.addElement('c', lazy(t -> ofBlock(t.getBlock(), t.getMeta())))
108100
.addElement(
109101
'b',
110102
lazy(
111103
t -> buildHatchAdder(ETHVoidMinerBase.class).atLeastList(t.getAllowedHatches())
112104
.adder(ETHVoidMinerBase::addToMachineList)
113105
.casingIndex(t.casingTextureIndex)
114106
.dot(1)
115-
.buildAndChain(
116-
t.getCasingBlockItem()
117-
.getBlock(),
118-
t.getCasingBlockItem()
119-
.get(0)
120-
.getItemDamage())))
107+
.buildAndChain(t.getBlock(), t.getMeta())))
121108
.build();
122109
}
123110
};
@@ -161,9 +148,13 @@ public void setOreType(int type) {
161148
this.oreType = type;
162149
}
163150

151+
public abstract Block getBlock();
152+
153+
public abstract int getMeta();
154+
164155
public abstract Materials getFrameMaterial();
165156

166-
public abstract ItemList getCasingBlockItem();
157+
// public abstract ItemList getCasingBlockItem();
167158

168159
public abstract void setElectricityStats();
169160

@@ -352,7 +343,7 @@ public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBu
352343
}
353344

354345
@Override
355-
protected void drawTexts(DynamicPositionedColumn screenElements, SlotWidget inventorySlot) {
346+
public void drawTexts(DynamicPositionedColumn screenElements, SlotWidget inventorySlot) {
356347
super.drawTexts(screenElements, inventorySlot);
357348
screenElements.widget(
358349
TextWidget.dynamicString(() -> shutdownReason)
@@ -608,9 +599,6 @@ protected void addResultMessage(final int state, final boolean wasSuccessful, @N
608599

609600
@Override
610601
protected MultiblockTooltipBuilder createTooltip() {
611-
String casings = this.getCasingBlockItem()
612-
.get(0)
613-
.getDisplayName();
614602

615603
final MultiblockTooltipBuilder tt = new MultiblockTooltipBuilder();
616604
tt.addMachineType("Miner")
@@ -626,8 +614,8 @@ protected MultiblockTooltipBuilder createTooltip() {
626614
+ ".")
627615
.beginStructureBlock(3, 7, 3, false)
628616
.addController("Front bottom")
629-
.addOtherStructurePart(casings, "form the 3x1x3 Base")
630-
.addOtherStructurePart(casings, "1x3x1 pillar above the center of the base (2 minimum total)")
617+
// .addOtherStructurePart(casings, "form the 3x1x3 Base")
618+
// .addOtherStructurePart(casings, "1x3x1 pillar above the center of the base (2 minimum total)")
631619
.addOtherStructurePart(
632620
this.getFrameMaterial().mName + " Frame Boxes",
633621
"Each pillar's side and 1x3x1 on top")

src/main/java/com/hepdd/easytech/common/tileentities/machines/multi/ETHElectricVoidMiners.java

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.hepdd.easytech.common.tileentities.machines.multi;
22

3+
import net.minecraft.block.Block;
34
import net.minecraft.item.ItemStack;
45

56
import com.hepdd.easytech.api.metatileentity.implementations.base.ETHVoidMinerBase;
@@ -28,11 +29,21 @@ public Materials getFrameMaterial() {
2829
return Materials.Steel;
2930
}
3031

31-
@Override
3232
public ItemList getCasingBlockItem() {
3333
return ItemList.Casing_SolidSteel;
3434
}
3535

36+
@Override
37+
public Block getBlock() {
38+
return getCasingBlockItem().getBlock();
39+
}
40+
41+
@Override
42+
public int getMeta() {
43+
return getCasingBlockItem().get(0)
44+
.getItemDamage();
45+
}
46+
3647
@Override
3748
public void setElectricityStats() {
3849
this.mOutputItems = new ItemStack[0];
@@ -70,8 +81,13 @@ public Materials getFrameMaterial() {
7081
}
7182

7283
@Override
73-
public ItemList getCasingBlockItem() {
74-
return ItemList.Casing_CleanStainlessSteel;
84+
public Block getBlock() {
85+
return GregTechAPI.sBlockCasings4;
86+
}
87+
88+
@Override
89+
public int getMeta() {
90+
return 1;
7591
}
7692

7793
@Override
@@ -86,7 +102,7 @@ public void setElectricityStats() {
86102

87103
@Override
88104
public int getCasingTextureIndex() {
89-
return GTUtility.getCasingTextureIndex(GregTechAPI.sBlockCasings4, 1);
105+
return GTUtility.getCasingTextureIndex(getBlock(), getMeta());
90106
}
91107

92108
@Override
@@ -111,8 +127,13 @@ public Materials getFrameMaterial() {
111127
}
112128

113129
@Override
114-
public ItemList getCasingBlockItem() {
115-
return ItemList.Casing_RobustTungstenSteel;
130+
public Block getBlock() {
131+
return GregTechAPI.sBlockCasings4;
132+
}
133+
134+
@Override
135+
public int getMeta() {
136+
return 0;
116137
}
117138

118139
@Override
@@ -127,7 +148,7 @@ public void setElectricityStats() {
127148

128149
@Override
129150
public int getCasingTextureIndex() {
130-
return GTUtility.getCasingTextureIndex(GregTechAPI.sBlockCasings4, 0);
151+
return GTUtility.getCasingTextureIndex(getBlock(), getMeta());
131152
}
132153

133154
@Override

src/main/java/com/hepdd/easytech/common/tileentities/machines/multi/ETHPrimitiveVoidMiner.java

Lines changed: 28 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
11
package com.hepdd.easytech.common.tileentities.machines.multi;
22

3-
import static com.hepdd.easytech.api.enums.ETHTextures.MACHINE_CASING_VOID_MINER_WOOD;
4-
53
import java.util.ArrayList;
6-
import java.util.Arrays;
7-
import java.util.List;
8-
import java.util.stream.Collectors;
94

5+
import net.minecraft.block.Block;
106
import net.minecraft.item.ItemStack;
117
import net.minecraft.tileentity.TileEntityFurnace;
128

9+
import com.gtnewhorizons.modularui.api.math.Alignment;
10+
import com.gtnewhorizons.modularui.common.widget.DynamicPositionedColumn;
11+
import com.gtnewhorizons.modularui.common.widget.SlotWidget;
12+
import com.gtnewhorizons.modularui.common.widget.TextWidget;
1313
import com.hepdd.easytech.api.metatileentity.implementations.base.ETHVoidMinerBase;
1414

15-
import gregtech.api.enums.ItemList;
15+
import gregtech.api.GregTechAPI;
1616
import gregtech.api.enums.Materials;
1717
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
1818
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
1919
import gregtech.api.metatileentity.implementations.MTEMultiBlockBase;
20+
import gregtech.api.util.GTUtility;
2021
import gregtech.api.util.shutdown.ShutDownReasonRegistry;
2122

2223
public class ETHPrimitiveVoidMiner extends ETHVoidMinerBase {
@@ -36,8 +37,13 @@ public ETHPrimitiveVoidMiner(int aID, String aName, String aNameRegional) {
3637
}
3738

3839
@Override
39-
public ItemList getCasingBlockItem() {
40-
return ItemList.Casing_Reinforced_Wood;
40+
public Block getBlock() {
41+
return GregTechAPI.sBlockCasings9;
42+
}
43+
44+
@Override
45+
public int getMeta() {
46+
return 2;
4147
}
4248

4349
@Override
@@ -47,14 +53,14 @@ public Materials getFrameMaterial() {
4753

4854
@Override
4955
public int getCasingTextureIndex() {
50-
return MACHINE_CASING_VOID_MINER_WOOD.ID;
56+
return GTUtility.getCasingTextureIndex(getBlock(), getMeta());
5157
}
5258

5359
@Override
5460
public void setElectricityStats() {
5561
this.mOutputItems = new ItemStack[0];
5662
this.mProgresstime = 0;
57-
this.mMaxProgresstime = 80; // 4s
63+
this.mMaxProgresstime = 40; // 2s
5864
this.mEUt = -1;
5965
setMultiplier(4);
6066
}
@@ -65,13 +71,18 @@ public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
6571
}
6672

6773
@Override
68-
public String[] getInfoData() {
69-
List<String> mInfo = new ArrayList<>(
70-
Arrays.stream(super.getInfoData())
71-
.collect(Collectors.toList()));
72-
mInfo.add("Burn time left:" + this.intBurnTime);
73-
74-
return mInfo.toArray(new String[0]);
74+
public void drawTexts(DynamicPositionedColumn screenElements, SlotWidget inventorySlot) {
75+
super.drawTexts(screenElements, inventorySlot);
76+
screenElements.widget(
77+
TextWidget.dynamicString(() -> "Burn time left: " + this.intBurnTime / 20 + " s")
78+
.setSynced(true)
79+
.setTextAlignment(Alignment.CenterLeft)
80+
.setDefaultColor(COLOR_TEXT_WHITE.get()))
81+
.widget(
82+
TextWidget.dynamicString(() -> getInfoData()[2])
83+
.setSynced(true)
84+
.setTextAlignment(Alignment.CenterLeft)
85+
.setDefaultColor(COLOR_TEXT_WHITE.get()));
7586
}
7687

7788
@Override

src/main/java/com/hepdd/easytech/common/tileentities/machines/multi/ETHSteamVoidMiner.java

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,29 @@
11
package com.hepdd.easytech.common.tileentities.machines.multi;
22

3+
import net.minecraft.block.Block;
34
import net.minecraft.item.ItemStack;
45

56
import com.hepdd.easytech.api.metatileentity.implementations.base.ETHVoidMinerBase;
67

7-
import gregtech.api.enums.ItemList;
8+
import gregtech.api.GregTechAPI;
89
import gregtech.api.enums.Materials;
910
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
1011
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
12+
import gregtech.api.metatileentity.implementations.MTEMultiBlockBase;
1113
import gregtech.api.util.GTUtility;
1214

1315
public class ETHSteamVoidMiner extends ETHVoidMinerBase {
1416

1517
public ETHSteamVoidMiner(int aID, String aName, String aNameRegional) {
1618
super(aID, aName, aNameRegional);
19+
MTEMultiBlockBase.disableMaintenance = true;
20+
if (!shouldCheckMaintenance()) fixAllIssues();
1721
}
1822

1923
public ETHSteamVoidMiner(String aName) {
2024
super(aName);
25+
MTEMultiBlockBase.disableMaintenance = true;
26+
if (!shouldCheckMaintenance()) fixAllIssues();
2127
}
2228

2329
@Override
@@ -26,8 +32,13 @@ public Materials getFrameMaterial() {
2632
}
2733

2834
@Override
29-
public ItemList getCasingBlockItem() {
30-
return ItemList.Hull_Bronze;
35+
public Block getBlock() {
36+
return GregTechAPI.sBlockCasings1;
37+
}
38+
39+
@Override
40+
public int getMeta() {
41+
return 10;
3142
}
3243

3344
@Override
@@ -41,7 +52,7 @@ public void setElectricityStats() {
4152

4253
@Override
4354
public int getCasingTextureIndex() {
44-
return GTUtility.getCasingTextureIndex(ItemList.Hull_Bronze.getBlock(), 0);
55+
return GTUtility.getCasingTextureIndex(getBlock(), getMeta());
4556
}
4657

4758
@Override

0 commit comments

Comments
 (0)