Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.EvilNotch.SilkSpawners;
- import java.util.HashMap;
- import java.util.Map;
- import cpw.mods.fml.common.eventhandler.SubscribeEvent;
- import cpw.mods.fml.relauncher.Side;
- import cpw.mods.fml.relauncher.SideOnly;
- import gnu.trove.map.TIntObjectMap;
- import gnu.trove.map.hash.TIntObjectHashMap;
- import net.minecraft.block.Block;
- import net.minecraft.block.BlockMobSpawner;
- import net.minecraft.block.BlockSand;
- import net.minecraft.enchantment.Enchantment;
- import net.minecraft.enchantment.EnchantmentHelper;
- import net.minecraft.entity.EntityLivingBase;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.init.Blocks;
- import net.minecraft.init.Items;
- import net.minecraft.item.ItemStack;
- import net.minecraft.nbt.NBTTagCompound;
- import net.minecraft.tileentity.TileEntity;
- import net.minecraft.tileentity.TileEntityMobSpawner;
- import net.minecraft.world.ChunkPosition;
- import net.minecraft.world.World;
- import net.minecraft.world.WorldProvider;
- import net.minecraftforge.event.entity.player.PlayerInteractEvent;
- import net.minecraftforge.event.entity.player.PlayerInteractEvent.Action;
- import net.minecraftforge.event.world.BlockEvent.BreakEvent;
- import net.minecraftforge.event.world.BlockEvent.HarvestDropsEvent;
- import net.minecraftforge.event.world.BlockEvent.PlaceEvent;
- public class SilkSpawners {
- public static TileEntity var1;
- public static int varmeta;
- public static TileEntity varTile_nbt_read;
- //@SideOnly(Side.SERVER)
- // private static TIntObjectMap<Map<ChunkPosition, TileEntity>> feild = new TIntObjectHashMap<>();
- // WorldProvider#dimensionId field
- // (first is chunkposition tileentity ("key") )
- //String name = countryNames.get("IT");
- @SubscribeEvent
- public void BlockEvent(BreakEvent event)
- {
- System.out.println("Var1 before set");
- System.out.println(var1);
- if (!event.world.isRemote)
- {
- if (event.block instanceof BlockMobSpawner)
- {
- if (event.world.getTileEntity(event.x, event.y, event.z) instanceof TileEntityMobSpawner);
- {
- ItemStack heldItem = event.getPlayer().getCurrentEquippedItem();
- if (heldItem != null && heldItem.getItem().getHarvestLevel(heldItem, "pickaxe") > 0)
- {
- var1 = event.world.getTileEntity(event.x, event.y, event.z);
- event.world.removeTileEntity(event.x, event.y, event.z);
- varmeta = event.world.getBlockMetadata(event.x, event.y, event.z);
- System.out.println("Varmeeeeeeeeeeeeeeeeeeeeeta");
- System.out.println(varmeta);
- }
- }
- }
- }
- }
- // world.getProvider().getDimensionId() world.getTileEntity()
- @SubscribeEvent
- public void yourPlayerHarvestEvent(HarvestDropsEvent event1)
- {
- if(!event1.world.isRemote)
- {
- if (event1.block instanceof BlockMobSpawner)
- {
- ItemStack heldItem1 = event1.harvester.getCurrentEquippedItem();
- if (heldItem1 != null && heldItem1.getItem().getHarvestLevel(heldItem1, "pickaxe") > 0 && EnchantmentHelper.getSilkTouchModifier(event1.harvester))
- {
- Block block = Blocks.mob_spawner;
- NBTTagCompound BlockEntityTag = new NBTTagCompound();
- NBTTagCompound var_nbt = new NBTTagCompound(); // Write the TileEntity to NBT
- var1.writeToNBT(var_nbt);
- System.out.println("vAAAAAAAAAAAAAAAAAAAAR !!!!!!!!!!!!!!!!!! 1");
- System.out.println(var_nbt);
- final ItemStack droppedItem = new ItemStack(block); // Create an ItemStack of the Block
- final ItemStack MetaBlock = new ItemStack(block, 1, varmeta);
- droppedItem.setTagInfo("BlockEntityTag", var_nbt); // Store the TileEntity data in the ItemStack
- //droppedItem.writeToNBT(var_nbt); ebuger
- MetaBlock.setTagInfo("BlockEntityTag", var_nbt); // Store the TileEntity data in the ItemStack
- event1.drops.add(droppedItem); // Add the ItemStack to the drops list
- System.out.println("drooooooooooooooooooooooop");
- System.out.println(droppedItem);
- //event1.drops.clear();
- //var1 = null; //resets var1 to null and is ready for the next instance
- // if necessary feild.clear();
- }
- }
- }
- }
- @SubscribeEvent
- public void BlockEvent (PlaceEvent event2)
- {
- if (!event2.world.isRemote)
- {
- if (event2.placedBlock == Blocks.mob_spawner)
- {
- if (event2.itemInHand != null && event2.itemInHand.hasTagCompound() );
- {
- System.out.println("ItemInHand");
- System.out.println(event2.itemInHand);
- ItemStack varhand = event2.itemInHand;
- varhand.getTagCompound();
- System.out.println("NBT Compound");
- System.out.println(varhand.getTagCompound() );
- NBTTagCompound handNBT = new NBTTagCompound();
- varhand.writeToNBT(handNBT);
- varTile_nbt_read = event2.world.getTileEntity(event2.x, event2.y, event2.z);
- NBTTagCompound var_nbt = new NBTTagCompound();
- var1.writeToNBT(var_nbt);
- varTile_nbt_read.readFromNBT(var_nbt);
- varTile_nbt_read.writeToNBT(var_nbt);
- System.out.println("Var_NBT_Final");
- System.out.println(var_nbt);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement