Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.minecraft.src;
- import java.util.*;
- import java.io.FileInputStream;
- import java.io.IOException;
- public class mod_TreeSpirit extends BaseMod
- {
- public mod_TreeSpirit()
- {
- //Load config
- //Add config here
- //Options
- ModLoader.SetInGameHook(this, true, true);
- //Register
- ModLoader.RegisterBlock(heartLog);
- ModLoader.RegisterBlock(heartSapling, ItemModHeartSapling.class);
- ModLoader.RegisterBlock(heartTreeLeave);
- ModLoader.RegisterBlock(heartTreeLog);
- //Names
- ModLoader.AddName(heartLog, "Heart Log");
- ModLoader.AddName(heartSapling, "Heart Tree Sapling");
- //Recipe
- ModLoader.AddShapelessRecipe(new ItemStack(heartSapling, 0), new Object[] {
- new ItemStack(Block.sapling, 1, -1), new ItemStack(Item.dyePowder, 1, 11)
- });
- ModLoader.AddRecipe(new ItemStack(Item.dyePowder, 2, 15), new Object[] {
- "Y", "X", "#", Character.valueOf('X'), Block.mushroomRed, Character.valueOf('Y'), Block.mushroomBrown, Character.valueOf('#'), Block.dirt
- });
- ModLoader.AddRecipe(new ItemStack(Item.dyePowder, 2, 15), new Object[] {
- "X", "Y", "#", Character.valueOf('X'), Block.mushroomRed, Character.valueOf('Y'), Block.mushroomBrown, Character.valueOf('#'), Block.dirt
- });
- ModLoader.AddRecipe(new ItemStack(Item.shears, 1), new Object[] {
- "X X", " X ", "# #", Character.valueOf('X'), Block.stone, Character.valueOf('#'), Item.stick
- });
- }
- //Version
- public String Version()
- {
- return "1.8_01";
- }
- //Update
- @Override public boolean OnTickInGame(float tick, net.minecraft.client.Minecraft game)
- {
- if((name == null || !name.equalsIgnoreCase(ModLoader.getMinecraftInstance().theWorld.getWorldInfo().getWorldName())) && ModLoader.getMinecraftInstance().theWorld != null)
- {
- name = ModLoader.getMinecraftInstance().theWorld.getWorldInfo().getWorldName();
- loaded = false;
- heartPlaced = false;
- }
- if(ModLoader.getMinecraftInstance().theWorld != null && !loaded)
- {
- save = new Save((net.minecraft.client.Minecraft.getMinecraftDir()).getAbsolutePath() + "\\" + name + ".ttsd");
- Load();
- }
- if(mustSave && loaded)
- {
- Save();
- }
- if(ModLoader.getMinecraftInstance().thePlayer != null && heartPlaced)
- {
- int posX = (int)ModLoader.getMinecraftInstance().thePlayer.posX;
- int posY = (int)ModLoader.getMinecraftInstance().thePlayer.posY;
- int posZ = (int)ModLoader.getMinecraftInstance().thePlayer.posZ;
- int size = 2;
- boolean nearWood = checkWood(posX - size, posY - (size + 1), posZ - size, size * 2 + 1);
- if(!nearWood)
- {
- ModLoader.getMinecraftInstance().thePlayer.attackEntityFrom(DamageSource.field_35545_l, 2);
- }
- }
- return true;
- }
- public void Load()
- {
- if(save.DoesExist("heartX") && save.DoesExist("heartY") && save.DoesExist("heartZ"))
- {
- int x = save.GetInt("heartX");
- int y = save.GetInt("heartY");
- int z = save.GetInt("heartZ");
- heartPos = new ChunkCoordinates(x, y, z);
- }
- if(save.DoesExist("heartPlaced"))
- {
- heartPlaced = save.GetBoolean("heartPlaced");
- }
- loaded = true;
- }
- public void Save()
- {
- if(!save.DoesExist("heartX"))
- {
- save.AddField("heartX", String.valueOf((int)heartPos.posX));
- } else
- {
- save.SetValue("heartX", String.valueOf((int)heartPos.posX));
- }
- if(!save.DoesExist("heartY"))
- {
- save.AddField("heartY", String.valueOf((int)heartPos.posY));
- } else
- {
- save.SetValue("heartY", String.valueOf((int)heartPos.posY));
- }
- if(!save.DoesExist("heartZ"))
- {
- save.AddField("heartZ", String.valueOf((int)heartPos.posZ));
- } else
- {
- save.SetValue("heartZ", String.valueOf((int)heartPos.posZ));
- }
- if(!save.DoesExist("heartPlaced"))
- {
- save.AddField("heartPlaced", String.valueOf(heartPlaced));
- } else
- {
- save.SetValue("heartPlaced", String.valueOf(heartPlaced));
- }
- save.Save();
- mustSave = false;
- }
- public boolean checkWood(int posX, int posY, int posZ, int range)
- {
- boolean result = false;
- for(int x = 0; x < range; x++)
- {
- for(int y = 0; y < range + 1; y++)
- {
- for(int z = 0; z < range; z++)
- {
- if (isWood(posX + x, posY + y, posZ + z))
- {
- result = true;
- }
- }
- }
- }
- return result;
- }
- public static boolean isWood(int posX, int posY, int posZ)
- {
- if (ModLoader.getMinecraftInstance().theWorld.getBlockMaterial(posX, posY, posZ) == Material.wood || ModLoader.getMinecraftInstance().theWorld.getBlockMaterial(posX, posY, posZ) == Material.leaves)
- {
- return true;
- }
- return false;
- }
- public static void HeartDestroyed()
- {
- if(heartPlaced == true)
- {
- ModLoader.getMinecraftInstance().thePlayer.attackEntityFrom(DamageSource.field_35548_k, 9999);
- heartPlaced = false;
- heartPos.posX = 0;
- heartPos.posY = 0;
- heartPos.posZ = 0;
- mustSave = true;
- }
- }
- // Blocks
- public static final Block heartLog = new BlockModHeartLog(180, ModLoader.addOverride("/terrain.png", "/mod/heartLogBase.png"), ModLoader.addOverride("/terrain.png", "/mod/heartLogSide.png")).setHardness(3F).setResistance(7.5F).setStepSound(Block.soundWoodFootstep).setLightValue(1.0F).setBlockName("heartLog");
- public static final Block heartSapling = new BlockModHeartSapling(181, ModLoader.addOverride("/terrain.png", "/mod/HeartTreeSapling.png")).setHardness(0.5F).setResistance(0.5F).setLightValue(1.0F).setBlockName("heartSapling");
- public static final Block heartTreeLeave = new BlockModSpiritLeave(182, ModLoader.addOverride("/terrain.png", "/mod/Leave3.png")).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setLightValue(0.25F).setBlockName("heartTreeLeave");
- public static final Block heartTreeLog = new BlockModSpiritLog(183, 20).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setBlockName("heartTreeLog");
- // Variables
- public static ChunkCoordinates heartPos;
- public static boolean heartPlaced = false;
- public static boolean loaded = false;
- public static boolean mustSave = false;
- public static String name;
- // Save
- public static Save save;
- public static Save conf;
- }
Add Comment
Please, Sign In to add comment