diff options
| author | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2014-03-30 22:59:36 +0300 |
|---|---|---|
| committer | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2014-03-30 22:59:36 +0300 |
| commit | 9d0d74a3ba0aeca9f1130d1228fa4b9ef08d19d6 (patch) | |
| tree | 86c2e6f3fc80cb4473b9044bdc00d0a2a082ad1b /common/darkknight/jewelrycraft/events/EntityEventHandler.java | |
| parent | 5fce447142b3c0f4a214ca7eb208d9e5c25e6377 (diff) | |
Added a gui! Yaaay!
Diffstat (limited to 'common/darkknight/jewelrycraft/events/EntityEventHandler.java')
| -rw-r--r-- | common/darkknight/jewelrycraft/events/EntityEventHandler.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/common/darkknight/jewelrycraft/events/EntityEventHandler.java b/common/darkknight/jewelrycraft/events/EntityEventHandler.java new file mode 100644 index 0000000..a3af5f9 --- /dev/null +++ b/common/darkknight/jewelrycraft/events/EntityEventHandler.java @@ -0,0 +1,48 @@ +package darkknight.jewelrycraft.events; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.event.ForgeSubscribe; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.PlayerUtils; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + + public static final String OPENBLOCKS_PERSIST_TAG = "Jewelrycraft"; + public static final String GIVEN_GUIDE_TAG = "givenGuive"; + + @ForgeSubscribe + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + + final Entity entity = event.entity; + /** + * If the player hasn't been given a manual, we'll give him one! (or + * throw it on the floor..) + */ + if (!event.world.isRemote && entity instanceof EntityPlayer) + { + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, "Jewelrycraft"); + + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean(GIVEN_GUIDE_TAG); + if (shouldGiveManual) + { + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) + { + BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + } + persistTag.setBoolean(GIVEN_GUIDE_TAG, true); + } + } + } +}
\ No newline at end of file |
