aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorCaedis <Caedis@users.noreply.github.com>2023-10-23 14:07:25 -0500
committerGitHub <noreply@github.com>2023-10-23 14:07:25 -0500
commit04c1248281f3c067e2ba4a979e7d363704b06663 (patch)
tree6d0841172f39b23d62d18f3c0e75aa802db80ccd /src/main
parentd3eeacdeb9a7e0bb64f608dd92eb06002acf0ffe (diff)
downloadGT5-Unofficial-04c1248281f3c067e2ba4a979e7d363704b06663.tar.gz
GT5-Unofficial-04c1248281f3c067e2ba4a979e7d363704b06663.tar.bz2
GT5-Unofficial-04c1248281f3c067e2ba4a979e7d363704b06663.zip
Backport paint solvent from GTCEu (#2346)
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/gregtech/api/enums/ItemList.java4
-rw-r--r--src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java56
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_Spray_Color.java17
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_Spray_Color_Remover.java48
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/FluidCannerRecipes.java16
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/465.pngbin0 -> 271 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/466.pngbin0 -> 271 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/467.pngbin0 -> 232 bytes
8 files changed, 131 insertions, 10 deletions
diff --git a/src/main/java/gregtech/api/enums/ItemList.java b/src/main/java/gregtech/api/enums/ItemList.java
index 1ed3057dcd..30eda5b677 100644
--- a/src/main/java/gregtech/api/enums/ItemList.java
+++ b/src/main/java/gregtech/api/enums/ItemList.java
@@ -737,6 +737,7 @@ public enum ItemList implements IItemContainer {
Spray_Color_13,
Spray_Color_14,
Spray_Color_15,
+ Spray_Color_Remover,
Spray_Color_Used_00,
Spray_Color_Used_01,
@@ -754,6 +755,9 @@ public enum ItemList implements IItemContainer {
Spray_Color_Used_13,
Spray_Color_Used_14,
Spray_Color_Used_15,
+ Spray_Color_Used_Remover,
+
+ Spray_Color_Remover_Empty,
Armor_Cheat,
Armor_Cloaking,
diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
index ff8d1c3e94..e1163f84eb 100644
--- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
+++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
@@ -130,6 +130,7 @@ import gregtech.common.items.behaviors.Behaviour_Scanner;
import gregtech.common.items.behaviors.Behaviour_SensorKit;
import gregtech.common.items.behaviors.Behaviour_Sonictron;
import gregtech.common.items.behaviors.Behaviour_Spray_Color;
+import gregtech.common.items.behaviors.Behaviour_Spray_Color_Remover;
import gregtech.common.items.behaviors.Behaviour_WrittenBook;
public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
@@ -1194,6 +1195,53 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
addItemBehavior(32000 + tLastID, tBehaviour);
addItemBehavior(32001 + tLastID, tBehaviour);
}
+
+ ItemList.Spray_Color_Remover.set(
+ addItem(
+ tLastID = 465,
+ "Spray Can Solvent",
+ "Full",
+ new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 4L),
+ new TC_Aspects.TC_AspectStack(TC_Aspects.PERDITIO, 8L)));
+ ItemList.Spray_Color_Used_Remover.set(
+ addItem(
+ tLastID = 466,
+ "Spray Can Solvent",
+ "Used",
+ new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 3L),
+ new TC_Aspects.TC_AspectStack(TC_Aspects.PERDITIO, 6L),
+ SubTag.INVISIBLE));
+ IItemBehaviour<GT_MetaBase_Item> tBehaviour = new Behaviour_Spray_Color_Remover(
+ ItemList.Spray_Empty.get(1L),
+ ItemList.Spray_Color_Used_Remover.get(1L),
+ ItemList.Spray_Color_Remover.get(1L),
+ 1024L);
+ addItemBehavior(32000 + 465, tBehaviour);
+ addItemBehavior(32000 + 466, tBehaviour);
+
+ ItemList.Spray_Color_Remover_Empty.set(
+ addItem(
+ tLastID = 467,
+ "Empty Spray Can Solvent Cannister",
+ "Used for making Spray Can Solvent",
+ new ItemData(
+ Materials.Aluminium,
+ OrePrefixes.plateDouble.mMaterialAmount * 4L,
+ Materials.Redstone,
+ OrePrefixes.dust.mMaterialAmount),
+ new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L),
+ new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 1L)));
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L),
+ ItemList.Large_Fluid_Cell_Aluminium.get(1),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Spray_Color_Remover_Empty.get(1L))
+ .duration(40 * SECONDS)
+ .eut(1)
+ .addTo(sAssemblerRecipes);
+
ItemList.Tool_Matches.set(
addItem(
tLastID = 471,
@@ -1217,11 +1265,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L),
new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 2L)));
- IItemBehaviour<GT_MetaBase_Item> tBehaviour = new Behaviour_Lighter(
- null,
- ItemList.Tool_Matches.get(1L),
- ItemList.Tool_Matches.get(1L),
- 1L);
+ tBehaviour = new Behaviour_Lighter(null, ItemList.Tool_Matches.get(1L), ItemList.Tool_Matches.get(1L), 1L);
addItemBehavior(32471, tBehaviour);
tBehaviour = new Behaviour_Lighter(
null,
@@ -4570,7 +4614,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
@Override
public ItemStack getContainerItem(ItemStack aStack) {
int aDamage = aStack.getItemDamage();
- if ((aDamage >= 32430) && (aDamage <= 32461)) {
+ if (((aDamage >= 32430) && (aDamage <= 32461)) || (aDamage == 32465 || aDamage == 32466)) {
return ItemList.Spray_Empty.get(1L);
}
if ((aDamage == 32479) || (aDamage == 32476)) {
diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Spray_Color.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Spray_Color.java
index f7e7571c9e..11693b05d2 100644
--- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Spray_Color.java
+++ b/src/main/java/gregtech/common/items/behaviors/Behaviour_Spray_Color.java
@@ -40,18 +40,18 @@ public class Behaviour_Spray_Color extends Behaviour_None {
Blocks.stained_glass_pane,
Blocks.carpet,
Blocks.hardened_clay);
- private final String mTooltip;
+ protected String mTooltip;
private final String mTooltipUses = GT_LanguageManager
.addStringLocalization("gt.behaviour.paintspray.uses", "Remaining Uses:");
private final String mTooltipUnstackable = GT_LanguageManager
.addStringLocalization("gt.behaviour.unstackable", "Not usable when stacked!");
private final String mTooltipChain = GT_LanguageManager.addStringLocalization(
"gt.behaviour.paintspray.chain",
- "If used while sneaking it will paint a chain of blocks");
+ "If used while sneaking it will spray a chain of blocks");
private final String mTooltipChainAmount = GT_LanguageManager.addStringLocalization(
"gt.behaviour.paintspray.chain",
- "Paints up to %d blocks, in the direction you're looking at");
+ "Sprays up to %d blocks, in the direction you're looking at");
public Behaviour_Spray_Color(ItemStack aEmpty, ItemStack aUsed, ItemStack aFull, long aUses, int aColor) {
this.mEmpty = aEmpty;
@@ -64,6 +64,15 @@ public class Behaviour_Spray_Color extends Behaviour_None {
"Can Color things in " + Dyes.get(this.mColor).mName);
}
+ public Behaviour_Spray_Color(ItemStack aEmpty, ItemStack aUsed, ItemStack aFull, long aUses) {
+ this.mEmpty = aEmpty;
+ this.mUsed = aUsed;
+ this.mFull = aFull;
+ this.mUses = aUses;
+ this.mColor = 0;
+ mTooltip = "";
+ }
+
@Override
public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX,
int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) {
@@ -137,7 +146,7 @@ public class Behaviour_Spray_Color extends Behaviour_None {
return rOutput;
}
- private boolean colorize(World aWorld, int aX, int aY, int aZ, ForgeDirection side, EntityPlayer player) {
+ protected boolean colorize(World aWorld, int aX, int aY, int aZ, ForgeDirection side, EntityPlayer player) {
final Block aBlock = aWorld.getBlock(aX, aY, aZ);
if (aBlock != Blocks.air) {
if (this.mAllowedVanillaBlocks.contains(aBlock) || aBlock instanceof BlockColored) {
diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Spray_Color_Remover.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Spray_Color_Remover.java
new file mode 100644
index 0000000000..0b73b4f7fc
--- /dev/null
+++ b/src/main/java/gregtech/common/items/behaviors/Behaviour_Spray_Color_Remover.java
@@ -0,0 +1,48 @@
+package gregtech.common.items.behaviors;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+import net.minecraftforge.common.util.ForgeDirection;
+
+import appeng.api.implementations.tiles.IColorableTile;
+import appeng.api.util.AEColor;
+import appeng.block.networking.BlockCableBus;
+import gregtech.api.interfaces.tileentity.IColoredTileEntity;
+import gregtech.api.util.GT_LanguageManager;
+
+public class Behaviour_Spray_Color_Remover extends Behaviour_Spray_Color {
+
+ public Behaviour_Spray_Color_Remover(ItemStack aEmpty, ItemStack aUsed, ItemStack aFull, long aUses) {
+ super(aEmpty, aUsed, aFull, aUses);
+ this.mTooltip = GT_LanguageManager
+ .addStringLocalization("gt.behaviour.paintspray.solvent.tooltip", "Can remove paint from things");
+ }
+
+ @Override
+ protected boolean colorize(World aWorld, int aX, int aY, int aZ, ForgeDirection side, EntityPlayer player) {
+ final Block aBlock = aWorld.getBlock(aX, aY, aZ);
+ if (aBlock != Blocks.air) {
+ if (aBlock instanceof IColorableTile) {
+ return ((IColorableTile) aBlock).recolourBlock(side, AEColor.Transparent, player);
+ }
+
+ if (aBlock instanceof BlockCableBus) {
+ return ((BlockCableBus) aBlock)
+ .recolourBlock(aWorld, aX, aY, aZ, side, AEColor.Transparent.ordinal(), player);
+ }
+
+ TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
+ if (tTileEntity instanceof IColoredTileEntity gte) {
+ if (gte.getColorization() >= 0) {
+ gte.setColorization((byte) -1);
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/FluidCannerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FluidCannerRecipes.java
index ce27eb4a0d..23acb5c772 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/FluidCannerRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/FluidCannerRecipes.java
@@ -73,5 +73,21 @@ public class FluidCannerRecipes implements Runnable {
.duration(4)
.eut(1)
.addTo(sFluidCannerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Spray_Color_Remover_Empty.get(1))
+ .fluidInputs(Materials.Acetone.getFluid(4000))
+ .itemOutputs(ItemList.Spray_Color_Remover.get(1))
+ .duration(74)
+ .eut(1)
+ .addTo(sFluidCannerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Spray_Color_Remover.get(1))
+ .itemOutputs(ItemList.Spray_Color_Remover_Empty.get(1))
+ .fluidOutputs(Materials.Acetone.getFluid(4000))
+ .duration(74)
+ .eut(1)
+ .addTo(sFluidCannerRecipes);
}
}
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/465.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/465.png
new file mode 100644
index 0000000000..36ed2bbb07
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/465.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/466.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/466.png
new file mode 100644
index 0000000000..36ed2bbb07
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/466.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/467.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/467.png
new file mode 100644
index 0000000000..5f7e634adf
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/467.png
Binary files differ