summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java20
-rw-r--r--src/main/java/darkknight/jewelrycraft/block/BlockList.java1
-rw-r--r--src/main/java/darkknight/jewelrycraft/block/BlockSmelter.java10
-rw-r--r--src/main/java/darkknight/jewelrycraft/events/TextureEvent.java19
-rw-r--r--src/main/java/darkknight/jewelrycraft/item/ItemTest.java49
-rw-r--r--src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java12
-rw-r--r--src/main/java/darkknight/jewelrycraft/thirdparty/WailaHandler.java59
-rw-r--r--src/main/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java2
8 files changed, 138 insertions, 34 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java b/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java
index 908aaf6..2328c0b 100644
--- a/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java
+++ b/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java
@@ -7,10 +7,8 @@ package darkknight.jewelrycraft;
import java.io.File;
import java.io.IOException;
-
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Logger;
-
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
@@ -21,18 +19,8 @@ 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.simpleimpl.SimpleNetworkWrapper;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
import darkknight.jewelrycraft.achievements.AchievementsList;
import darkknight.jewelrycraft.block.BlockList;
-import darkknight.jewelrycraft.client.gui.GuiTab;
-import darkknight.jewelrycraft.client.gui.GuiTabBlocks;
-import darkknight.jewelrycraft.client.gui.GuiTabGemsAndIngots;
-import darkknight.jewelrycraft.client.gui.GuiTabIntroduction;
-import darkknight.jewelrycraft.client.gui.GuiTabItems;
-import darkknight.jewelrycraft.client.gui.GuiTabModifiers;
-import darkknight.jewelrycraft.client.gui.GuiTabOresToIngots;
-import darkknight.jewelrycraft.client.gui.GuiTabRitual;
import darkknight.jewelrycraft.commands.JewelrycraftCommands;
import darkknight.jewelrycraft.config.ConfigHandler;
import darkknight.jewelrycraft.curses.CurseList;
@@ -44,12 +32,17 @@ import darkknight.jewelrycraft.potions.PotionList;
import darkknight.jewelrycraft.proxy.CommonProxy;
import darkknight.jewelrycraft.recipes.CraftingRecipes;
import darkknight.jewelrycraft.thirdparty.ThirdPartyManager;
+import darkknight.jewelrycraft.util.JewelryNBT;
import darkknight.jewelrycraft.util.Variables;
import darkknight.jewelrycraft.worldGen.ChestGeneration;
import darkknight.jewelrycraft.worldGen.village.VillageHandler;
import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.init.Items;
import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.fluids.FluidContainerRegistry;
+import net.minecraftforge.fluids.FluidStack;
@Mod (modid = Variables.MODID, name = Variables.MODNAME, version = Variables.VERSION, guiFactory = Variables.CONFIG_GUI, acceptedMinecraftVersions = "[1.7.10,1.8)")
public class JewelrycraftMod
@@ -116,7 +109,8 @@ public class JewelrycraftMod
logger.log(Level.INFO, "Registering Potions");
PotionList.init(e);
logger.log(Level.INFO, "Loading Third Party Mods");
- ThirdPartyManager.instance().init();
+ ThirdPartyManager.instance().init();
+ FMLInterModComms.sendMessage("Waila", "register", "darkknight.jewelrycraft.thirdparty.WailaHandler.registration");
}
@EventHandler
diff --git a/src/main/java/darkknight/jewelrycraft/block/BlockList.java b/src/main/java/darkknight/jewelrycraft/block/BlockList.java
index 032797c..9d3a54b 100644
--- a/src/main/java/darkknight/jewelrycraft/block/BlockList.java
+++ b/src/main/java/darkknight/jewelrycraft/block/BlockList.java
@@ -44,6 +44,7 @@ public class BlockList
moltenMetalFluid = new Fluid("metal.molten").setLuminosity(15).setDensity(3000).setTemperature(2000).setViscosity(6000);
if (!FluidRegistry.registerFluid(moltenMetalFluid)) moltenMetalFluid = FluidRegistry.getFluid("metal.molten");
moltenMetal = new BlockMoltenMetal(moltenMetalFluid, Material.lava);
+ moltenMetalFluid.setBlock(moltenMetal);
crystal = new BlockCrystal().setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundTypeGlass).setBlockTextureName(Variables.MODID + ":blockCrystal").setBlockName(Variables.MODID + ".blockCrystal").setCreativeTab(JewelrycraftMod.jewelrycraft);
GameRegistry.registerBlock(shadowOre, "shadowOre");
diff --git a/src/main/java/darkknight/jewelrycraft/block/BlockSmelter.java b/src/main/java/darkknight/jewelrycraft/block/BlockSmelter.java
index fe48dd0..3c9b680 100644
--- a/src/main/java/darkknight/jewelrycraft/block/BlockSmelter.java
+++ b/src/main/java/darkknight/jewelrycraft/block/BlockSmelter.java
@@ -64,7 +64,7 @@ public class BlockSmelter extends BlockContainer {
int quant = (int) (te.quantity * 10);
ItemStack metalBucket = new ItemStack(ItemList.bucket);
JewelryNBT.addMetal(metalBucket, te.moltenMetal.copy());
- if (quant == 9){
+ if (quant == 9) {
dropItem(world, i, j, k, new ItemStack(Blocks.cobblestone, 6));
dropItem(world, i, j, k, new ItemStack(Items.lava_bucket));
dropItem(world, i, j, k, metalBucket);
@@ -73,7 +73,7 @@ public class BlockSmelter extends BlockContainer {
world.removeTileEntity(i, j, k);
}
}
-
+
@Override
public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9) {
TileEntitySmelter te = (TileEntitySmelter) world.getTileEntity(i, j, k);
@@ -97,7 +97,11 @@ public class BlockSmelter extends BlockContainer {
te.isDirty = true;
}
if (item != null && item.getItem() != null && !(item.getItem() instanceof ItemMoltenMetalBucket)) {
- boolean canPlace = item != null;
+ int index = -1;
+ for (int a = 0; a < JewelrycraftUtil.jamcraftPlayers.size(); a++)
+ if (entityPlayer.getUniqueID().toString().equals(JewelrycraftUtil.jamcraftPlayers.get(a))) index = a;
+ if (entityPlayer.capabilities.isCreativeMode) index = 1;
+ boolean canPlace = item != null && (JewelrycraftUtil.isMetal(item) || JewelrycraftUtil.isOre(item) || index >= 0 || JewelryNBT.ingot(item) != null);
boolean isOre = false, oreCoincidesWithMetal = false, itemCoincidesWithMetal = false, itemCoincidesWithMoltenMetal = false, overflow = false;
isOre = JewelrycraftUtil.isOre(item);
if (te.metal != null && te.metal.getItem() != null) {
diff --git a/src/main/java/darkknight/jewelrycraft/events/TextureEvent.java b/src/main/java/darkknight/jewelrycraft/events/TextureEvent.java
new file mode 100644
index 0000000..e570da6
--- /dev/null
+++ b/src/main/java/darkknight/jewelrycraft/events/TextureEvent.java
@@ -0,0 +1,19 @@
+package darkknight.jewelrycraft.events;
+
+
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.block.BlockList;
+import net.minecraftforge.client.event.TextureStitchEvent;
+
+public class TextureEvent
+{
+ @SubscribeEvent
+ @SideOnly(Side.CLIENT)
+ public void textureFix(TextureStitchEvent.Post e)
+ {
+ if (e.map.getTextureType() == 0)
+ BlockList.moltenMetalFluid.setIcons(BlockList.moltenMetal.getBlockTextureFromSide(0));
+ }
+} \ No newline at end of file
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemTest.java b/src/main/java/darkknight/jewelrycraft/item/ItemTest.java
index e7dbb33..1f6dab1 100644
--- a/src/main/java/darkknight/jewelrycraft/item/ItemTest.java
+++ b/src/main/java/darkknight/jewelrycraft/item/ItemTest.java
@@ -1,29 +1,33 @@
package darkknight.jewelrycraft.item;
import java.util.List;
-import net.minecraft.block.Block;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.achievements.AchievementsList;
+import darkknight.jewelrycraft.api.Curse;
+import darkknight.jewelrycraft.item.ItemSpawnEgg.EggData;
+import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
import net.minecraft.item.Item;
-import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
-import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.util.MathHelper;
-import net.minecraft.util.StatCollector;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import darkknight.jewelrycraft.api.Curse;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.util.MovingObjectPosition;
+import net.minecraft.util.MovingObjectPosition.MovingObjectType;
+import net.minecraft.world.World;
public class ItemTest extends Item
{
@SideOnly (Side.CLIENT)
private IIcon[] icons;
+ private NBTTagCompound nbt = new NBTTagCompound();
+ private TileEntity test = new TileEntity();
public ItemTest()
{
@@ -51,4 +55,27 @@ public class ItemTest extends Item
for(int i = 0; i < Curse.getCurseList().size(); ++i)
icons[i] = par1IconRegister.registerIcon(Variables.MODID + ":" + "testItem_" + i);
}
+
+ @Override
+ public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
+ {
+ MovingObjectPosition mop = getMovingObjectPositionFromPlayer(world, player, true);
+ if (mop != null && mop.typeOfHit == MovingObjectType.BLOCK) {
+ int x = mop.blockX, y = mop.blockY, z = mop.blockZ;
+ TileEntity tile = world.getTileEntity(x, y, z);
+ if(tile != null)
+ if(!player.isSneaking()) tile.writeToNBT(nbt);
+ else{
+ NBTTagCompound block = new NBTTagCompound();
+ tile.writeToNBT(block);
+ nbt.setString("id", block.getString("id"));
+ nbt.setInteger("x", tile.xCoord);
+ nbt.setInteger("y", tile.yCoord);
+ nbt.setInteger("z", tile.zCoord);
+ tile.readFromNBT(nbt);
+ world.func_147479_m(x, y, z);
+ }
+ }
+ return stack;
+ }
}
diff --git a/src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java b/src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java
index 0923817..88807a7 100644
--- a/src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java
+++ b/src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java
@@ -1,12 +1,6 @@
package darkknight.jewelrycraft.proxy;
-import net.minecraft.client.Minecraft;
-import net.minecraft.item.Item;
-import net.minecraftforge.client.MinecraftForgeClient;
-import net.minecraftforge.common.MinecraftForge;
-
import org.apache.logging.log4j.Level;
-
import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.FMLCommonHandler;
@@ -24,6 +18,7 @@ import darkknight.jewelrycraft.entities.renders.HeartRender;
import darkknight.jewelrycraft.events.KeyBindings;
import darkknight.jewelrycraft.events.PlayerRenderHandler;
import darkknight.jewelrycraft.events.ScreenHandler;
+import darkknight.jewelrycraft.events.TextureEvent;
import darkknight.jewelrycraft.item.ItemList;
import darkknight.jewelrycraft.item.render.ItemRender;
import darkknight.jewelrycraft.model.ModelDisplayer;
@@ -53,6 +48,10 @@ import darkknight.jewelrycraft.tileentity.renders.TileEntityShadowHandRender;
import darkknight.jewelrycraft.tileentity.renders.TileEntitySmelterRender;
import darkknight.jewelrycraft.util.JewelrycraftUtil;
import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.client.Minecraft;
+import net.minecraft.item.Item;
+import net.minecraftforge.client.MinecraftForgeClient;
+import net.minecraftforge.common.MinecraftForge;
public class ClientProxy extends CommonProxy
{
@@ -118,6 +117,7 @@ public class ClientProxy extends CommonProxy
public void init()
{
FMLCommonHandler.instance().bus().register(new KeyBindings());
+ MinecraftForge.EVENT_BUS.register(new TextureEvent());
}
@Override
diff --git a/src/main/java/darkknight/jewelrycraft/thirdparty/WailaHandler.java b/src/main/java/darkknight/jewelrycraft/thirdparty/WailaHandler.java
new file mode 100644
index 0000000..d86f00a
--- /dev/null
+++ b/src/main/java/darkknight/jewelrycraft/thirdparty/WailaHandler.java
@@ -0,0 +1,59 @@
+package darkknight.jewelrycraft.thirdparty;
+
+import java.util.List;
+
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.tileentity.TileEntityMoltenMetal;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import mcp.mobius.waila.api.IWailaConfigHandler;
+import mcp.mobius.waila.api.IWailaDataAccessor;
+import mcp.mobius.waila.api.IWailaDataProvider;
+import mcp.mobius.waila.api.IWailaRegistrar;
+import mcp.mobius.waila.api.SpecialChars;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+
+public class WailaHandler implements IWailaDataProvider{
+
+ @Override
+ public ItemStack getWailaStack(IWailaDataAccessor accessor, IWailaConfigHandler config) {
+ TileEntityMoltenMetal te = (TileEntityMoltenMetal)accessor.getTileEntity();
+ ItemStack is = new ItemStack(ItemList.metal);
+ JewelryNBT.addMetal(is, te.getMetal());
+ return is;
+ }
+
+ @Override
+ public List<String> getWailaHead(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config) {
+ TileEntityMoltenMetal te = (TileEntityMoltenMetal)accessor.getTileEntity();
+ String metalName = SpecialChars.WHITE + "Molten " + te.getMetal().getDisplayName();
+ currenttip.remove(0);
+ currenttip.add(0, metalName);
+ return currenttip;
+ }
+
+ @Override
+ public List<String> getWailaBody(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config) {
+ return currenttip;
+ }
+
+ @Override
+ public List<String> getWailaTail(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config) {
+ return currenttip;
+ }
+
+ public static void registration(IWailaRegistrar registrar){
+ registrar.registerStackProvider(new WailaHandler(), TileEntityMoltenMetal.class);
+ registrar.registerHeadProvider(new WailaHandler(), TileEntityMoltenMetal.class);
+ }
+
+ @Override
+ public NBTTagCompound getNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompound nbt, World world, int x, int y, int z)
+ {
+ return null;
+ }
+
+}
diff --git a/src/main/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java b/src/main/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java
index 0279b58..4342907 100644
--- a/src/main/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java
+++ b/src/main/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java
@@ -121,7 +121,7 @@ public class JewelrycraftUtil {
items.removeAll(items);
}
catch (Exception e) {
- JewelrycraftMod.logger.info("Error, tried to add subtypes of item " + ((Item) item).getUnlocalizedName() + "\nItem is not added in the list.");
+ JewelrycraftMod.logger.info("Error, tried to add color of the item " + ((Item) item).getUnlocalizedName() + " but it failed.");
}
}
}