Skip to content

Commit 6860805

Browse files
committed
添加原始仓室
1 parent f3b53bb commit 6860805

File tree

7 files changed

+289
-3
lines changed

7 files changed

+289
-3
lines changed

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,15 @@
1111
public enum ETHItemList {
1212

1313
Machine_Big_Bricked_BlastFurnace,
14-
Machine_Big_Coke_Oven;
14+
Machine_Big_Coke_Oven,
15+
16+
Hatch_Input_Primitive,
17+
Hatch_Output_Primitive,
18+
Hatch_Input_Bus_Primitive,
19+
Hatch_Output_Bus_Primitive,
20+
21+
22+
;
1523

1624
private boolean mHasNotBeenSet;
1725
private boolean mDeprecated;
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
package com.hepdd.easytech.api.metatileentity.implementations;
2+
3+
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
4+
import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
5+
import gregtech.api.enums.Textures;
6+
import gregtech.api.gui.modularui.GTUIInfos;
7+
import gregtech.api.interfaces.ITexture;
8+
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
9+
import gregtech.api.metatileentity.MetaTileEntity;
10+
import gregtech.api.metatileentity.implementations.MTEHatchInput;
11+
import gregtech.api.render.TextureFactory;
12+
import net.minecraft.entity.player.EntityPlayer;
13+
import net.minecraft.init.Blocks;
14+
import net.minecraft.item.ItemStack;
15+
import net.minecraftforge.common.util.ForgeDirection;
16+
17+
public class ETHHatchInput extends MTEHatchInput {
18+
19+
public ETHHatchInput(int aID, int aSlot, String aName, String aNameRegional, int aTier) {
20+
super(aID, aSlot, aName, aNameRegional, aTier);
21+
}
22+
23+
public ETHHatchInput(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
24+
super(aName, aTier, aDescription, aTextures);
25+
}
26+
27+
@Override
28+
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
29+
return new ETHHatchInput(mName, mTier, mDescriptionArray, mTextures);
30+
}
31+
32+
@Override
33+
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirection side, ForgeDirection aFacing, int colorIndex, boolean aActive, boolean redstoneLevel) {
34+
ITexture background;
35+
36+
background = TextureFactory.of(Blocks.stonebrick);
37+
38+
if (side != aFacing) {
39+
return new ITexture[] { background };
40+
} else {
41+
if (aActive) {
42+
return getTexturesActive(background);
43+
} else {
44+
return getTexturesInactive(background);
45+
}
46+
}
47+
}
48+
49+
@Override
50+
public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
51+
ItemStack aStack) {
52+
return aIndex == 1;
53+
}
54+
55+
@Override
56+
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
57+
ItemStack aStack) {
58+
return aIndex == 0;
59+
}
60+
61+
@Override
62+
public int getCapacity() {
63+
return 64 * 1000;
64+
}
65+
66+
@Override
67+
public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { }
68+
}
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
package com.hepdd.easytech.api.metatileentity.implementations;
2+
3+
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
4+
import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
5+
import gregtech.api.interfaces.ITexture;
6+
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
7+
import gregtech.api.metatileentity.MetaTileEntity;
8+
import gregtech.api.metatileentity.implementations.MTEHatchInputBus;
9+
import gregtech.api.render.TextureFactory;
10+
import net.minecraft.init.Blocks;
11+
import net.minecraft.item.ItemStack;
12+
import net.minecraftforge.common.util.ForgeDirection;
13+
14+
public class ETHHatchInputBus extends MTEHatchInputBus {
15+
public ETHHatchInputBus(int id, String name, String nameRegional, int tier) {
16+
super(id, name, nameRegional, tier);
17+
}
18+
19+
public ETHHatchInputBus(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
20+
super(aName, aTier, aDescription, aTextures);
21+
}
22+
23+
@Override
24+
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
25+
return new ETHHatchInputBus(mName, mTier, mDescriptionArray, mTextures);
26+
}
27+
28+
@Override
29+
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirection side, ForgeDirection aFacing, int colorIndex, boolean aActive, boolean redstoneLevel) {
30+
ITexture background;
31+
32+
background = TextureFactory.of(Blocks.stonebrick);
33+
34+
if (side != aFacing) {
35+
return new ITexture[] { background };
36+
} else {
37+
if (aActive) {
38+
return getTexturesActive(background);
39+
} else {
40+
return getTexturesInactive(background);
41+
}
42+
}
43+
}
44+
45+
@Override
46+
public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
47+
ItemStack aStack) {
48+
return aIndex != getCircuitSlot();
49+
}
50+
51+
@Override
52+
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
53+
ItemStack aStack) {
54+
return aIndex != getCircuitSlot()
55+
&& (mRecipeMap == null || disableFilter || mRecipeMap.containsInput(aStack))
56+
&& (disableLimited || limitedAllowPutStack(aIndex, aStack));
57+
}
58+
59+
@Override
60+
public boolean allowSelectCircuit() {
61+
return false;
62+
}
63+
64+
@Override
65+
public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) {
66+
67+
}
68+
}
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
package com.hepdd.easytech.api.metatileentity.implementations;
2+
3+
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
4+
import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
5+
import gregtech.api.interfaces.ITexture;
6+
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
7+
import gregtech.api.metatileentity.MetaTileEntity;
8+
import gregtech.api.metatileentity.implementations.MTEHatchInput;
9+
import gregtech.api.metatileentity.implementations.MTEHatchOutput;
10+
import gregtech.api.render.TextureFactory;
11+
import net.minecraft.init.Blocks;
12+
import net.minecraft.item.ItemStack;
13+
import net.minecraftforge.common.util.ForgeDirection;
14+
15+
public class ETHHatchOutput extends MTEHatchOutput {
16+
public ETHHatchOutput(int aID, String aName, String aNameRegional, int aTier) {
17+
super(aID, aName, aNameRegional, aTier);
18+
}
19+
20+
public ETHHatchOutput(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
21+
super(aName, aTier, aDescription, aTextures);
22+
}
23+
24+
@Override
25+
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
26+
return new ETHHatchOutput(mName, mTier, mDescriptionArray, mTextures);
27+
}
28+
29+
@Override
30+
public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
31+
ItemStack aStack) {
32+
return aIndex == 1;
33+
}
34+
35+
@Override
36+
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
37+
ItemStack aStack) {
38+
return aIndex == 0;
39+
}
40+
41+
@Override
42+
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirection side, ForgeDirection aFacing, int colorIndex, boolean aActive, boolean redstoneLevel) {
43+
ITexture background;
44+
45+
background = TextureFactory.of(Blocks.stonebrick);
46+
47+
if (side != aFacing) {
48+
return new ITexture[] { background };
49+
} else {
50+
if (aActive) {
51+
return getTexturesActive(background);
52+
} else {
53+
return getTexturesInactive(background);
54+
}
55+
}
56+
}
57+
58+
@Override
59+
public int getCapacity() {
60+
return 64 * 1000;
61+
}
62+
63+
@Override
64+
public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { }
65+
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package com.hepdd.easytech.api.metatileentity.implementations;
2+
3+
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
4+
import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
5+
import gregtech.api.gui.widgets.PhantomItemButton;
6+
import gregtech.api.interfaces.ITexture;
7+
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
8+
import gregtech.api.metatileentity.MetaTileEntity;
9+
import gregtech.api.metatileentity.implementations.MTEHatchOutputBus;
10+
import gregtech.api.render.TextureFactory;
11+
import net.minecraft.init.Blocks;
12+
import net.minecraft.item.ItemStack;
13+
import net.minecraftforge.common.util.ForgeDirection;
14+
15+
public class ETHHatchOutputBus extends MTEHatchOutputBus {
16+
public ETHHatchOutputBus(int aID, String aName, String aNameRegional, int aTier) {
17+
super(aID, aName, aNameRegional, aTier);
18+
}
19+
20+
public ETHHatchOutputBus(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
21+
super(aName, aTier, aDescription, aTextures);
22+
}
23+
24+
@Override
25+
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
26+
return new ETHHatchOutputBus(mName, mTier, mDescriptionArray, mTextures);
27+
}
28+
29+
@Override
30+
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirection side, ForgeDirection aFacing, int colorIndex, boolean aActive, boolean redstoneLevel) {
31+
ITexture background;
32+
33+
background = TextureFactory.of(Blocks.stonebrick);
34+
35+
if (side != aFacing) {
36+
return new ITexture[] { background };
37+
} else {
38+
if (aActive) {
39+
return getTexturesActive(background);
40+
} else {
41+
return getTexturesInactive(background);
42+
}
43+
}
44+
}
45+
46+
@Override
47+
public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
48+
ItemStack aStack) {
49+
return true;
50+
}
51+
52+
@Override
53+
public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) {
54+
builder.widget(
55+
new PhantomItemButton(this).setPos(getGUIWidth() - 25, 40)
56+
.setBackground(PhantomItemButton.FILTER_BACKGROUND));
57+
}
58+
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,7 @@ public abstract class ETHCokeOven extends MetaTileEntity
6363
private static final String STRUCTURE_PIECE_BOTTOM = "bottom";
6464
private static final int MAX_LEVEL = 12;
6565
private FluidTankLong tank;
66-
public IFluidTanksHandler fluidTankHandler;
67-
private IFluidHandler fluidHandler;
66+
private IFluidTanksHandler fluidTankHandler;
6867

