diff --git a/src/main/java/com/stek101/projectzulu/common/DeathGamerules.java b/src/main/java/com/stek101/projectzulu/common/DeathGamerules.java index 5f8fc4e..76e5f31 100644 --- a/src/main/java/com/stek101/projectzulu/common/DeathGamerules.java +++ b/src/main/java/com/stek101/projectzulu/common/DeathGamerules.java @@ -220,13 +220,19 @@ public void onPlayerDeath(PlayerDropsEvent event) { /* Get items/XP to drop and clear them from Player */ int xpDropped = 0; + if (dropXP) { if (!player.worldObj.isRemote) { + if (maxDropXP + percKeptXp > 100){ + ProjectZuluLog.warning("Warning : The total of MaxDropXP and percKeptXP is greater than 100. Resetting to default"); + maxDropXP = 100; + percKeptXp = 0; + } //xpDropped = player.experienceTotal; - xpDropped = player.experienceTotal * (maxDropXP/100); - int keptXp = (player.experienceTotal - xpDropped) * (percKeptXp / 100); - - xpDropped = xpDropped > maxDropXP ? maxDropXP : xpDropped; + xpDropped = (int) (player.experienceTotal * ((float) maxDropXP/100)); + + int keptXp = (int) ((player.experienceTotal - xpDropped) * ((float) percKeptXp / 100)); + //xpDropped = xpDropped > maxDropXP ? maxDropXP : xpDropped; redistributor.addExperience(player, keptXp >= 0 ? keptXp : 0); player.experienceLevel = 0; diff --git a/src/main/java/com/stek101/projectzulu/common/ProjectZulu_Blocks.java b/src/main/java/com/stek101/projectzulu/common/ProjectZulu_Blocks.java index db6a340..f429674 100644 --- a/src/main/java/com/stek101/projectzulu/common/ProjectZulu_Blocks.java +++ b/src/main/java/com/stek101/projectzulu/common/ProjectZulu_Blocks.java @@ -92,9 +92,10 @@ public void registration(ItemBlockManager manager) { new PalmTreeSlabDeclaration(), new PalmTreeDoubleSlabDeclaration(), new PalmTreeStairsDeclaration(), new PalmTreeLeavesDeclaration(), new PalmTreeSapling(), new CoconutDeclaration(), new QuickSandDeclaration(), new NightBloomDeclaration(), new CreeperBlossomDeclaration(), - new SpikesDeclaration(), new CampfireDeclaration(), new MobSkullsDeclaration(), + new SpikesDeclaration("Ivory"), new CampfireDeclaration(), new MobSkullsDeclaration(), new TombstoneDeclaration(), new UniversalFlowerPotDeclaration(), new BrewingStandSingleDeclaration(), - new BrewingStandTripleDeclaration()); + new BrewingStandTripleDeclaration(), new SpikesDeclaration("Wood"), new SpikesDeclaration("Stone"), + new SpikesDeclaration("Iron")); manager.addItemBlock(new AnkhDeclaration(), new AloeVeraSeedsDeclaration(), new WaterDropletDeclaration(), new CoconutMilkFragmentDeclaration(), new CoconutSeedDeclaration(), new CoconutShellDeclaration(), diff --git a/src/main/java/com/stek101/projectzulu/common/ProjectZulu_Core.java b/src/main/java/com/stek101/projectzulu/common/ProjectZulu_Core.java index 021d3a9..8333b81 100644 --- a/src/main/java/com/stek101/projectzulu/common/ProjectZulu_Core.java +++ b/src/main/java/com/stek101/projectzulu/common/ProjectZulu_Core.java @@ -88,6 +88,11 @@ public static int getNextDefaultEggID() { // public static PacketPipeline getPipeline() { // return packetPipeline; // } + + public static String Updates = ""; + public static boolean modOutDated = false; + public static boolean checkForUpdates = true; + //UpdateEventHandler UEH = new UpdateEventHandler(); @SidedProxy(clientSide = "com.stek101.projectzulu.common.ClientProxyProjectZulu", serverSide = "com.stek101.projectzulu.common.CommonProxyProjectZulu") public static CommonProxyProjectZulu proxy; @@ -110,6 +115,10 @@ public String getIdentifier() { @EventHandler public void preInit(FMLPreInitializationEvent event) { + //if (checkForUpdates) + // UpdateMonitor.checkForUpdates(); + //FMLCommonHandler.instance().bus().register(new UpdateEventHandler()); + modConfigDirectoryFile = event.getModConfigurationDirectory(); ProjectZuluLog.configureLogging(modConfigDirectoryFile); @@ -166,8 +175,7 @@ public void preInit(FMLPreInitializationEvent event) { ProjectZuluLog.info("Completed ItemBlock Registration"); ProjectZuluLog.info("Registering Entites"); - CustomEntityManager.INSTANCE.registerEntities(modConfigDirectoryFile); - + CustomEntityManager.INSTANCE.registerEntities(modConfigDirectoryFile); } private void attemptLoadModule(String classResourceName) { @@ -238,5 +246,6 @@ public void serverStart(FMLServerStartedEvent event) { moduleInfo.module.serverStart(event, modConfigDirectoryFile); } } - } + } + } diff --git a/src/main/java/com/stek101/projectzulu/common/ProjectZulu_Mobs.java b/src/main/java/com/stek101/projectzulu/common/ProjectZulu_Mobs.java index 33026b5..74bce20 100644 --- a/src/main/java/com/stek101/projectzulu/common/ProjectZulu_Mobs.java +++ b/src/main/java/com/stek101/projectzulu/common/ProjectZulu_Mobs.java @@ -34,14 +34,8 @@ import com.stek101.projectzulu.common.mobs.entitydefaults.GreenFinchDeclaration; import com.stek101.projectzulu.common.mobs.entitydefaults.HauntedArmorDeclaration; import com.stek101.projectzulu.common.mobs.entitydefaults.HornbillDeclaration; -import com.stek101.projectzulu.common.mobs.entitydefaults.HorseBeigeDeclaration; import com.stek101.projectzulu.common.mobs.entitydefaults.HorseBlackDeclaration; -import com.stek101.projectzulu.common.mobs.entitydefaults.HorseBrownDeclaration; -import com.stek101.projectzulu.common.mobs.entitydefaults.HorseDarkBlackDeclaration; -import com.stek101.projectzulu.common.mobs.entitydefaults.HorseDarkBrownDeclaration; -import com.stek101.projectzulu.common.mobs.entitydefaults.HorseGreyDeclaration; import com.stek101.projectzulu.common.mobs.entitydefaults.HorseRandomDeclaration; -import com.stek101.projectzulu.common.mobs.entitydefaults.HorseWhiteDeclaration; import com.stek101.projectzulu.common.mobs.entitydefaults.LizardDeclaration; import com.stek101.projectzulu.common.mobs.entitydefaults.LizardSpitDeclaration; import com.stek101.projectzulu.common.mobs.entitydefaults.MammothDeclaration; diff --git a/src/main/java/com/stek101/projectzulu/common/UpdateEventHandler.java b/src/main/java/com/stek101/projectzulu/common/UpdateEventHandler.java new file mode 100644 index 0000000..2d38892 --- /dev/null +++ b/src/main/java/com/stek101/projectzulu/common/UpdateEventHandler.java @@ -0,0 +1,19 @@ +package com.stek101.projectzulu.common; + +import net.minecraft.util.ChatComponentText; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.PlayerEvent; + +public class UpdateEventHandler { + + @SubscribeEvent + public void checkForUpdate(PlayerEvent.PlayerLoggedInEvent event) + { + if(ProjectZulu_Core.modOutDated) + { + event.player.addChatComponentMessage(new ChatComponentText("Attention : Your copy of the Project Zulu mod for MC 1.7.10 is Outdated. Please visit the Project Zulu for MC 1.7.10 thread in the Minecraft Forums to get the latest copy.")); + //event.player.addChatComponentMessage(new ChatComponentText("Changelog: http://www.yahoo.com")); + //event.player.addChatComponentMessage(new ChatComponentText(updates)); + } + } +} diff --git a/src/main/java/com/stek101/projectzulu/common/UpdateMonitor.java b/src/main/java/com/stek101/projectzulu/common/UpdateMonitor.java new file mode 100644 index 0000000..5473459 --- /dev/null +++ b/src/main/java/com/stek101/projectzulu/common/UpdateMonitor.java @@ -0,0 +1,98 @@ +package com.stek101.projectzulu.common; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; + +import com.stek101.projectzulu.common.core.DefaultProps; + +public class UpdateMonitor { + + + public static void checkForUpdates() + { + int currentVersion = DefaultProps.Version_Code; + int nextVersion = getLatest(); + if (currentVersion < nextVersion) + { + //ProjectZulu_Core.Updates = getUpdate(nextVersion); + ProjectZulu_Core.modOutDated = true; + } + else + { + ProjectZulu_Core.modOutDated = false; + } + } + + public static int getLatest() + { + try + { + URL url = new URL("http://soultek101.weebly.com/uploads/4/1/2/0/41209035/versioncontrol.txt"); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setRequestMethod("GET"); + connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); + connection.setRequestProperty("Content-Language", "en-US"); + connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"); + connection.setUseCaches(false); + connection.setDoInput(true); + connection.setDoOutput(true); + + InputStream is = connection.getInputStream(); + + BufferedReader br = new BufferedReader(new InputStreamReader(is)); + String line; + StringBuffer response = new StringBuffer(); + + while ((line = br.readLine()) != null) + { + response.append(line); + } + br.close(); + return Integer.parseInt(response.toString()); + } + catch (IOException e) + { + e.printStackTrace(); + } + return -1; + } + + /* private static String getUpdate(int version) + { + try + { + URL url = new URL("http://soultek101.weebly.com/uploads/4/1/2/0/41209035/versioncontrol.txt"); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + + connection.setRequestMethod("POST"); + connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); + connection.setRequestProperty("Content-Language", "en-US"); + connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"); + connection.setUseCaches(false); + connection.setDoInput(true); + connection.setDoOutput(true); + + InputStream is = connection.getInputStream(); + BufferedReader br = new BufferedReader(new InputStreamReader(is)); + String line; + StringBuffer response = new StringBuffer(); + + while ((line = br.readLine()) != null) + { + response.append(line); + } + br.close(); + return response.toString(); + } + catch (IOException e) + { + e.printStackTrace(); + } + return "Error"; + } */ + +} diff --git a/src/main/java/com/stek101/projectzulu/common/api/BlockList.java b/src/main/java/com/stek101/projectzulu/common/api/BlockList.java index 57d6de4..ce51c89 100644 --- a/src/main/java/com/stek101/projectzulu/common/api/BlockList.java +++ b/src/main/java/com/stek101/projectzulu/common/api/BlockList.java @@ -26,7 +26,10 @@ public enum BlockList { public static Optional creeperBlossom = Optional.absent(); public static Optional quickSand = Optional.absent(); - public static Optional spike = Optional.absent(); + public static Optional spike_ivory = Optional.absent(); + public static Optional spike_wood = Optional.absent(); + public static Optional spike_stone = Optional.absent(); + public static Optional spike_iron = Optional.absent(); public static Optional campfire = Optional.absent(); public static Optional mobHeads = Optional.absent(); public static Optional tombstone = Optional.absent(); diff --git a/src/main/java/com/stek101/projectzulu/common/api/ItemList.java b/src/main/java/com/stek101/projectzulu/common/api/ItemList.java index de96e1f..52b4b72 100644 --- a/src/main/java/com/stek101/projectzulu/common/api/ItemList.java +++ b/src/main/java/com/stek101/projectzulu/common/api/ItemList.java @@ -37,6 +37,7 @@ public enum ItemList { public static Optional hammerToolNether = Optional.absent(); public static Optional hammerToolDiamond = Optional.absent(); public static Optional hammerToolGold = Optional.absent(); + public static Optional xpGem = Optional.absent(); /* Armor */ public static Optional scaleArmorHead = Optional.absent(); diff --git a/src/main/java/com/stek101/projectzulu/common/blocks/ItemBlockRecipeManager.java b/src/main/java/com/stek101/projectzulu/common/blocks/ItemBlockRecipeManager.java index 3af1fd5..4c9b00e 100644 --- a/src/main/java/com/stek101/projectzulu/common/blocks/ItemBlockRecipeManager.java +++ b/src/main/java/com/stek101/projectzulu/common/blocks/ItemBlockRecipeManager.java @@ -42,6 +42,8 @@ public static void setupBlockModuleRecipies() { 'S' }, new OptionalItemStack(Items.gold_ingot), new OptionalItemStack(Items.stick)); addRecipe(new OptionalItemStack(ItemList.hammerToolDiamond), new String[] { "XSX", " S ", " S " }, new char[] { 'X', 'S' }, new OptionalItemStack(Items.diamond), new OptionalItemStack(Items.stick)); + addRecipe(new OptionalItemStack(ItemList.hammerToolDiamond), new String[] { "XSX", " S ", " S " }, new char[] { 'X', + 'S' }, new OptionalItemStack(Items.diamond), new OptionalItemStack(Items.stick)); /* Tombstone */ addRecipe(new OptionalItemStack(BlockList.tombstone), new String[] { "CCC", "CSC", "CCC" }, new char[] { 'C', @@ -143,8 +145,19 @@ public static void setupBlockModuleRecipies() { addShapelessRecipe( new OptionalItemStack(ItemList.genericCraftingItems, 2, ItemGenerics.Properties.Salt.meta()), new OptionalItemStack(Items.gunpowder)); - addRecipe(new OptionalItemStack(BlockList.spike), new String[] { " ", " ", "TTT" }, 'T', + + addRecipe(new OptionalItemStack(BlockList.spike_ivory), new String[] { " ", " ", "TTT" }, 'T', new OptionalItemStack(ItemList.genericCraftingItems, 1, ItemGenerics.Properties.Tusk.meta())); + + addRecipe(new OptionalItemStack(BlockList.spike_wood), new String[] { " ", " X ", "XXX" }, 'X', + new OptionalItemStack(Items.stick)); + + addRecipe(new OptionalItemStack(BlockList.spike_iron), new String[] { " ", " X ", "XXX" }, 'X', + new OptionalItemStack(Items.iron_ingot)); + + addRecipe(new OptionalItemStack(BlockList.spike_stone), new String[] { " ", " X ", "XXX" }, 'X', + new OptionalItemStack(Blocks.stone)); + addShapelessRecipe(new OptionalItemStack(Items.string), new OptionalItemStack(ItemList.genericCraftingItems, 1, ItemGenerics.Properties.RawFiber.meta()), new OptionalItemStack(ItemList.genericCraftingItems, 1, ItemGenerics.Properties.RawFiber.meta()), new OptionalItemStack(ItemList.genericCraftingItems, 1, diff --git a/src/main/java/com/stek101/projectzulu/common/blocks/ItemHammerTool.java b/src/main/java/com/stek101/projectzulu/common/blocks/ItemHammerTool.java index 2d12ef3..e20eb8c 100644 --- a/src/main/java/com/stek101/projectzulu/common/blocks/ItemHammerTool.java +++ b/src/main/java/com/stek101/projectzulu/common/blocks/ItemHammerTool.java @@ -16,14 +16,10 @@ import net.minecraft.world.World; import net.minecraftforge.oredict.OreDictionary; -import com.google.common.base.Optional; import com.google.common.collect.Sets; import com.stek101.projectzulu.common.ProjectZulu_Core; import com.stek101.projectzulu.common.api.BlockList; -import com.stek101.projectzulu.common.api.ItemList; import com.stek101.projectzulu.common.core.DefaultProps; -import com.stek101.projectzulu.common.core.OptionalItemStack; - import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.relauncher.Side; @@ -293,11 +289,5 @@ else if (blockMetaData == 1){ } return true; } - - // @Override - // public boolean onBlockStartBreak(ItemStack itemstack, int x, int y, int z, EntityPlayer entityplayer) { - - - - + } diff --git a/src/main/java/com/stek101/projectzulu/common/blocks/ItemXPGem.java b/src/main/java/com/stek101/projectzulu/common/blocks/ItemXPGem.java new file mode 100644 index 0000000..e8fe504 --- /dev/null +++ b/src/main/java/com/stek101/projectzulu/common/blocks/ItemXPGem.java @@ -0,0 +1,66 @@ +package com.stek101.projectzulu.common.blocks; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +import com.stek101.projectzulu.common.ProjectZulu_Core; +import com.stek101.projectzulu.common.core.DefaultProps; + +public class ItemXPGem extends Item { + private int storedXP; + private String playerName; + + public ItemXPGem(boolean full3D, String name, int xpAmount) { + /*maxStackSize = 64; + setMaxDamage(10); + setCreativeTab(ProjectZulu_Core.projectZuluCreativeTab); + bFull3D = full3D; + setHasSubtypes(true); + setUnlocalizedName(name); + setTextureName(DefaultProps.blockKey + ":" + name); + this.storedXP = xpAmount;*/ + this(full3D, name, xpAmount, ""); + } + + public ItemXPGem(boolean full3D, String name, int xpAmount, String playerName) { + super(); + maxStackSize = 1; + setMaxDamage(10); + setCreativeTab(ProjectZulu_Core.projectZuluCreativeTab); + bFull3D = full3D; + setHasSubtypes(true); + setUnlocalizedName(name); + setTextureName(DefaultProps.blockKey + ":" + name); + this.storedXP = xpAmount; + this.playerName = playerName; + } + + public void setStoredXP(int xpAmount){ + storedXP = xpAmount; + } + + @Override + public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer player) { + if (this.playerName != "") { + if (player.getDisplayName() == this.playerName) + { + player.addExperience(this.storedXP); + itemstack.damageItem(10, player); + } + else + { + System.out.println("Your are not the owner of this XP Gem. BEGONE!!!!"); + } + } + else{ + itemstack.damageItem(10, player); + } + return itemstack; + } + + + + +} \ No newline at end of file diff --git a/src/main/java/com/stek101/projectzulu/common/blocks/PZFuelHandler.java b/src/main/java/com/stek101/projectzulu/common/blocks/PZFuelHandler.java index 5696219..94c5c71 100644 --- a/src/main/java/com/stek101/projectzulu/common/blocks/PZFuelHandler.java +++ b/src/main/java/com/stek101/projectzulu/common/blocks/PZFuelHandler.java @@ -1,8 +1,9 @@ package com.stek101.projectzulu.common.blocks; +import net.minecraft.item.ItemStack; + import com.stek101.projectzulu.common.api.ItemList; -import net.minecraft.item.ItemStack; import cpw.mods.fml.common.IFuelHandler; public class PZFuelHandler implements IFuelHandler { diff --git a/src/main/java/com/stek101/projectzulu/common/blocks/itemblockdeclarations/SpikesDeclaration.java b/src/main/java/com/stek101/projectzulu/common/blocks/itemblockdeclarations/SpikesDeclaration.java index 11d7372..8f07837 100644 --- a/src/main/java/com/stek101/projectzulu/common/blocks/itemblockdeclarations/SpikesDeclaration.java +++ b/src/main/java/com/stek101/projectzulu/common/blocks/itemblockdeclarations/SpikesDeclaration.java @@ -1,12 +1,14 @@ package com.stek101.projectzulu.common.blocks.itemblockdeclarations; import net.minecraft.block.Block; +import net.minecraft.block.material.Material; import net.minecraftforge.common.config.Configuration; import com.google.common.base.Optional; import com.stek101.projectzulu.common.api.BlockList; import com.stek101.projectzulu.common.blocks.spike.BlockSpikes; import com.stek101.projectzulu.common.blocks.spike.RenderSpike; +import com.stek101.projectzulu.common.blocks.spike.TileEntitySpikes; import com.stek101.projectzulu.common.core.DefaultProps; import com.stek101.projectzulu.common.core.ProjectZuluLog; import com.stek101.projectzulu.common.core.itemblockdeclaration.BlockDeclaration; @@ -17,9 +19,11 @@ public class SpikesDeclaration extends BlockDeclaration { private int renderID = -1; - - public SpikesDeclaration() { - super("Spikes"); + private String material; + + public SpikesDeclaration(String mat) { + super("Spikes" + "_" + mat); + this.material = mat; } @Override @@ -30,17 +34,49 @@ protected void preCreateLoadConfig(Configuration config) { @Override protected boolean createBlock() { - BlockList.spike = Optional - .of(new BlockSpikes(renderID).setHardness(0.5F).setStepSound(Block.soundTypeMetal) - .setBlockName(name.toLowerCase()) + if (material == "Ivory") { + BlockList.spike_ivory = Optional + .of(new BlockSpikes(renderID).setBlockName(name.toLowerCase()) .setBlockTextureName(DefaultProps.blockKey + ":" + name.toLowerCase())); + } + else if (material == "Wood") { + BlockList.spike_wood = Optional + .of(new BlockSpikes(renderID, Material.wood, 0).setBlockName(name.toLowerCase()) + .setBlockTextureName(DefaultProps.blockKey + ":" + name.toLowerCase())); + } + else if (material == "Stone") { + BlockList.spike_stone = Optional + .of(new BlockSpikes(renderID, Material.rock, 0).setBlockName(name.toLowerCase()) + .setBlockTextureName(DefaultProps.blockKey + ":" + name.toLowerCase())); + } + else if (material == "Iron") { + BlockList.spike_iron = Optional + .of(new BlockSpikes(renderID, Material.iron, 0).setBlockName(name.toLowerCase()) + .setBlockTextureName(DefaultProps.blockKey + ":" + name.toLowerCase())); + } return true; } @Override protected void registerBlock() { - Block block = BlockList.spike.get(); - GameRegistry.registerBlock(block, name.toLowerCase()); + if (material == "Ivory") { + Block block = BlockList.spike_ivory.get(); + GameRegistry.registerBlock(block, name.toLowerCase()); + GameRegistry.registerTileEntity(TileEntitySpikes.class, "PZTileEntitySpikes"); + } else if (material == "Wood") { + Block block = BlockList.spike_wood.get(); + GameRegistry.registerBlock(block, name.toLowerCase()); + GameRegistry.registerTileEntity(TileEntitySpikes.class, "PZTileEntitySpikesW"); + } else if (material == "Stone") { + Block block = BlockList.spike_stone.get(); + GameRegistry.registerBlock(block, name.toLowerCase()); + GameRegistry.registerTileEntity(TileEntitySpikes.class, "PZTileEntitySpikesS"); + } else if (material == "Iron") { + Block block = BlockList.spike_iron.get(); + GameRegistry.registerBlock(block, name.toLowerCase()); + GameRegistry.registerTileEntity(TileEntitySpikes.class, "PZTileEntitySpikesI"); + } + //GameRegistry.registerTileEntity(TileEntitySpikes.class, "PZTileEntitySpikes"); } @Override diff --git a/src/main/java/com/stek101/projectzulu/common/blocks/itemblockdeclarations/XPGemItemDeclaration.java b/src/main/java/com/stek101/projectzulu/common/blocks/itemblockdeclarations/XPGemItemDeclaration.java new file mode 100644 index 0000000..2143638 --- /dev/null +++ b/src/main/java/com/stek101/projectzulu/common/blocks/itemblockdeclarations/XPGemItemDeclaration.java @@ -0,0 +1,29 @@ +package com.stek101.projectzulu.common.blocks.itemblockdeclarations; + +import net.minecraft.item.Item; + +import com.google.common.base.Optional; +import com.stek101.projectzulu.common.api.ItemList; +import com.stek101.projectzulu.common.blocks.ItemXPGem; +import com.stek101.projectzulu.common.core.itemblockdeclaration.ItemDeclaration; + +import cpw.mods.fml.common.registry.GameRegistry; + +public class XPGemItemDeclaration extends ItemDeclaration { + + public XPGemItemDeclaration() { + super("XPGem"); + } + + @Override + protected boolean createItem() { + ItemList.xpGem = Optional.of(new ItemXPGem(false, name.toLowerCase(), 0)); + return true; + } + + @Override + protected void registerItem() { + Item item = ItemList.xpGem.get(); + GameRegistry.registerItem(item, name); + } +} \ No newline at end of file diff --git a/src/main/java/com/stek101/projectzulu/common/blocks/spike/BlockSpikes.java b/src/main/java/com/stek101/projectzulu/common/blocks/spike/BlockSpikes.java index 374ce70..a34917e 100644 --- a/src/main/java/com/stek101/projectzulu/common/blocks/spike/BlockSpikes.java +++ b/src/main/java/com/stek101/projectzulu/common/blocks/spike/BlockSpikes.java @@ -3,16 +3,19 @@ import java.util.Random; import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.client.Minecraft; +import net.minecraft.client.particle.EffectRenderer; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.IIcon; @@ -26,26 +29,50 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class BlockSpikes extends Block { +public class BlockSpikes extends BlockContainer { - public static final String[] imageSuffix = new String[] { "", "_poison", "_sticky" }; - public int maxDamage; + public static final String[] imageSuffixB = new String[] { "", "_poison", "_sticky" }; + Material blockMaterial; + int defaultIvory; @SideOnly(Side.CLIENT) private IIcon[] icons; public final int renderID; - public BlockSpikes(int renderID) { - super(Material.iron); + public BlockSpikes(int renderID, Material mat, int defaultIvory) { + super(mat); setCreativeTab(ProjectZulu_Core.projectZuluCreativeTab); disableStats(); - setBlockBounds(0f, 0.0F, 0.0f, 1.0f, 0.5f, 1.0f); - setHardness(0.5F); - setStepSound(Block.soundTypeMetal); - this.maxDamage = 5; + setBlockBounds(0f, 0.0F, 0.0f, 1.0f, 0.5f, 1.0f); + this.blockMaterial = mat; + this.defaultIvory = defaultIvory; + if (mat == Material.wood) { + setHardness(1.0F); + setResistance(2.0F); + setStepSound(Block.soundTypeWood); + } + else if (mat == Material.rock){ + setHardness(1.5F); + setStepSound(Block.soundTypeStone); + setResistance(4.0F); + } + else if (mat == Material.iron){ + setHardness(2.5F); + setResistance(6.0F); + setStepSound(Block.soundTypeMetal); + } + else { + setHardness(1.0F); + setResistance(2.0F); + setStepSound(Block.soundTypeGlass); + } this.renderID = renderID; } + + public BlockSpikes(int RenderID){ + this(RenderID, Material.rock, 1); + } @Override @SideOnly(Side.CLIENT) @@ -62,15 +89,16 @@ public IIcon getIcon(int par1, int par2) { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister par1IconRegister) { - this.icons = new IIcon[imageSuffix.length]; - for (int i = 0; i < this.icons.length; ++i) { - this.icons[i] = par1IconRegister.registerIcon(getTextureName() + imageSuffix[i]); - } + this.icons = new IIcon[imageSuffixB.length]; + for (int i = 0; i < this.icons.length; ++i) { + this.icons[i] = par1IconRegister.registerIcon(getTextureName() + imageSuffixB[i]); + } } @Override public void setBlockBoundsBasedOnState(IBlockAccess par1iBlockAccess, int par2, int par3, int par4) { - if (par1iBlockAccess.getBlock(par2, par3 - 1, par4) == Blocks.fence + + if (par1iBlockAccess.getBlock(par2, par3 - 1, par4) == Blocks.fence || par1iBlockAccess.getBlock(par2, par3 - 1, par4) == Blocks.nether_brick_fence) { this.setBlockBounds(0.375f, 0.0F, 0.375f, 0.625f, 0.4f, 0.625f); @@ -136,7 +164,6 @@ public void setBlockBoundsBasedOnState(IBlockAccess par1iBlockAccess, int par2, break; } } - } @Override @@ -178,28 +205,62 @@ public boolean canPlaceBlockOnSide(World par1World, int par2, int par3, int par4 @Override public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity) { + EffectRenderer efrenderer = Minecraft.getMinecraft().effectRenderer; + if ((par5Entity instanceof EntityLiving || par5Entity instanceof EntityPlayer) && ((par5Entity.prevPosY > par3 + this.maxY * 0.9f && par5Entity.posY < par3 + this.maxY * 0.9f) || (par5Entity.prevPosX > par2 + 0.5 && par5Entity.posX < par2 + 0.5) || (par5Entity.prevPosZ > par4 + 0.5 && par5Entity.posZ < par4 + 0.5))) { - - /* Check if Spikes are Poison, If So Also Apply Posion with Damage */ + + /* Check if Spikes are Poison, If So Also Apply Poison with Damage */ if (par1World.getBlockMetadata(par2, par3, par4) > 5 && par1World.getBlockMetadata(par2, par3, par4) < 12) { + if (par5Entity instanceof EntityLiving) ((EntityLiving) par5Entity).addPotionEffect(new PotionEffect(Potion.poison.id, 40, 1)); + + if (par5Entity instanceof EntityPlayer && !par5Entity.isSneaking()) + ((EntityPlayer) par5Entity).addPotionEffect(new PotionEffect(Potion.poison.id, 40, 1)); } + if (par1World.getBlockMetadata(par2, par3, par4) > 11) { + if (par5Entity instanceof EntityLiving) ((EntityLiving) par5Entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 40, 4)); + + if (par5Entity instanceof EntityPlayer && !par5Entity.isSneaking()) + ((EntityPlayer) par5Entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 40, 4)); } - par5Entity.attackEntityFrom(DamageSource.generic, 2); - - //maxDamage = maxDamage - 1; - //System.out.println("spike damage is " + maxDamage); - /* if (this.maxDamage <= 0) { - par1World.spawnParticle("blockdust_" + Block.getIdFromBlock(this) + '_' + par1World.getBlockMetadata(par2, par3, par4), - par2+0.5, par3+1.0, par4+0.5, 0.0D, 0.0D, 0.0D); - par1World.playSoundAtEntity(par5Entity, "random.break", 1.0F, 1.0F); - par1World.setBlockToAir(par2, par3, par4); - this.maxDamage = 5; - } */ + + if (!par5Entity.isSneaking()) { + + if (par5Entity.isSprinting()) { + par5Entity.attackEntityFrom(DamageSource.generic, 6); + } + else + { + par5Entity.attackEntityFrom(DamageSource.generic, 2); + } + + if (par1World.isRemote) { + Random rand = new Random(); + par1World.spawnParticle("crit", par5Entity.posX, par5Entity.posY, par5Entity.posZ, 0.0D, 0.0D, 0.0D); + for (int i = 0; i < 6; i++) { + par1World.spawnParticle("crit", par2 + rand.nextDouble(), par3 + 1 + rand.nextDouble()*0.2, par4 + rand.nextDouble(), 0, 0, 0); + } + } + + TileEntity tileEntity = par1World.getTileEntity(par2, par3, par4); + + if (tileEntity != null && tileEntity instanceof TileEntitySpikes) { + ((TileEntitySpikes) tileEntity).setDamage(1); + //System.out.println("Spike max damage is " + ((TileEntitySpikes) tileEntity).getMaxDmg()); + //System.out.println("Spike current damage is " + ((TileEntitySpikes) tileEntity).getCurrDamage()); + + if (((TileEntitySpikes) tileEntity).getCurrDamage() > ((TileEntitySpikes) tileEntity).getMaxDmg()) { + efrenderer.addBlockDestroyEffects((int)par2 - 1, (int)par3 + 1, (int)par4, Blocks.iron_block, 0); + par1World.playSoundAtEntity(par5Entity, "random.break", 1.0F, 1.0F); + par1World.removeTileEntity(par2, par3, par4); + par1World.setBlockToAir(par2, par3, par4); + } + } + } } super.onEntityCollidedWithBlock(par1World, par2, par3, par4, par5Entity); } @@ -207,6 +268,12 @@ public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int p @Override public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + int maxSpikeDmg; + int currSpikeDmg; + + TileEntity tileEntityO = par1World.getTileEntity(par2, par3, par4); + maxSpikeDmg = ((TileEntitySpikes) tileEntityO).getMaxDmg(); + currSpikeDmg = ((TileEntitySpikes) tileEntityO).getCurrDamage(); /* Check if Item is Poison Droplet, is so Make Poisonous */ if (par5EntityPlayer.inventory.getCurrentItem() != null @@ -223,8 +290,10 @@ public boolean onBlockActivated(World par1World, int par2, int par3, int par4, E /* If not Poison (meta<6) increase by 6, if sticky(>11) reduce by 6 */ if (par1World.getBlockMetadata(par2, par3, par4) < 6) { + par1World.removeTileEntity(par2, par3, par4); par1World.setBlock(par2, par3, par4, this, par1World.getBlockMetadata(par2, par3, par4) + 6, 3); } else { + par1World.removeTileEntity(par2, par3, par4); par1World.setBlock(par2, par3, par4, this, par1World.getBlockMetadata(par2, par3, par4) - 6, 3); } } @@ -241,11 +310,18 @@ public boolean onBlockActivated(World par1World, int par2, int par3, int par4, E /* If not Poison or Sticky (meta<6) increase by 12, if Poison(>6 & <11) increase by 6 */ if (par1World.getBlockMetadata(par2, par3, par4) < 6) { + par1World.removeTileEntity(par2, par3, par4); par1World.setBlock(par2, par3, par4, this, par1World.getBlockMetadata(par2, par3, par4) + 12, 3); } else { + par1World.removeTileEntity(par2, par3, par4); par1World.setBlock(par2, par3, par4, this, par1World.getBlockMetadata(par2, par3, par4) + 6, 3); } } + + TileEntity tileEntityC = par1World.getTileEntity(par2, par3, par4); + ((TileEntitySpikes) tileEntityC).setMaxDmg(maxSpikeDmg); + ((TileEntitySpikes) tileEntityC).setCurrDamage(currSpikeDmg); + return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9); } @@ -310,6 +386,38 @@ public boolean canPlaceSpikeOn(World world, int x, int y, int z) { || id == Blocks.piston_head || id == Blocks.sticky_piston; } } - + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + int maxSpikeDmgCap = 50; + + if (this.blockMaterial == Material.wood) + { + maxSpikeDmgCap = 50; + } + else if (this.blockMaterial == Material.rock) + { + if (this.defaultIvory == 0){ + maxSpikeDmgCap = 50; + } else { + maxSpikeDmgCap = 90; + } + } + else if (this.blockMaterial == Material.iron) + { + maxSpikeDmgCap = 175; + } + + return new TileEntitySpikes(maxSpikeDmgCap); + } + + /** + * ejects contained items into the world, and notifies neighbours of an update, as appropriate + */ + @Override + public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { + + super.breakBlock(par1World, par2, par3, par4, par5, par6); + } } diff --git a/src/main/java/com/stek101/projectzulu/common/blocks/spike/TileEntitySpikes.java b/src/main/java/com/stek101/projectzulu/common/blocks/spike/TileEntitySpikes.java new file mode 100644 index 0000000..074a8fe --- /dev/null +++ b/src/main/java/com/stek101/projectzulu/common/blocks/spike/TileEntitySpikes.java @@ -0,0 +1,72 @@ +package com.stek101.projectzulu.common.blocks.spike; + +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.play.server.S35PacketUpdateTileEntity; +import net.minecraft.tileentity.TileEntity; + +public class TileEntitySpikes extends TileEntity{ + private int spikeMaxDmg = 0; + private int spikeCurDmg = 0; + private static final String NBT_SPIKE_MAX_DMG = "SpikeMaxDamage"; + private static final String NBT_SPIKE_CUR_DMG = "SpikeCurrDamage"; + private NBTTagCompound nbtag = new NBTTagCompound(); + + public TileEntitySpikes(int maxDamage){ + this.spikeMaxDmg = maxDamage; + } + + public TileEntitySpikes(){ + + } + + public void setMaxDmg(int maxDmg){ + this.spikeMaxDmg = maxDmg; + } + + public int getMaxDmg(){ + return this.spikeMaxDmg; + } + + public void setDamage(int damage){ + this.spikeCurDmg = this.spikeCurDmg + damage; + } + + public int getCurrDamage(){ + return this.spikeCurDmg; + } + + public void setCurrDamage(int currDmg){ + this.spikeCurDmg = currDmg; + } + + @Override + public void readFromNBT(NBTTagCompound nbt){ + super.readFromNBT(nbt); + this.spikeMaxDmg = nbt.getInteger(NBT_SPIKE_MAX_DMG); + this.spikeCurDmg = nbt.getInteger(NBT_SPIKE_CUR_DMG); + } + + @Override + public void writeToNBT(NBTTagCompound nbt){ + super.writeToNBT(nbt); + nbt.setInteger(NBT_SPIKE_MAX_DMG, spikeMaxDmg); + nbt.setInteger(NBT_SPIKE_CUR_DMG, spikeCurDmg); + } + + @Override + public Packet getDescriptionPacket(){ + NBTTagCompound tileTag = new NBTTagCompound(); + this.writeToNBT(tileTag); + //return new Packet132TileEntityData(this.xCoord, this.yCoord, this.zCoord, 0, tileTag); + return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 4, tileTag); + } + + @Override + public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { + NBTTagCompound tag = pkt.func_148857_g(); + readFromNBT(tag); + } + +} diff --git a/src/main/java/com/stek101/projectzulu/common/blocks/tombstone/BlockTombstone.java b/src/main/java/com/stek101/projectzulu/common/blocks/tombstone/BlockTombstone.java index 316c95f..936a62d 100644 --- a/src/main/java/com/stek101/projectzulu/common/blocks/tombstone/BlockTombstone.java +++ b/src/main/java/com/stek101/projectzulu/common/blocks/tombstone/BlockTombstone.java @@ -6,7 +6,7 @@ import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.item.EntityXPOrb; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.Item; @@ -33,6 +33,7 @@ public BlockTombstone(Class par2Class) { setBlockBounds(0.5F - var4, 0.0F, 0.5F - var4, 0.5F + var4, var5, 0.5F + var4); setHardness(0.5F); setStepSound(Block.soundTypeMetal); + } /** @@ -138,10 +139,10 @@ public void breakBlock(World par1World, int par2, int par3, int par4, Block par5 TileEntity tileEntity = par1World.getTileEntity(par2, par3, par4); if (tileEntity != null && tileEntity instanceof TileEntityTombstone) { - + par1World.spawnEntityInWorld(new EntityXPOrb(par1World, (double)par2 + 0.5D, (double)par3 + 0.5D, (double)par4 + 0.5D, ((TileEntityTombstone) tileEntity).dropXP())); ((TileEntityTombstone) tileEntity).spawnItemsNearPlayer(par1World, par2, par3, par4); } super.breakBlock(par1World, par2, par3, par4, par5, par6); - } + } } diff --git a/src/main/java/com/stek101/projectzulu/common/blocks/tombstone/TileEntityTombstone.java b/src/main/java/com/stek101/projectzulu/common/blocks/tombstone/TileEntityTombstone.java index 4dbcb94..53ce87c 100644 --- a/src/main/java/com/stek101/projectzulu/common/blocks/tombstone/TileEntityTombstone.java +++ b/src/main/java/com/stek101/projectzulu/common/blocks/tombstone/TileEntityTombstone.java @@ -5,8 +5,6 @@ import java.util.List; import java.util.Random; -import com.stek101.projectzulu.common.ProjectZulu_Core; - import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityXPOrb; import net.minecraft.entity.player.EntityPlayer; @@ -18,6 +16,9 @@ import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; + +import com.stek101.projectzulu.common.ProjectZulu_Core; + import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -75,13 +76,20 @@ public void giveItemsToPlayer(EntityPlayer player) { } } + /* Spawn and reset XP amount */ + public int dropXP(){ + int droppedXP = experience; + experience =0; + return droppedXP; + } + /* Spawn items in Tombstone near Player */ public void spawnItemsNearPlayer(World world, int par1, int par2, int par3) { Random rand = new Random(); EntityPlayer player = ProjectZulu_Core.proxy.getClientPlayer(); Side side = FMLCommonHandler.instance().getEffectiveSide(); - player.addExperience(experience); - experience = 0; + //player.addExperience(experience); + //experience = 0; Iterator unSortIterator = deathItems.iterator(); diff --git a/src/main/java/com/stek101/projectzulu/common/core/DefaultProps.java b/src/main/java/com/stek101/projectzulu/common/core/DefaultProps.java index 8d96fff..e2983c8 100644 --- a/src/main/java/com/stek101/projectzulu/common/core/DefaultProps.java +++ b/src/main/java/com/stek101/projectzulu/common/core/DefaultProps.java @@ -1,10 +1,12 @@ package com.stek101.projectzulu.common.core; + public class DefaultProps { /* ModIDs, Dependencies, and Version */ public static final String DesiredBefore = "after:ExtrabiomesXL@"; - public static final String VERSION_STRING = "1.7.10-1.3e"; + public static final String VERSION_STRING = "1.7.10-1.3f"; + public static final int Version_Code = 1710135; public static final String CoreModId = "ProjectZulu|Core"; public static final String BlocksModId = "ProjectZulu|Block"; public static final String MobsModId = "ProjectZulu|Mob"; diff --git a/src/main/java/com/stek101/projectzulu/common/mobs/entity/EntityDuck.java b/src/main/java/com/stek101/projectzulu/common/mobs/entity/EntityDuck.java index 2ad4c38..cbb38a5 100644 --- a/src/main/java/com/stek101/projectzulu/common/mobs/entity/EntityDuck.java +++ b/src/main/java/com/stek101/projectzulu/common/mobs/entity/EntityDuck.java @@ -16,7 +16,6 @@ import net.minecraft.world.World; import com.google.common.base.Optional; -import com.stek101.projectzulu.common.api.BlockList; import com.stek101.projectzulu.common.api.CustomEntityList; import com.stek101.projectzulu.common.api.ItemList; import com.stek101.projectzulu.common.core.DefaultProps; @@ -30,8 +29,6 @@ import com.stek101.projectzulu.common.mobs.entityai.EntityAITempt; import com.stek101.projectzulu.common.mobs.entityai.EntityAIWander; -import cpw.mods.fml.common.Loader; - public class EntityDuck extends EntityGenericAnimal implements IAnimals { private EntityAFightorFlight EAFF; diff --git a/src/main/resources/assets/projectzulublock/lang/en_US.lang b/src/main/resources/assets/projectzulublock/lang/en_US.lang index 5974091..d20b4a1 100644 --- a/src/main/resources/assets/projectzulublock/lang/en_US.lang +++ b/src/main/resources/assets/projectzulublock/lang/en_US.lang @@ -11,7 +11,11 @@ tile.palmtreesapling.name=Palm Tree Sapling tile.quicksand.name=QuickSand tile.nightbloom.name=NightBloom tile.creeperblossom.name=Creeper Blossom -tile.spikes.name=Ivory Spikes +tile.spikes.name=Ivory Spikes Trap +tile.spikes_ivory.name=Ivory Spikes Trap +tile.spikes_iron.name=Iron Spikes Trap +tile.spikes_wood.name=Wood Spikes Trap +tile.spikes_stone.name=Stone Spikes Trap tile.woodcampfire.name=Wood Campfire tile.stonecampfire.name=Stone Campfire tile.litcampfire.name=Lit Wood Campfire @@ -135,6 +139,7 @@ item.hammertoolstone.name=Stone Hammer Tool item.hammertooliron.name=Iron Hammer Tool item.hammertoolgold.name=Gold Hammer Tool item.hammertooldiamond.name=Diamond Hammer Tool +item.xpgem.name=XP Gem potion.shining=Bubbling potion.incendiary=Incendiary diff --git a/src/main/resources/assets/projectzulublock/lang/ru_RU.lang b/src/main/resources/assets/projectzulublock/lang/ru_RU.lang index 114de8d..1fc86dd 100644 --- a/src/main/resources/assets/projectzulublock/lang/ru_RU.lang +++ b/src/main/resources/assets/projectzulublock/lang/ru_RU.lang @@ -11,7 +11,11 @@ tile.palmtreesapling.name=Пальмовый саженец tile.quicksand.name=Зыбучий песок tile.nightbloom.name=Ночной цветок tile.creeperblossom.name=Жуткий цветок -tile.spikes.name=Шипы из слоновой кости +tile.spikes.name=Кот Шипы +tile.spikes_ivory.name=Кот Шипы +tile.spikes_iron.name=Утюг Шипы +tile.spikes_wood.name=Дерево Шипы +tile.spikes_stone.name=Камень Шипы tile.woodcampfire.name=Деревянный костёр tile.stonecampfire.name=Каменный костёр tile.litcampfire.name=Зажжённый деревянный костёр @@ -135,6 +139,7 @@ item.hammertoolstone.name=Камень молоток инструмент item.hammertooliron.name=Утюг молоток инструмент item.hammertoolgold.name=Золото инструмент молоток item.hammertooldiamond.name=Алмазный молоток инструмент +item.xpgem.name=XP камень potion.shining=Кипение potion.incendiary=Зажигательность diff --git a/src/main/resources/assets/projectzulublock/textures/blocks/spikes_iron.png b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_iron.png new file mode 100644 index 0000000..a8435e2 Binary files /dev/null and b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_iron.png differ diff --git a/src/main/resources/assets/projectzulublock/textures/blocks/spikes_iron_poison.png b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_iron_poison.png new file mode 100644 index 0000000..6d43fd5 Binary files /dev/null and b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_iron_poison.png differ diff --git a/src/main/resources/assets/projectzulublock/textures/blocks/spikes_iron_sticky.png b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_iron_sticky.png new file mode 100644 index 0000000..7f37245 Binary files /dev/null and b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_iron_sticky.png differ diff --git a/src/main/resources/assets/projectzulublock/textures/blocks/spikes_ivory.png b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_ivory.png new file mode 100644 index 0000000..964fb86 Binary files /dev/null and b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_ivory.png differ diff --git a/src/main/resources/assets/projectzulublock/textures/blocks/spikes_ivory_poison.png b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_ivory_poison.png new file mode 100644 index 0000000..c675c40 Binary files /dev/null and b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_ivory_poison.png differ diff --git a/src/main/resources/assets/projectzulublock/textures/blocks/spikes_ivory_sticky.png b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_ivory_sticky.png new file mode 100644 index 0000000..dced4bc Binary files /dev/null and b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_ivory_sticky.png differ diff --git a/src/main/resources/assets/projectzulublock/textures/blocks/spikes_stone.png b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_stone.png new file mode 100644 index 0000000..320a4f0 Binary files /dev/null and b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_stone.png differ diff --git a/src/main/resources/assets/projectzulublock/textures/blocks/spikes_stone_poison.png b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_stone_poison.png new file mode 100644 index 0000000..2a7d6bd Binary files /dev/null and b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_stone_poison.png differ diff --git a/src/main/resources/assets/projectzulublock/textures/blocks/spikes_stone_sticky.png b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_stone_sticky.png new file mode 100644 index 0000000..39cdf70 Binary files /dev/null and b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_stone_sticky.png differ diff --git a/src/main/resources/assets/projectzulublock/textures/blocks/spikes_wood.png b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_wood.png new file mode 100644 index 0000000..e1d91ad Binary files /dev/null and b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_wood.png differ diff --git a/src/main/resources/assets/projectzulublock/textures/blocks/spikes_wood_poison.png b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_wood_poison.png new file mode 100644 index 0000000..5f7d8ce Binary files /dev/null and b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_wood_poison.png differ diff --git a/src/main/resources/assets/projectzulublock/textures/blocks/spikes_wood_sticky.png b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_wood_sticky.png new file mode 100644 index 0000000..9113fba Binary files /dev/null and b/src/main/resources/assets/projectzulublock/textures/blocks/spikes_wood_sticky.png differ diff --git a/src/main/resources/assets/projectzulublock/textures/items/xpgem.png b/src/main/resources/assets/projectzulublock/textures/items/xpgem.png new file mode 100644 index 0000000..9827960 Binary files /dev/null and b/src/main/resources/assets/projectzulublock/textures/items/xpgem.png differ diff --git a/src/main/resources/assets/projectzulumob/textures/giantrat0.png b/src/main/resources/assets/projectzulumob/textures/giantrat0.png index c03690d..7740e28 100644 Binary files a/src/main/resources/assets/projectzulumob/textures/giantrat0.png and b/src/main/resources/assets/projectzulumob/textures/giantrat0.png differ diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 1e03e81..59624fc 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -2,7 +2,7 @@ { "modid" : "ProjectZulu|Core", "name" : "Project Zulu", - "version" : "1.3e", + "version" : "1.3f", "url" : "", "credits" : "Soultek101, CrudeDragos", "authors": [