aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core
diff options
context:
space:
mode:
authorAlkalus <draknyte1@hotmail.com>2021-05-20 23:07:24 +0000
committerAlkalus <draknyte1@hotmail.com>2021-05-20 23:07:24 +0000
commit7881c840421c191e8c4249fc303e184fa1cbf9a8 (patch)
tree0e1f8d8d19ca14e14dfb16c1ed49750935612dfa /src/Java/gtPlusPlus/core
parentde40c882cb16535deae1c29b22f1a535747db536 (diff)
parent5316a0ffcbc403e17a06d4c9e28d57e202f0aafe (diff)
downloadGT5-Unofficial-7881c840421c191e8c4249fc303e184fa1cbf9a8.tar.gz
GT5-Unofficial-7881c840421c191e8c4249fc303e184fa1cbf9a8.tar.bz2
GT5-Unofficial-7881c840421c191e8c4249fc303e184fa1cbf9a8.zip
Merged in MultiFixes (pull request #11)
MultiFixes
Diffstat (limited to 'src/Java/gtPlusPlus/core')
-rw-r--r--src/Java/gtPlusPlus/core/block/ModBlocks.java28
-rw-r--r--src/Java/gtPlusPlus/core/block/base/BasicTileBlockWithTooltip.java13
-rw-r--r--src/Java/gtPlusPlus/core/block/base/BlockBaseFluid.java3
-rw-r--r--src/Java/gtPlusPlus/core/block/machine/EggBox.java175
-rw-r--r--src/Java/gtPlusPlus/core/block/machine/VolumetricFlaskSetter.java169
-rw-r--r--src/Java/gtPlusPlus/core/client/model/ModelEggBox.java65
-rw-r--r--src/Java/gtPlusPlus/core/client/model/tabula/ModelTabulaBase.java38
-rw-r--r--src/Java/gtPlusPlus/core/client/renderer/particle/EntityDropParticleFX.java96
-rw-r--r--src/Java/gtPlusPlus/core/client/renderer/tabula/RenderTabulaBase.java46
-rw-r--r--src/Java/gtPlusPlus/core/common/CommonProxy.java38
-rw-r--r--src/Java/gtPlusPlus/core/common/compat/COMPAT_ExtraUtils.java2
-rw-r--r--src/Java/gtPlusPlus/core/container/Container_DecayablesChest.java9
-rw-r--r--src/Java/gtPlusPlus/core/container/Container_EggBox.java140
-rw-r--r--src/Java/gtPlusPlus/core/container/Container_VolumetricFlaskSetter.java185
-rw-r--r--src/Java/gtPlusPlus/core/entity/InternalEntityRegistry.java16
-rw-r--r--src/Java/gtPlusPlus/core/gui/machine/GUI_EggBox.java60
-rw-r--r--src/Java/gtPlusPlus/core/gui/machine/GUI_VolumetricFlaskSetter.java183
-rw-r--r--src/Java/gtPlusPlus/core/gui/widget/GuiValueField.java86
-rw-r--r--src/Java/gtPlusPlus/core/handler/BookHandler.java255
-rw-r--r--src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java68
-rw-r--r--src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java4
-rw-r--r--src/Java/gtPlusPlus/core/handler/GuiHandler.java42
-rw-r--r--src/Java/gtPlusPlus/core/handler/PacketHandler.java118
-rw-r--r--src/Java/gtPlusPlus/core/handler/StopAnnoyingFuckingAchievements.java30
-rw-r--r--src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java17
-rw-r--r--src/Java/gtPlusPlus/core/handler/events/EntityDeathHandler.java4
-rw-r--r--src/Java/gtPlusPlus/core/inventories/Inventory_EggBox.java176
-rw-r--r--src/Java/gtPlusPlus/core/inventories/Inventory_VolumetricFlaskSetter.java173
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java77
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseItemTickable.java68
-rw-r--r--src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockBasicTile.java9
-rw-r--r--src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockRoundRobinator.java5
-rw-r--r--src/Java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java4
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java4
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java10
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java6
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java18
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemBasicScrubberTurbine.java147
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemGiantEgg.java351
-rw-r--r--src/Java/gtPlusPlus/core/item/general/books/ItemBaseBook.java8
-rw-r--r--src/Java/gtPlusPlus/core/item/general/spawn/ItemCustomSpawnEgg.java285
-rw-r--r--src/Java/gtPlusPlus/core/item/materials/DustDecayable.java2
-rw-r--r--src/Java/gtPlusPlus/core/lib/LoadedMods.java6
-rw-r--r--src/Java/gtPlusPlus/core/material/ALLOY.java38
-rw-r--r--src/Java/gtPlusPlus/core/network/handler/AbstractClientMessageHandler.java13
-rw-r--r--src/Java/gtPlusPlus/core/network/handler/AbstractMessageHandler.java37
-rw-r--r--src/Java/gtPlusPlus/core/network/handler/AbstractServerMessageHandler.java13
-rw-r--r--src/Java/gtPlusPlus/core/network/packet/AbstractPacket.java9
-rw-r--r--src/Java/gtPlusPlus/core/network/packet/Packet_VolumetricFlaskGui.java128
-rw-r--r--src/Java/gtPlusPlus/core/network/packet/Packet_VolumetricFlaskGui2.java127
-rw-r--r--src/Java/gtPlusPlus/core/proxy/ClientProxy.java76
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java209
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_General.java82
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java12
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java142
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Tools.java12
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotPollutionScrubber.java66
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotVolumetricFlask.java30
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java15
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/general/TileEntityDecayablesChest.java4
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/general/TileEntityEggBox.java359
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/general/TileEntityFishTrap.java3
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/general/TileEntityVolumetricFlaskSetter.java403
-rw-r--r--src/Java/gtPlusPlus/core/util/Utils.java12
-rw-r--r--src/Java/gtPlusPlus/core/util/data/ArrayUtils.java7
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/HazmatUtils.java145
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/InventoryUtils.java26
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java23
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/NBTUtils.java102
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/PlayerUtils.java17
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java198
71 files changed, 4868 insertions, 679 deletions
diff --git a/src/Java/gtPlusPlus/core/block/ModBlocks.java b/src/Java/gtPlusPlus/core/block/ModBlocks.java
index a8536683b5..b51915bb7b 100644
--- a/src/Java/gtPlusPlus/core/block/ModBlocks.java
+++ b/src/Java/gtPlusPlus/core/block/ModBlocks.java
@@ -13,22 +13,12 @@ import gtPlusPlus.core.block.general.PlayerDoors;
import gtPlusPlus.core.block.general.antigrief.BlockWitherProof;
import gtPlusPlus.core.block.general.redstone.BlockGenericRedstoneDetector;
import gtPlusPlus.core.block.general.redstone.BlockGenericRedstoneTest;
-import gtPlusPlus.core.block.machine.CircuitProgrammer;
-import gtPlusPlus.core.block.machine.DecayablesChest;
-import gtPlusPlus.core.block.machine.FishTrap;
-import gtPlusPlus.core.block.machine.HeliumGenerator;
-import gtPlusPlus.core.block.machine.Machine_ModularityTable;
-import gtPlusPlus.core.block.machine.Machine_PestKiller;
-import gtPlusPlus.core.block.machine.Machine_PooCollector;
-import gtPlusPlus.core.block.machine.Machine_ProjectTable;
-import gtPlusPlus.core.block.machine.Machine_RoundRobinator;
-import gtPlusPlus.core.block.machine.Machine_SuperJukebox;
-import gtPlusPlus.core.block.machine.Machine_TradeTable;
-import gtPlusPlus.core.block.machine.Machine_Workbench;
-import gtPlusPlus.core.block.machine.Machine_WorkbenchAdvanced;
+import gtPlusPlus.core.block.machine.*;
import gtPlusPlus.core.block.machine.bedrock.Mining_Head_Fake;
import gtPlusPlus.core.block.machine.bedrock.Mining_Pipe_Fake;
import gtPlusPlus.core.fluids.FluidRegistryHandler;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraftforge.fluids.Fluid;
@@ -37,6 +27,7 @@ public final class ModBlocks {
public static Block blockRoundRobinator;
public static Block blockCircuitProgrammer;
+ public static Block blockVolumetricFlaskSetter;
public static Block blockFakeMiningPipe;
public static Block blockFakeMiningHead;
@@ -44,6 +35,7 @@ public final class ModBlocks {
public static Block blockWorkbench;
public static Block blockWorkbenchAdvanced;
public static Block blockDecayablesChest;
+ public static Block blockEggBox;
//Blocks
//public static Block blockBloodSteel;
@@ -58,6 +50,7 @@ public final class ModBlocks {
public static Block blockCasings5Misc;
public static Block blockCasingsTieredGTPP;
public static Block blockSpecialMultiCasings;
+ public static Block blockCustomMachineCasings;
public static Block blockMetaTileEntity;
public static Block blockHeliumGenerator;
@@ -137,8 +130,9 @@ public final class ModBlocks {
blockFakeMiningHead = new Mining_Head_Fake();
blockCircuitProgrammer = new CircuitProgrammer();
-
+
blockDecayablesChest = new DecayablesChest();
+ blockEggBox = new EggBox();
blockPlayerDoorWooden = new PlayerDoors(Material.wood, "door_wood", true);
blockPlayerDoorIron = new PlayerDoors(Material.iron, "door_iron", true);
@@ -154,7 +148,11 @@ public final class ModBlocks {
blockPestKiller = new Machine_PestKiller();
blockRoundRobinator = new Machine_RoundRobinator();
-
+
+ if (Meta_GT_Proxy.sDoesVolumetricFlaskExist) {
+ blockVolumetricFlaskSetter = new VolumetricFlaskSetter();
+ }
+
new BlockGenericRedstoneDetector();
new BlockGenericRedstoneTest();
diff --git a/src/Java/gtPlusPlus/core/block/base/BasicTileBlockWithTooltip.java b/src/Java/gtPlusPlus/core/block/base/BasicTileBlockWithTooltip.java
index 6166835f31..2bfd09d848 100644
--- a/src/Java/gtPlusPlus/core/block/base/BasicTileBlockWithTooltip.java
+++ b/src/Java/gtPlusPlus/core/block/base/BasicTileBlockWithTooltip.java
@@ -1,6 +1,8 @@
package gtPlusPlus.core.block.base;
+import java.util.ArrayList;
import java.util.List;
+import java.util.Random;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
@@ -22,6 +24,7 @@ import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EnumCreatureType;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
@@ -312,4 +315,14 @@ public abstract class BasicTileBlockWithTooltip extends BlockContainer implement
return l;
}
+
+ public Item getItemDropped(int meta, Random rand, int p_149650_3_){
+ return ItemUtils.getSimpleStack(this, 1).getItem();
+ }
+
+ public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int metadata, int fortune){
+ ArrayList<ItemStack> drops = new ArrayList<ItemStack>();
+ drops.add(ItemUtils.simpleMetaStack(this, metadata, 1));
+ return drops;
+ }
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/block/base/BlockBaseFluid.java b/src/Java/gtPlusPlus/core/block/base/BlockBaseFluid.java
index 49bb5aaf0c..db37e18a32 100644
--- a/src/Java/gtPlusPlus/core/block/base/BlockBaseFluid.java
+++ b/src/Java/gtPlusPlus/core/block/base/BlockBaseFluid.java
@@ -14,8 +14,7 @@ import net.minecraft.entity.EnumCreatureType;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
-
-import cofh.lib.render.particle.EntityDropParticleFX;
+import gtPlusPlus.core.client.renderer.particle.EntityDropParticleFX;
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.item.base.itemblock.ItemBlockMeta;
import gtPlusPlus.core.lib.CORE;
diff --git a/src/Java/gtPlusPlus/core/block/machine/EggBox.java b/src/Java/gtPlusPlus/core/block/machine/EggBox.java
new file mode 100644
index 0000000000..630c4b5bc2
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/block/machine/EggBox.java
@@ -0,0 +1,175 @@
+package gtPlusPlus.core.block.machine;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.common.registry.LanguageRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gtPlusPlus.GTplusplus;
+import gtPlusPlus.api.interfaces.ITileTooltip;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.handler.GuiHandler;
+import gtPlusPlus.core.item.base.itemblock.ItemBlockBasicTile;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.tileentities.general.TileEntityEggBox;
+import gtPlusPlus.core.util.minecraft.InventoryUtils;
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockContainer;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.EnumCreatureType;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+
+public class EggBox extends BlockContainer implements ITileTooltip
+{
+ @SideOnly(Side.CLIENT)
+ private IIcon textureTop;
+ @SideOnly(Side.CLIENT)
+ private IIcon textureBottom;
+ @SideOnly(Side.CLIENT)
+ private IIcon textureFront;
+
+ /**
+ * Determines which tooltip is displayed within the itemblock.
+ */
+ private final int mTooltipID = 7;
+ public final int field_149956_a = 0;
+
+ @Override
+ public int getTooltipID() {
+ return this.mTooltipID;
+ }
+
+ @SuppressWarnings("deprecation")
+ public EggBox(){
+ super(Material.wood);
+ this.setBlockName("blockEggBox");
+ this.setCreativeTab(AddToCreativeTab.tabMachines);
+ this.setHardness(5f);
+ this.setResistance(1f);
+ GameRegistry.registerBlock(this, ItemBlockBasicTile.class, "blockEggBox");
+ LanguageRegistry.addName(this, "Egg Box");
+
+ }
+
+ /**
+ * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
+ */
+ public boolean renderAsNormalBlock()
+ {
+ return true;
+ }
+
+ /**
+ * The type of render function that is called for this block
+ */
+ @SideOnly(Side.CLIENT)
+ public int getRenderType(){
+ return super.getRenderType();
+ }
+
+ /**
+ * Gets the block's texture. Args: side, meta
+ */
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(final int p_149691_1_, final int p_149691_2_)
+ {
+ return p_149691_1_ == 1 ? this.textureTop : this.textureFront;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerBlockIcons(final IIconRegister p_149651_1_)
+ {
+ this.blockIcon = p_149651_1_.registerIcon(CORE.MODID + ":" + "TileEntities/" + "EggBox_top");
+ this.textureTop = p_149651_1_.registerIcon(CORE.MODID + ":" + "TileEntities/" + "EggBox_top");
+ this.textureBottom = p_149651_1_.registerIcon(CORE.MODID + ":" + "TileEntities/" + "EggBox_side");
+ this.textureFront = p_149651_1_.registerIcon(CORE.MODID + ":" + "TileEntities/" + "EggBox_side");
+ }
+
+ /**
+ * Called upon block activation (right click on the block.)
+ */
+ @Override
+ public boolean onBlockActivated(final World world, final int x, final int y, final int z, final EntityPlayer player, final int side, final float lx, final float ly, final float lz)
+ {
+ if (world.isRemote) {
+ return true;
+ }
+
+ final TileEntity te = world.getTileEntity(x, y, z);
+ if ((te != null) && (te instanceof TileEntityEggBox)){
+ player.openGui(GTplusplus.instance, GuiHandler.GUI17, world, x, y, z);
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public int getRenderBlockPass() {
+ return 0;
+ }
+
+ @Override
+ public TileEntity createNewTileEntity(final World world, final int p_149915_2_) {
+ return new TileEntityEggBox();
+ }
+
+ @Override
+ public void onBlockAdded(final World world, final int x, final int y, final int z) {
+ super.onBlockAdded(world, x, y, z);
+ }
+
+ @Override
+ public void breakBlock(final World world, final int x, final int y, final int z, final Block block, final int number) {
+ InventoryUtils.dropInventoryItems(world, x, y, z, block);
+ super.breakBlock(world, x, y, z, block, number);
+ }
+
+ @Override
+ public void onBlockPlacedBy(final World world, final int x, final int y, final int z, final EntityLivingBase entity, final ItemStack stack) {
+ if (stack.hasDisplayName()) {
+ ((TileEntityEggBox) world.getTileEntity(x,y,z)).setCustomName(stack.getDisplayName());
+ }
+ }
+
+ @Override
+ public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, final int z) {
+ return false;
+ }
+
+ /*@Override
+ public void breakBlock(World world, BlockPos pos, IBlockState blockstate) {
+ TileEntityFishTrap te = (TileEntityFishTrap) world.getTileEntity(pos);
+ InventoryHelper.dropInventoryItems(world, pos, te);
+ super.breakBlock(world, pos, blockstate);
+ }
+
+
+ @Override
+ public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack) {
+ if (stack.hasDisplayName()) {
+ ((TileEntityFishTrap) worldIn.getTileEntity(pos)).setCustomName(stack.getDisplayName());
+ }
+ }*/
+
+ /**
+ * Update Chest Meta - Stub
+ * @param aWorld
+ * @param xPos
+ * @param yPos
+ * @param zPos
+ */
+ @Deprecated
+ public void func_149954_e(World aWorld, int xPos, int yPos, int zPos)
+ {
+
+ }
+
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/block/machine/VolumetricFlaskSetter.java b/src/Java/gtPlusPlus/core/block/machine/VolumetricFlaskSetter.java
new file mode 100644
index 0000000000..36ea2af7cc
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/block/machine/VolumetricFlaskSetter.java
@@ -0,0 +1,169 @@
+package gtPlusPlus.core.block.machine;
+
+import cpw.mods.fml.common.registry.LanguageRegistry;
+import gregtech.common.items.GT_MetaGenerated_Tool_01;
+import gtPlusPlus.GTplusplus;
+import gtPlusPlus.api.objects.minecraft.CubicObject;
+import gtPlusPlus.core.block.base.BasicTileBlockWithTooltip;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.handler.GuiHandler;
+import gtPlusPlus.core.item.base.itemblock.ItemBlockBasicTile;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.network.packet.Packet_VolumetricFlaskGui2;
+import gtPlusPlus.core.tileentities.general.TileEntityVolumetricFlaskSetter;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
+import net.minecraft.block.material.Material;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.EnumCreatureType;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+
+public class VolumetricFlaskSetter extends BasicTileBlockWithTooltip {
+
+ /**
+ * Determines which tooltip is displayed within the itemblock.
+ */
+ private final int mTooltipID = 8;
+
+ @Override
+ public int getTooltipID() {
+ return this.mTooltipID;
+ }
+
+ @Override
+ public Class<? extends ItemBlock> getItemBlockClass() {
+ return ItemBlockBasicTile.class;
+ }
+
+ @SuppressWarnings("deprecation")
+ public VolumetricFlaskSetter(){
+ super(Material.iron);
+ LanguageRegistry.addName(this, "Volumetric Flask Configurator");
+ }
+
+ /**
+ * Called upon block activation (right click on the block.)
+ */
+ @Override
+ public boolean onBlockActivated(final World world, final int x, final int y, final int z, final EntityPlayer player, final int side, final float lx, final float ly, final float lz)
+ {
+ if (world.isRemote) {
+ return true;