Skip to content

Commit a5de767

Browse files
committed
添加大型焦炉
1 parent 903a997 commit a5de767

File tree

14 files changed

+982
-6
lines changed

14 files changed

+982
-6
lines changed

src/main/java/com/hepdd/easytech/CommonProxy.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public void preInit(FMLPreInitializationEvent event) {
1313
Config.synchronizeConfiguration(event.getSuggestedConfigurationFile());
1414

1515
EasyTechnology.LOG.info(Config.greeting);
16-
EasyTechnology.LOG.info("I am MyMod at version " + Tags.VERSION);
16+
EasyTechnology.LOG.info("I am EasyTechnology at version " + Tags.VERSION);
1717
}
1818

1919
// load "Do your mod setup. Build whatever data structures you care about. Register recipes." (Remove if not needed)

src/main/java/com/hepdd/easytech/api/enums/ETHItemList.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010

1111
public enum ETHItemList {
1212

13-
Machine_Big_Bricked_BlastFurnace;
13+
Machine_Big_Bricked_BlastFurnace,
14+
Machine_Big_Coke_Oven;
1415

1516
private boolean mHasNotBeenSet;
1617
private boolean mDeprecated;
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.hepdd.easytech.api.enums;
2+
3+
import gregtech.api.recipe.RecipeMap;
4+
import gregtech.api.recipe.RecipeMapBackend;
5+
import gregtech.api.recipe.RecipeMapBuilder;
6+
7+
public final class ETHRecipeMaps {
8+
9+
public static final RecipeMap<RecipeMapBackend> bigCokeOvenRecipe = RecipeMapBuilder.of("gt.recipe.bigcokeOven")
10+
.maxIO(1, 1, 0, 1)
11+
.minInputs(1, 0)
12+
.build();
13+
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package com.hepdd.easytech.api.enums;
2+
3+
import static gregtech.api.enums.Mods.GregTech;
4+
5+
import net.minecraft.client.renderer.texture.TextureMap;
6+
import net.minecraft.util.IIcon;
7+
import net.minecraft.util.ResourceLocation;
8+
9+
import gregtech.api.GregTechAPI;
10+
import gregtech.api.interfaces.IIconContainer;
11+
12+
public class ETHTextures {
13+
14+
public enum BlockIcons {
15+
16+
MACHINE_CASING_COKEOVEN_INACTIVE,
17+
MACHINE_CASING_COKEOVEN_ACTIVE,
18+
MACHINE_CASING_COKEOVEN;
19+
20+
public static class CustomIcon implements IIconContainer, Runnable {
21+
22+
protected IIcon mIcon;
23+
protected String mIconName;
24+
25+
public CustomIcon(String aIconName) {
26+
mIconName = !aIconName.contains(":") ? GregTech.getResourcePath(aIconName) : aIconName;
27+
GregTechAPI.sGTBlockIconload.add(this);
28+
}
29+
30+
@Override
31+
public void run() {
32+
mIcon = GregTechAPI.sBlockIcons.registerIcon(mIconName);
33+
}
34+
35+
@Override
36+
public IIcon getIcon() {
37+
return mIcon;
38+
}
39+
40+
@Override
41+
public IIcon getOverlayIcon() {
42+
return null;
43+
}
44+
45+
@Override
46+
public ResourceLocation getTextureFile() {
47+
return TextureMap.locationBlocksTexture;
48+
}
49+
}
50+
}
51+
}
Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
package com.hepdd.easytech.common.tileentities.machines.multi;
2+
3+
import static gregtech.api.util.GTWaila.getMachineProgressString;
4+
import static mods.railcraft.common.blocks.machine.alpha.EnumMachineAlpha.COKE_OVEN;
5+
6+
import java.util.List;
7+
8+
import net.minecraft.block.Block;
9+
import net.minecraft.entity.player.EntityPlayerMP;
10+
import net.minecraft.item.ItemStack;
11+
import net.minecraft.nbt.NBTTagCompound;
12+
import net.minecraft.tileentity.TileEntity;
13+
import net.minecraft.world.World;
14+
import net.minecraftforge.common.util.ForgeDirection;
15+
16+
import gregtech.GTMod;
17+
import gregtech.api.enums.SteamVariant;
18+
import gregtech.api.enums.Textures;
19+
import gregtech.api.interfaces.ISecondaryDescribable;
20+
import gregtech.api.interfaces.ITexture;
21+
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
22+
import gregtech.api.metatileentity.MetaTileEntity;
23+
import gregtech.api.render.TextureFactory;
24+
import gregtech.api.util.MultiblockTooltipBuilder;
25+
import mcp.mobius.waila.api.IWailaConfigHandler;
26+
import mcp.mobius.waila.api.IWailaDataAccessor;
27+
28+
public class ETHBigCokeOven extends ETHCokeOven implements ISecondaryDescribable {
29+
30+
private static final ITexture[] FACING_SIDE = {
31+
TextureFactory.of(new Textures.BlockIcons.CustomIcon("iconsets/MACHINE_CASING_COKEOVEN")) };
32+
private static final ITexture[] FACING_FRONT = {
33+
TextureFactory.of(new Textures.BlockIcons.CustomIcon("iconsets/MACHINE_CASING_COKEOVEN_INACTIVE")) };
34+
private static final ITexture[] FACING_ACTIVE = {
35+
TextureFactory.of(new Textures.BlockIcons.CustomIcon("iconsets/MACHINE_CASING_COKEOVEN_ACTIVE")) };
36+
private MultiblockTooltipBuilder tooltipBuilder;
37+
38+
public ETHBigCokeOven(int aID, String aName, String aNameRegional) {
39+
super(aID, aName, aNameRegional);
40+
}
41+
42+
public ETHBigCokeOven(String aName) {
43+
super(aName);
44+
}
45+
46+
@Override
47+
public String[] getDescription() {
48+
return getCurrentDescription();
49+
}
50+
51+
// @Override
52+
// public boolean isDisplaySecondaryDescription() {
53+
// return ISecondaryDescribable.super.isDisplaySecondaryDescription();
54+
// }
55+
56+
public String[] getPrimaryDescription() {
57+
return getTooltip().getInformation();
58+
}
59+
60+
public String[] getSecondaryDescription() {
61+
return getTooltip().getStructureInformation();
62+
}
63+
64+
protected MultiblockTooltipBuilder getTooltip() {
65+
if (tooltipBuilder == null) {
66+
tooltipBuilder = new MultiblockTooltipBuilder();
67+
tooltipBuilder.addMachineType("Blast Furnace, BBF")
68+
.addInfo("Usable for Steel and general Pyrometallurgy")
69+
.addInfo("Has a useful interface, unlike other gregtech multis")
70+
.addPollutionAmount(GTMod.gregtechproxy.mPollutionPrimitveBlastFurnacePerSecond)
71+
.beginStructureBlock(7, 6, 7, false)
72+
.addController("Front center")
73+
.toolTipFinisher();
74+
}
75+
return tooltipBuilder;
76+
}
77+
78+
@Override
79+
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirection side, ForgeDirection aFacing,
80+
int colorIndex, boolean aActive, boolean redstoneLevel) {
81+
if (side == aFacing) {
82+
return aActive ? FACING_ACTIVE : FACING_FRONT;
83+
}
84+
return FACING_SIDE;
85+
}
86+
87+
@Override
88+
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
89+
return new ETHBigCokeOven(this.mName);
90+
}
91+
92+
@Override
93+
protected Block getCasingBlock() {
94+
return COKE_OVEN.getBlock();
95+
}
96+
97+
@Override
98+
protected int getCasingMetaID() {
99+
return 7;
100+
}
101+
102+
@Override
103+
public String getName() {
104+
return "大型焦炉";
105+
}
106+
107+
@Override
108+
public SteamVariant getSteamVariant() {
109+
return SteamVariant.PRIMITIVE;
110+
}
111+
112+
@Override
113+
public void getWailaBody(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor,
114+
IWailaConfigHandler config) {
115+
super.getWailaBody(itemStack, currenttip, accessor, config);
116+
if (!this.getBaseMetaTileEntity()
117+
.isInvalidTileEntity()) {
118+
NBTTagCompound nbt = accessor.getNBTData();
119+
currenttip.add(
120+
getMachineProgressString(
121+
this.getBaseMetaTileEntity()
122+
.isActive(),
123+
nbt.getInteger("mMaxProgressTime"),
124+
nbt.getInteger("mProgressTime")));
125+
int level = nbt.getInteger("mLevel");
126+
currenttip.add("最大并行数:" + (level + 4));
127+
}
128+
}
129+
130+
@Override
131+
public void getWailaNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompound tag, World world, int x, int y,
132+
int z) {
133+
super.getWailaNBTData(player, tile, tag, world, x, y, z);
134+
if (!this.getBaseMetaTileEntity()
135+
.isInvalidTileEntity()) {
136+
tag.setInteger("mProgressTime", this.getProgresstime());
137+
tag.setInteger("mMaxProgressTime", this.maxProgresstime());
138+
tag.setInteger("mLevel", this.getLevel());
139+
}
140+
}
141+
142+
@Override
143+
public String[] getStructureDescription(ItemStack stackSize) {
144+
return getTooltip().getStructureHint();
145+
}
146+
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ protected int getCasingMetaID() {
103103

104104
@Override
105105
public String getName() {
106-
return "Super Bricked Blast Furnace";
106+
return "大型砖高炉";
107107
}
108108

109109
@Override

0 commit comments

Comments
 (0)