diff options
| -rw-r--r-- | build.gradle | 5 | ||||
| -rw-r--r-- | changelog.txt | 17 | ||||
| -rw-r--r-- | src/.classpath | 1 | ||||
| -rw-r--r-- | src/.settings/org.eclipse.core.resources.prefs | 1 | ||||
| -rw-r--r-- | src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java | 20 | ||||
| -rw-r--r-- | src/main/java/darkknight/jewelrycraft/block/BlockList.java | 1 | ||||
| -rw-r--r-- | src/main/java/darkknight/jewelrycraft/block/BlockSmelter.java | 10 | ||||
| -rw-r--r-- | src/main/java/darkknight/jewelrycraft/events/TextureEvent.java | 19 | ||||
| -rw-r--r-- | src/main/java/darkknight/jewelrycraft/item/ItemTest.java | 49 | ||||
| -rw-r--r-- | src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java | 12 | ||||
| -rw-r--r-- | src/main/java/darkknight/jewelrycraft/thirdparty/WailaHandler.java | 59 | ||||
| -rw-r--r-- | src/main/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java | 2 | ||||
| -rw-r--r-- | src/main/resources/assets/jewelrycraft2/TODO.txt | 0 |
13 files changed, 155 insertions, 41 deletions
diff --git a/build.gradle b/build.gradle index 0571c57..087188c 100644 --- a/build.gradle +++ b/build.gradle @@ -20,8 +20,8 @@ apply plugin: 'curseforge' project.ext {
massive = "1"
- major = "1"
- minor = "4"
+ major = "1" + minor = "4" mcVersion = "1.7.10"
ee3Version = "0.3.505"
alpacaVersion = "1.2"
@@ -104,6 +104,7 @@ curse { projectId = "229927" // my project url is http://minecraft.curseforge.com/mc-mods/229927-jewelrycraft-2
changelog = new File('changelog.txt').text
releaseType = "release"
+ displayName = "Jewelrycraft 2 v$project.version"
// the default obfuscated jar is uploaded by default
// artifact = project.file("build/libs/to/upload.jar")
diff --git a/changelog.txt b/changelog.txt index aae9b55..24e2b55 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,8 +1,15 @@ +Added:
+- All the structures should be able to spawn in other non-vanilla dimensions as well
+
Fixed:
-- A bug where the ritual would crash on a server
+- Crystals Position in inventory
+- Game no longer crashes when opening the book if curses are disabled
+- Midas touch no longer turns Golden Apples to "Golden Golden Apples"
+- Golden Objects should now display its info
Change:
-- Reduced spawnrate of structures
-- Curses starts from page 1, instead of 0
-- Structures will no longer spawn in a flat world
-- Secrety secret
\ No newline at end of file +- Increased the amount of curse points required to get to the next curse to 7000
+- Thieving gloves now have a higher chance of stealing from villagers (provided you are not being seen)
+
+Removed:
+- Herobrine
\ No newline at end of file diff --git a/src/.classpath b/src/.classpath index 8bb2410..ea2f0aa 100644 --- a/src/.classpath +++ b/src/.classpath @@ -6,5 +6,6 @@ <classpathentry combineaccessrules="false" kind="src" path="/Minecraft"/>
<classpathentry kind="lib" path="H:/Jewelrycraft/1.7.10/libs/EquivalentExchange3-1.7.10-0.3.505.jar"/>
<classpathentry kind="lib" path="H:/Jewelrycraft/1.7.10/libs/NotEnoughItems-1.7.10-1.0.4.95-universal.jar"/>
+ <classpathentry kind="lib" path="H:/Jewelrycraft/1.7.10/libs/Waila-1.5.10_1.7.10.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/src/.settings/org.eclipse.core.resources.prefs b/src/.settings/org.eclipse.core.resources.prefs index 372d901..cd3347e 100644 --- a/src/.settings/org.eclipse.core.resources.prefs +++ b/src/.settings/org.eclipse.core.resources.prefs @@ -1,2 +1,3 @@ eclipse.preferences.version=1
encoding//main/resources/assets/jewelrycraft2/lang/en_US.lang=UTF-8
+encoding//main/resources/assets/jewelrycraft2/lang/zh_CN.lang=UTF-8
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.");
}
}
}
diff --git a/src/main/resources/assets/jewelrycraft2/TODO.txt b/src/main/resources/assets/jewelrycraft2/TODO.txt deleted file mode 100644 index e69de29..0000000 --- a/src/main/resources/assets/jewelrycraft2/TODO.txt +++ /dev/null |