6968
private static final ClassValue<IStructureDefinition<ETHCokeOven>> STRUCTURE_DEFINITION = new ClassValue<>() {
7069

@@ -114,6 +113,7 @@ protected IStructureDefinition<ETHCokeOven> computeValue(Class<?> type) {
114113

115114
public ETHCokeOven(int aID, String aName, String aNameRegional) {
116115
super(aID, aName, aNameRegional, INPUT_SLOTS + OUTPUT_SLOTS);
116+
117117
tank = new FluidTankLong(64 * 1000);
118118
fluidTankHandler = new FluidTanksHandler(tank);
119119
}

src/main/java/com/hepdd/easytech/loaders/preload/ETHLoaderMetaTileEntities.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package com.hepdd.easytech.loaders.preload;
22

33
import com.hepdd.easytech.api.enums.ETHItemList;
4+
import com.hepdd.easytech.api.metatileentity.implementations.ETHHatchInput;
5+
import com.hepdd.easytech.api.metatileentity.implementations.ETHHatchInputBus;
6+
import com.hepdd.easytech.api.metatileentity.implementations.ETHHatchOutput;
7+
import com.hepdd.easytech.api.metatileentity.implementations.ETHHatchOutputBus;
48
import com.hepdd.easytech.common.tileentities.machines.multi.ETHBigCokeOven;
59
import com.hepdd.easytech.common.tileentities.machines.multi.ETHBrickedBlastFurnace;
610

@@ -9,6 +13,7 @@ public class ETHLoaderMetaTileEntities implements Runnable {
913
@Override
1014
public void run() {
1115
registerMultiblockControllers();
16+
registerHatch();
1217
}
1318

1419
private static void registerMultiblockControllers() {
@@ -18,4 +23,18 @@ private static void registerMultiblockControllers() {
1823
ETHItemList.Machine_Big_Coke_Oven
1924
.set(new ETHBigCokeOven(2801, "multimachine.bigcokeoven", "大型焦炉").getStackForm(1L));
2025
}
26+
27+
private static void registerHatch(){
28+
ETHItemList.Hatch_Input_Primitive
29+
.set(new ETHHatchInput(4000,1,"hatch.input.tier.primitive","Primitive Input Hatch",0).getStackForm(1L));
30+
31+
ETHItemList.Hatch_Output_Primitive
32+
.set(new ETHHatchOutput(4001, "hatch.output.tier.primitive","Primitive Output Hatch",0).getStackForm(1L));
33+
34+
ETHItemList.Hatch_Input_Bus_Primitive
35+
.set(new ETHHatchInputBus(4002,"hatch.inputbus.tier.primitive","Primitive Input Bus",0).getStackForm(1L));
36+
37+
ETHItemList.Hatch_Output_Bus_Primitive
38+
.set(new ETHHatchOutputBus(4003,"hatch.outputbus.tier.primitive","Primitive Output Bus",0).getStackForm(1L));
39+
}
2140
}

0 commit comments

Comments
 (0)