Fixed custom buckets
parent
fd841b8aa0
commit
13d7cbbf9b
|
@ -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();
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue