diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-06-19 14:53:32 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-06-19 14:53:32 +1000 |
commit | d4f11459f2e78e954a4c060c92861614c114d1cb (patch) | |
tree | a9d22e4f658e25163ae0fdbe4a1e3395da9efac9 /src/Java/miscutil/core/block | |
parent | 2615992e7d0d4ed3ac205800be71c831029b2dc5 (diff) | |
download | GT5-Unofficial-d4f11459f2e78e954a4c060c92861614c114d1cb.tar.gz GT5-Unofficial-d4f11459f2e78e954a4c060c92861614c114d1cb.tar.bz2 GT5-Unofficial-d4f11459f2e78e954a4c060c92861614c114d1cb.zip |
+More classes stolen from GT to implement my own items on a metaitem.
+Added LuV -> Max Voltage Machine components.
+Added Rocket Engines, High tier diesel generators.
+Added new textures for everything.
+Added BedLocator_Base.java - Debug item for testing and NBT data storage.
+Added Machine_Charger.java - Another Debug machine for testing NBT value manipulation.
Diffstat (limited to 'src/Java/miscutil/core/block')
11 files changed, 159 insertions, 57 deletions
diff --git a/src/Java/miscutil/core/block/ModBlocks.java b/src/Java/miscutil/core/block/ModBlocks.java index 9893430b69..7ab4a4c5c0 100644 --- a/src/Java/miscutil/core/block/ModBlocks.java +++ b/src/Java/miscutil/core/block/ModBlocks.java @@ -1,16 +1,12 @@ package miscutil.core.block; import miscutil.core.block.base.BasicBlock; -import miscutil.core.block.fluids.BlocktestFluid; -import miscutil.core.block.heliumgen.block.HeliumGenerator; -import miscutil.core.block.machine.Machine_NHG; -import miscutil.core.lib.CORE; +import miscutil.core.block.general.fluids.FluidRegistryHandler; import miscutil.core.util.Utils; import miscutil.gregtech.common.blocks.GregtechMetaCasingBlocks; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; import cpw.mods.fml.common.registry.GameRegistry; public final class ModBlocks { @@ -23,28 +19,10 @@ public final class ModBlocks { public static Block blockCasingsMisc; public static Block blockHeliumGenerator; public static Block blockNHG; + public static Block blockCharger; - - - - //Fluids - /** - * - * Luminosity .setLuminosity(luminosity) - How much light does the fluid emit. Default: 0, Lava uses 15 - Density .setDensity(density) - How dense is the fluid, the only effect is whether or not a fluid replaces another fluid when they flow into each other. Default: 1000, the density of water at 4 degrees Celsius in kg/m³ - Temperature .setTemperature(temp) - How hot, or cold is the fluid. Has currently no effect. Default: 295, the "normal" room temperature in degrees Kelvin, this is approximately 72°F or 22°C. - Viscosity .setViscosity(viscosity) - How thick the fluid is. Determines how fast it flows. Default: 1000 for water, lava uses 6000 - Is Gaseous .setGaseous(boolean) - Indicates if the fluid is gaseous. Used for rendering. Default: false - * - */ - - public static Fluid testFluid = new Fluid("testFluid"); - public static Block testFluidBlock; + public static Fluid fluidJackDaniels = new Fluid("fluidJackDaniels"); + public static Block blockFluidJackDaniels; @@ -69,19 +47,11 @@ public final class ModBlocks { blockCasingsMisc = new GregtechMetaCasingBlocks(); //Fluids - //testFluid - testFluid.setLuminosity(12); - testFluid.setDensity(1200); - testFluid.setTemperature(420); - testFluid.setViscosity(750); - testFluid.setGaseous(true); - FluidRegistry.registerFluid(testFluid); - testFluidBlock = new BlocktestFluid(testFluid, Material.water).setBlockName("yourFluid"); - GameRegistry.registerBlock(testFluidBlock, CORE.MODID + "_" + testFluidBlock.getUnlocalizedName().substring(5)); - testFluid.setUnlocalizedName(testFluidBlock.getUnlocalizedName()); + FluidRegistryHandler.registerFluids(); - blockHeliumGenerator = GameRegistry.registerBlock(new HeliumGenerator(), "Helium_Collector"); - blockNHG = GameRegistry.registerBlock(new Machine_NHG("blockNuclearFueledHeliumGenerator"), "blockNuclearFueledHeliumGenerator"); + // blockHeliumGenerator = GameRegistry.registerBlock(new HeliumGenerator(), "Helium_Collector"); + // blockNHG = GameRegistry.registerBlock(new Machine_NHG("blockNuclearFueledHeliumGenerator"), "blockNuclearFueledHeliumGenerator"); + // blockCharger = GameRegistry.registerBlock(new Machine_Charger("blockMachineCharger"), "blockMachineCharger"); //WIP TODO diff --git a/src/Java/miscutil/core/block/antigrief/TowerDevice.java b/src/Java/miscutil/core/block/general/antigrief/TowerDevice.java index c3b0ab69a8..9ff0d36b33 100644 --- a/src/Java/miscutil/core/block/antigrief/TowerDevice.java +++ b/src/Java/miscutil/core/block/general/antigrief/TowerDevice.java @@ -1,4 +1,4 @@ -package miscutil.core.block.antigrief; +package miscutil.core.block.general.antigrief; import static miscutil.core.block.ModBlocks.blockGriefSaver; @@ -7,7 +7,7 @@ import java.util.Random; import miscutil.core.creative.AddToCreativeTab; import miscutil.core.lib.CORE; -import miscutil.core.tileentities.TileEntityReverter; +import miscutil.core.tileentities.general.TileEntityReverter; import miscutil.core.util.Utils; import net.minecraft.block.Block; import net.minecraft.block.material.Material; diff --git a/src/Java/miscutil/core/block/fluids/BlocktestFluid.java b/src/Java/miscutil/core/block/general/fluids/BlockFluidJackDaniels.java index 8676f21d81..1ddfcbe081 100644 --- a/src/Java/miscutil/core/block/fluids/BlocktestFluid.java +++ b/src/Java/miscutil/core/block/general/fluids/BlockFluidJackDaniels.java @@ -1,6 +1,7 @@ -package miscutil.core.block.fluids; +package miscutil.core.block.general.fluids; import miscutil.core.creative.AddToCreativeTab; +import miscutil.core.lib.CORE; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; @@ -11,14 +12,14 @@ import net.minecraftforge.fluids.Fluid; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class BlocktestFluid extends BlockFluidClassic { +public class BlockFluidJackDaniels extends BlockFluidClassic { @SideOnly(Side.CLIENT) protected IIcon stillIcon; @SideOnly(Side.CLIENT) protected IIcon flowingIcon; - public BlocktestFluid(Fluid fluid, Material material) { + public BlockFluidJackDaniels(Fluid fluid, Material material) { super(fluid, material); setCreativeTab(AddToCreativeTab.tabMisc); } @@ -31,8 +32,8 @@ public class BlocktestFluid extends BlockFluidClassic { @SideOnly(Side.CLIENT) @Override public void registerBlockIcons(IIconRegister register) { - stillIcon = register.registerIcon("modid:fluidStill"); - flowingIcon = register.registerIcon("modid:fluidFlowing"); + stillIcon = register.registerIcon(CORE.MODID+":fluids/fluid.jackdaniels"); + flowingIcon = register.registerIcon(CORE.MODID+":fluids/fluid.jackdaniels"); } @Override diff --git a/src/Java/miscutil/core/block/general/fluids/FluidRegistryHandler.java b/src/Java/miscutil/core/block/general/fluids/FluidRegistryHandler.java new file mode 100644 index 0000000000..bf03203247 --- /dev/null +++ b/src/Java/miscutil/core/block/general/fluids/FluidRegistryHandler.java @@ -0,0 +1,49 @@ +package miscutil.core.block.general.fluids; + +import static miscutil.core.block.ModBlocks.blockFluidJackDaniels; +import static miscutil.core.block.ModBlocks.fluidJackDaniels; +import miscutil.core.lib.CORE; +import net.minecraft.block.material.Material; +import net.minecraftforge.fluids.FluidRegistry; +import cpw.mods.fml.common.registry.GameRegistry; + +public class FluidRegistryHandler { + + //Fluids + /** + * + * Luminosity .setLuminosity(luminosity) + How much light does the fluid emit. Default: 0, Lava uses 15 + Density .setDensity(density) + How dense is the fluid, the only effect is whether or not a fluid replaces another fluid when they flow into each other. Default: 1000, the density of water at 4 degrees Celsius in kg/m³ + Temperature .setTemperature(temp) + How hot, or cold is the fluid. Has currently no effect. Default: 295, the "normal" room temperature in degrees Kelvin, this is approximately 72°F or 22°C. + Viscosity .setViscosity(viscosity) + How thick the fluid is. Determines how fast it flows. Default: 1000 for water, lava uses 6000 + Is Gaseous .setGaseous(boolean) + Indicates if the fluid is gaseous. Used for rendering. Default: false + * + */ + + public static void registerFluids(){ + run(); + } + + private static void run(){ + fluidJackDaniels(); + } + + private static void fluidJackDaniels(){ + //testFluid + fluidJackDaniels.setLuminosity(12); + fluidJackDaniels.setDensity(1200); + fluidJackDaniels.setTemperature(420); + fluidJackDaniels.setViscosity(750); + fluidJackDaniels.setGaseous(true); + FluidRegistry.registerFluid(fluidJackDaniels); + blockFluidJackDaniels = new BlockFluidJackDaniels(fluidJackDaniels, Material.water).setBlockName("fluidJackDaniels"); + GameRegistry.registerBlock(blockFluidJackDaniels, CORE.MODID + "_" + blockFluidJackDaniels.getUnlocalizedName().substring(5)); + fluidJackDaniels.setUnlocalizedName(blockFluidJackDaniels.getUnlocalizedName()); + } + +} diff --git a/src/Java/miscutil/core/block/machine/Machine_Charger.java b/src/Java/miscutil/core/block/machine/Machine_Charger.java new file mode 100644 index 0000000000..9efb539afb --- /dev/null +++ b/src/Java/miscutil/core/block/machine/Machine_Charger.java @@ -0,0 +1,82 @@ +package miscutil.core.block.machine; + +import java.util.ArrayList; + +import miscutil.MiscUtils; +import miscutil.core.creative.AddToCreativeTab; +import miscutil.core.lib.CORE; +import miscutil.core.tileentities.machines.TileEntityCharger; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import scala.util.Random; + +public class Machine_Charger extends BlockContainer +{ + private static final String name = "Charging Machine"; + + private final Random rand = new Random(); + + public Machine_Charger(String unlocalizedName) + { + super(Material.iron); + //GameRegistry.registerBlock(this, unlocalizedName); + this.setBlockName(unlocalizedName); + this.setBlockTextureName(CORE.MODID + ":" + unlocalizedName); + this.setCreativeTab(AddToCreativeTab.tabMachines); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float lx, float ly, float lz) + { + if (world.isRemote) return true; + + TileEntity te = world.getTileEntity(x, y, z); + if (te != null && te instanceof TileEntityCharger) + { + player.openGui(MiscUtils.instance, 1, world, x, y, z); + return true; + } + return false; + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int par6) + { + if (world.isRemote) return; + + ArrayList drops = new ArrayList(); + + TileEntity teRaw = world.getTileEntity(x, y, z); + + if (teRaw != null && teRaw instanceof TileEntityCharger) + { + TileEntityCharger te = (TileEntityCharger) teRaw; + + for (int i = 0; i < te.getSizeInventory(); i++) + { + ItemStack stack = te.getStackInSlot(i); + + if (stack != null) drops.add(stack.copy()); + } + } + + for (int i = 0;i < drops.size();i++) + { + EntityItem item = new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, (ItemStack) drops.get(i)); + item.setVelocity((rand.nextDouble() - 0.5) * 0.25, rand.nextDouble() * 0.5 * 0.25, (rand.nextDouble() - 0.5) * 0.25); + world.spawnEntityInWorld(item); + } + } + + @Override + public TileEntity createNewTileEntity(World world, int par2) + { + return new TileEntityCharger(); + } +}
\ No newline at end of file diff --git a/src/Java/miscutil/core/block/machine/Machine_NHG.java b/src/Java/miscutil/core/block/machine/Machine_NHG.java index 1738469fd7..fe06577307 100644 --- a/src/Java/miscutil/core/block/machine/Machine_NHG.java +++ b/src/Java/miscutil/core/block/machine/Machine_NHG.java @@ -5,7 +5,7 @@ import java.util.ArrayList; import miscutil.MiscUtils; import miscutil.core.creative.AddToCreativeTab; import miscutil.core.lib.CORE; -import miscutil.core.tileentities.TileEntityNHG; +import miscutil.core.tileentities.machines.TileEntityNHG; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; diff --git a/src/Java/miscutil/core/block/heliumgen/block/HeliumGenerator.java b/src/Java/miscutil/core/block/machine/heliumgen/block/HeliumGenerator.java index f424097240..83897db5e0 100644 --- a/src/Java/miscutil/core/block/heliumgen/block/HeliumGenerator.java +++ b/src/Java/miscutil/core/block/machine/heliumgen/block/HeliumGenerator.java @@ -1,9 +1,9 @@ -package miscutil.core.block.heliumgen.block; +package miscutil.core.block.machine.heliumgen.block; import java.util.Random; import miscutil.MiscUtils; -import miscutil.core.block.heliumgen.tileentity.TileEntityHeliumGenerator; +import miscutil.core.block.machine.heliumgen.tileentity.TileEntityHeliumGenerator; import miscutil.core.creative.AddToCreativeTab; import miscutil.core.lib.CORE; import net.minecraft.block.Block; diff --git a/src/Java/miscutil/core/block/heliumgen/container/ContainerHeliumGenerator.java b/src/Java/miscutil/core/block/machine/heliumgen/container/ContainerHeliumGenerator.java index 7de3efd4c6..17389a5abe 100644 --- a/src/Java/miscutil/core/block/heliumgen/container/ContainerHeliumGenerator.java +++ b/src/Java/miscutil/core/block/machine/heliumgen/container/ContainerHeliumGenerator.java @@ -1,11 +1,11 @@ -package miscutil.core.block.heliumgen.container; +package miscutil.core.block.machine.heliumgen.container; import ic2.core.ContainerBase; import ic2.core.slot.SlotInvSlot; import java.util.List; -import miscutil.core.block.heliumgen.tileentity.TileEntityHeliumGenerator; +import miscutil.core.block.machine.heliumgen.tileentity.TileEntityHeliumGenerator; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Slot; import net.minecraft.inventory.SlotFurnace; diff --git a/src/Java/miscutil/core/block/heliumgen/gui/GUIHeliumGenerator.java b/src/Java/miscutil/core/block/machine/heliumgen/gui/GUIHeliumGenerator.java index 309a7b5fba..708ba9c924 100644 --- a/src/Java/miscutil/core/block/heliumgen/gui/GUIHeliumGenerator.java +++ b/src/Java/miscutil/core/block/machine/heliumgen/gui/GUIHeliumGenerator.java @@ -1,7 +1,7 @@ -package miscutil.core.block.heliumgen.gui; +package miscutil.core.block.machine.heliumgen.gui; -import miscutil.core.block.heliumgen.container.ContainerHeliumGenerator; -import miscutil.core.block.heliumgen.tileentity.TileEntityHeliumGenerator; +import miscutil.core.block.machine.heliumgen.container.ContainerHeliumGenerator; +import miscutil.core.block.machine.heliumgen.tileentity.TileEntityHeliumGenerator; import miscutil.core.lib.CORE; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; diff --git a/src/Java/miscutil/core/block/heliumgen/slots/InvSlotRadiation.java b/src/Java/miscutil/core/block/machine/heliumgen/slots/InvSlotRadiation.java index 22491e6cf2..d8a9c38897 100644 --- a/src/Java/miscutil/core/block/heliumgen/slots/InvSlotRadiation.java +++ b/src/Java/miscutil/core/block/machine/heliumgen/slots/InvSlotRadiation.java @@ -1,7 +1,7 @@ -package miscutil.core.block.heliumgen.slots; +package miscutil.core.block.machine.heliumgen.slots; import ic2.core.block.invslot.InvSlot; -import miscutil.core.block.heliumgen.tileentity.TileEntityHeliumGenerator; +import miscutil.core.block.machine.heliumgen.tileentity.TileEntityHeliumGenerator; import net.minecraft.item.ItemStack; public class InvSlotRadiation extends InvSlot diff --git a/src/Java/miscutil/core/block/heliumgen/tileentity/TileEntityHeliumGenerator.java b/src/Java/miscutil/core/block/machine/heliumgen/tileentity/TileEntityHeliumGenerator.java index 8793e06d4b..66420a72a5 100644 --- a/src/Java/miscutil/core/block/heliumgen/tileentity/TileEntityHeliumGenerator.java +++ b/src/Java/miscutil/core/block/machine/heliumgen/tileentity/TileEntityHeliumGenerator.java @@ -1,4 +1,4 @@ -package miscutil.core.block.heliumgen.tileentity; +package miscutil.core.block.machine.heliumgen.tileentity; import ic2.api.Direction; import ic2.api.reactor.IReactor; @@ -16,7 +16,7 @@ import ic2.core.util.ConfigUtil; import java.util.List; import miscutil.core.block.ModBlocks; -import miscutil.core.block.heliumgen.slots.InvSlotRadiation; +import miscutil.core.block.machine.heliumgen.slots.InvSlotRadiation; import miscutil.core.item.ModItems; import miscutil.core.util.Utils; import miscutil.core.util.item.UtilsItems; |