Fixed custom buckets

dev
Arona Jones 2015-08-28 16:29:51 +01:00
parent fd841b8aa0
commit 13d7cbbf9b
11 changed files with 82 additions and 50 deletions

View File

@ -12,30 +12,50 @@
*/
package steamcraft.common;
import boilerplate.client.GuiHandler;
import boilerplate.common.compathandler.FMPCompatHandler;
import java.io.File;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.world.gen.structure.MapGenStructureIO;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.*;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLMissingMappingsEvent;
import cpw.mods.fml.common.event.FMLMissingMappingsEvent.MissingMapping;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.GameRegistry.Type;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.world.gen.structure.MapGenStructureIO;
import net.minecraftforge.common.DimensionManager;
import net.minecraftforge.common.MinecraftForge;
import boilerplate.client.GuiHandler;
import boilerplate.common.compathandler.FMPCompatHandler;
import steamcraft.common.compat.CompatabilityLayer;
import steamcraft.common.config.Config;
import steamcraft.common.config.ConfigGeneral;
import steamcraft.common.config.ConfigWorldGen;
import steamcraft.common.init.*;
import steamcraft.common.lib.*;
import steamcraft.common.init.InitAchievements;
import steamcraft.common.init.InitBiomes;
import steamcraft.common.init.InitBlocks;
import steamcraft.common.init.InitEntities;
import steamcraft.common.init.InitItems;
import steamcraft.common.init.InitMisc;
import steamcraft.common.init.InitPackets;
import steamcraft.common.init.InitRecipes;
import steamcraft.common.lib.BucketHandler;
import steamcraft.common.lib.CommandSteamcraft;
import steamcraft.common.lib.CreativeTabSteamcraft;
import steamcraft.common.lib.LoggerSteamcraft;
import steamcraft.common.lib.ModInfo;
import steamcraft.common.lib.events.EventHandlerClient;
import steamcraft.common.lib.events.EventHandlerFML;
import steamcraft.common.lib.events.EventHandlerForge;
@ -45,8 +65,6 @@ import steamcraft.common.worldgen.structure.MapGenCustomScatteredFeature;
import steamcraft.common.worldgen.structure.StructureUndercityPieces;
import steamcraft.common.worldgen.structure.StructureUndercityStart;
import java.io.File;
/**
* @author Surseance
* @commentary by Arnold
@ -75,8 +93,6 @@ public class Steamcraft
InitBlocks.init();
InitItems.init();
BucketHandler.BUCKETS.put(InitBlocks.blockBoilingMud, InitItems.itemBoilingMudBucket);
BucketHandler.BUCKETS.put(InitBlocks.blockBoilingWater, InitItems.itemBoilingWaterBucket);
MinecraftForge.EVENT_BUS.register(new BucketHandler());
CompatabilityLayer.initCompatItems();

View File

@ -101,6 +101,7 @@ import steamcraft.common.items.tools.steam.ItemSteamPickaxe;
import steamcraft.common.items.tools.steam.ItemSteamShovel;
import steamcraft.common.items.tools.steam.ItemSteamSword;
import steamcraft.common.items.vanity.ItemTopHat;
import steamcraft.common.lib.BucketHandler;
import steamcraft.common.lib.ModInfo;
/**
@ -497,11 +498,11 @@ public class InitItems
itemMonsterSpawner = new ItemMonsterSpawner().setUnlocalizedName("itemMonsterSpawner");
registerItem(itemMonsterSpawner, "ItemSteamcraftMonsterSpawner");
itemBoilingWaterBucket = new ItemCustomBucket(InitBlocks.blockBoilingMud).setUnlocalizedName("itemBoilingWaterBucket");
itemBoilingMudBucket = new ItemCustomBucket(InitBlocks.blockBoilingMud).setUnlocalizedName("itemMudBucket");
itemBoilingWaterBucket = new ItemCustomBucket(FluidRegistry.getFluid("boilingwater").getBlock()).setUnlocalizedName("itemBoilingWaterBucket");
itemBoilingMudBucket = new ItemCustomBucket(FluidRegistry.getFluid("boilingmud").getBlock()).setUnlocalizedName("itemMudBucket");
itemWhaleOilBucket = new ItemCustomBucket(FluidRegistry.getFluid("whaleoil").getBlock()).setUnlocalizedName("itemWhaleOilBucket");
GameRegistry.registerItem(itemBoilingWaterBucket, "ItemBoilingWaterBucket");
GameRegistry.registerItem(itemBoilingMudBucket, "ItemBoilingBucket");
itemWhaleOilBucket = new ItemCustomBucket(InitBlocks.blockWhaleOil).setUnlocalizedName("itemWhaleOilBucket");
GameRegistry.registerItem(itemWhaleOilBucket, "ItemWhaleOilBucket");
FluidContainerRegistry.registerFluidContainer(FluidRegistry.getFluidStack("boilingwater", FluidContainerRegistry.BUCKET_VOLUME),
new ItemStack(itemBoilingWaterBucket), new ItemStack(Items.bucket));
@ -509,6 +510,10 @@ public class InitItems
new ItemStack(itemBoilingMudBucket), new ItemStack(Items.bucket));
FluidContainerRegistry.registerFluidContainer(FluidRegistry.getFluidStack("whaleoil", FluidContainerRegistry.BUCKET_VOLUME),
new ItemStack(itemWhaleOilBucket), new ItemStack(Items.bucket));
BucketHandler.INSTANCE.buckets.put(InitBlocks.blockBoilingWater, itemBoilingWaterBucket);
BucketHandler.INSTANCE.buckets.put(InitBlocks.blockBoilingMud, itemBoilingMudBucket);
BucketHandler.INSTANCE.buckets.put(InitBlocks.blockWhaleOil, itemWhaleOilBucket);
MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE);
itemCoin = new ItemCoin().setUnlocalizedName("itemCoin");
// registerItem(itemCoin, "ItemCoin");

View File

@ -13,10 +13,9 @@ import steamcraft.common.lib.ModInfo;
public class ItemCustomBucket extends ItemBucket
{
public ItemCustomBucket(Block p_i45331_1_)
public ItemCustomBucket(Block block)
{
super(p_i45331_1_);
super(block);
this.setContainerItem(Items.bucket);
this.setCreativeTab(Steamcraft.tabSC2);
}

View File

@ -12,10 +12,11 @@
*/
package steamcraft.common.items;
import boilerplate.api.IOpenableGUI;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import boilerplate.api.IOpenableGUI;
import steamcraft.client.gui.GuiPocket;
import steamcraft.client.lib.GuiIDs;
import steamcraft.common.Steamcraft;
@ -36,12 +37,13 @@ public class ItemDimensionalPocket extends BaseItem implements IOpenableGUI
}
/**
* Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer
* Called whenever this item is equipped and the right mouse button is
* pressed. Args: itemStack, world, entityPlayer
*/
@Override
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
{
if(!world.isRemote)
if (!world.isRemote)
{
player.openGui(Steamcraft.instance, GuiIDs.POCKET, world, 0, 0, 0);
}
@ -51,7 +53,7 @@ public class ItemDimensionalPocket extends BaseItem implements IOpenableGUI
@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
{
return new GuiPocket((ContainerPocket)getServerGuiElement(ID, player, world, x, y, z));
return new GuiPocket((ContainerPocket) getServerGuiElement(ID, player, world, x, y, z));
}
@Override

View File

@ -12,11 +12,12 @@
*/
package steamcraft.common.items;
import boilerplate.api.IOpenableGUI;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import boilerplate.api.IOpenableGUI;
import steamcraft.client.gui.GuiHandbook;
import steamcraft.client.lib.GuiIDs;
import steamcraft.common.Steamcraft;
@ -32,12 +33,13 @@ public class ItemHandbook extends BaseItem implements IOpenableGUI
}
/**
* Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer
* Called whenever this item is equipped and the right mouse button is
* pressed. Args: itemStack, world, entityPlayer
*/
@Override
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
{
if(world.isRemote)
if (world.isRemote)
{
player.openGui(Steamcraft.instance, GuiIDs.HANDBOOK, world, 0, 0, 0);
}
@ -46,7 +48,7 @@ public class ItemHandbook extends BaseItem implements IOpenableGUI
public int getCurrentPage(ItemStack stack)
{
if(stack.hasTagCompound())
if (stack.hasTagCompound())
return stack.getTagCompound().getInteger("currPage");
else
return 0;
@ -54,7 +56,7 @@ public class ItemHandbook extends BaseItem implements IOpenableGUI
public void setCurrentPage(ItemStack stack, int currPage)
{
if(!stack.hasTagCompound())
if (!stack.hasTagCompound())
stack.setTagCompound(new NBTTagCompound());
stack.getTagCompound().setInteger("currPage", currPage);
}

View File

@ -12,9 +12,8 @@
*/
package steamcraft.common.items;
import boilerplate.api.IOpenableGUI;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.List;
import net.minecraft.client.gui.GuiScreenBook;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
@ -27,12 +26,15 @@ import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.StatCollector;
import net.minecraft.util.StringUtils;
import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import boilerplate.api.IOpenableGUI;
import steamcraft.client.lib.GuiIDs;
import steamcraft.common.Steamcraft;
import steamcraft.common.lib.ModInfo;
import java.util.List;
public class ItemLoreBook extends BaseItem implements IOpenableGUI
{
String author;
@ -50,11 +52,11 @@ public class ItemLoreBook extends BaseItem implements IOpenableGUI
public static boolean validBookTagContents(NBTTagCompound p_77828_0_)
{
if(!ItemWritableBook.func_150930_a(p_77828_0_))
if (!ItemWritableBook.func_150930_a(p_77828_0_))
{
return false;
}
else if(!p_77828_0_.hasKey("title", 8))
else if (!p_77828_0_.hasKey("title", 8))
{
return false;
}
@ -68,12 +70,12 @@ public class ItemLoreBook extends BaseItem implements IOpenableGUI
@Override
public String getItemStackDisplayName(ItemStack p_77653_1_)
{
if(p_77653_1_.hasTagCompound())
if (p_77653_1_.hasTagCompound())
{
NBTTagCompound nbttagcompound = p_77653_1_.getTagCompound();
String s = nbttagcompound.getString("title");
if(!StringUtils.isNullOrEmpty(s))
if (!StringUtils.isNullOrEmpty(s))
{
return s;
}
@ -87,12 +89,12 @@ public class ItemLoreBook extends BaseItem implements IOpenableGUI
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool)
{
if(stack.hasTagCompound())
if (stack.hasTagCompound())
{
NBTTagCompound nbttagcompound = stack.getTagCompound();
String s = nbttagcompound.getString("author");
if(!StringUtils.isNullOrEmpty(s))
if (!StringUtils.isNullOrEmpty(s))
{
list.add(EnumChatFormatting.GRAY + StatCollector.translateToLocalFormatted("book.byAuthor", s));
}
@ -106,14 +108,14 @@ public class ItemLoreBook extends BaseItem implements IOpenableGUI
@Override
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
{
if(world.isRemote)
if (world.isRemote)
{
player.openGui(Steamcraft.instance, GuiIDs.LORE, world, 0, 0, 0);
}
if(stack.getTagCompound() == null)
if (stack.getTagCompound() == null)
{
NBTTagList bookPages = new NBTTagList();
for(String page2 : this.pages)
for (String page2 : this.pages)
{
NBTTagString page = new NBTTagString(page2);
bookPages.appendTag(page);

View File

@ -26,11 +26,11 @@ import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import boilerplate.common.baseclasses.items.BaseFirearm;
import boilerplate.common.utils.InventoryUtils;
import steamcraft.common.Steamcraft;
import steamcraft.common.entities.projectile.EntityRocket;
import steamcraft.common.lib.ModInfo;
import boilerplate.common.baseclasses.items.BaseFirearm;
import boilerplate.common.utils.InventoryUtils;
public class ItemRocketLauncher extends BaseFirearm
{

View File

@ -15,6 +15,7 @@ package steamcraft.common.items;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import steamcraft.common.entities.projectile.EntitySplashLightningBottle;
public class ItemSplashLightningBottle extends BaseItem

View File

@ -24,9 +24,9 @@ import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import boilerplate.common.utils.ItemStackUtils;
import steamcraft.common.init.InitItems;
import steamcraft.common.lib.ModInfo;
import boilerplate.common.utils.ItemStackUtils;
public class ItemTeapot extends BaseItemWithMetadata
{

View File

@ -24,9 +24,9 @@ import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import boilerplate.client.ClientHelper;
import steamcraft.common.Steamcraft;
import steamcraft.common.lib.ModInfo;
import boilerplate.client.ClientHelper;
/**
* @author warlordjones

View File

@ -1,6 +1,7 @@
package steamcraft.common.lib;
import java.util.HashMap;
import java.util.Map;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
@ -18,15 +19,19 @@ import net.minecraftforge.event.entity.player.FillBucketEvent;
*/
public final class BucketHandler
{
public static BucketHandler INSTANCE = new BucketHandler();
public Map<Block, Item> buckets = new HashMap<Block, Item>();
public static final HashMap<Block, Item> BUCKETS = new HashMap<Block, Item>();
public BucketHandler()
{
}
@SubscribeEvent
public void onBucketFill(FillBucketEvent event)
{
ItemStack result = this.fillCustomBucket(event.world, event.target);
ItemStack result = fillCustomBucket(event.world, event.target);
if(result == null)
if (result == null)
{
return;
}
@ -39,9 +44,9 @@ public final class BucketHandler
{
Block block = world.getBlock(pos.blockX, pos.blockY, pos.blockZ);
Item bucket = BUCKETS.get(block);
Item bucket = buckets.get(block);
if((bucket != null) && (world.getBlockMetadata(pos.blockX, pos.blockY, pos.blockZ) == 0))
if (bucket != null && world.getBlockMetadata(pos.blockX, pos.blockY, pos.blockZ) == 0)
{
world.setBlockToAir(pos.blockX, pos.blockY, pos.blockZ);
return new ItemStack(bucket);