diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9f0d94e --- /dev/null +++ b/.gitattributes @@ -0,0 +1,9 @@ +* text eol=lf +*.jar binary +*.png binary +*.xcf binary +*.ogg binary +*.java text eol=lf +mcmod.info text eol=lf +*.sh text eol=lf +*.bat text eol=crlf \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ad68744 --- /dev/null +++ b/.gitignore @@ -0,0 +1,235 @@ +################# +## Eclipse +################# + +*.pydevproject +.project +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.classpath +.settings/ +.loadpath + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# CDT-specific +.cproject + +# PDT-specific +.buildpath + +################# +## Intellij Idea +################# +/out/ +*.iml +*.ipr +*.iws + +################# +## Visual Studio +################# + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results + +[Dd]ebug/ +[Rr]elease/ +x64/ +build/ +[Bb]in/ +[Oo]bj/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.log +*.scc + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +*.ncrunch* +.*crunch*.local.xml + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.Publish.xml +*.pubxml + +# NuGet Packages Directory +## TODO: If you have NuGet Package Restore enabled, uncomment the next line +#packages/ + +# Windows Azure Build Output +csx +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +sql/ +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.[Pp]ublish.xml +*.pfx +*.publishsettings + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +App_Data/*.mdf +App_Data/*.ldf + +############# +## Windows detritus +############# + +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Mac crap +.DS_Store + + +############# +## Python +############# + +*.py[co] + +# Packages +*.egg +*.egg-info +dist/ +build/ +eggs/ +parts/ +var/ +sdist/ +develop-eggs/ +.installed.cfg + +# Installer logs +pip-log.txt + +# Unit test / coverage reports +.coverage +.tox + +#Translations +*.mo + +#Mr Developer +.mr.developer.cfg + +############# +## ForgeGradle +############# +.gradle/ +build/ +run/ +eclipse/ +CREDITS-fml.txt +forge-*-*-changelog.txt +LICENSE-fml.txt +MinecraftForge-Credits.txt +MinecraftForge-License.txt \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..1840064 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +#[Atum](http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1288464-atum-journey-into-the-sands) + +Adds a new desert dimension that contains an eternal world full of sand, temples, and tons of new foes. Journey into Atum and discover ancient artifacts as you battle your way through vicious new enemies! \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..1830bbf --- /dev/null +++ b/build.gradle @@ -0,0 +1,118 @@ +buildscript { + repositories { + mavenCentral() + mavenLocal() + maven { + name = "forge" + url = "http://files.minecraftforge.net/maven" + } + maven { + name = "sonatype" + url = "https://oss.sonatype.org/content/repositories/snapshots/" + } + } + dependencies { + classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' + } +} + +repositories { + maven { + name = "Team Metallurgy Maven" + url = "http://mc.aesireanempire.com/maven" + } + + maven { + name = "ChickenBones" + url = "http://chickenbones.net/maven" + } +} + +apply plugin: 'forge' + +version = "0.6" +group= "com.teammetallurgy.atum" // http://maven.apache.org/guides/mini/guide-naming-conventions.html +archivesBaseName = "Atum" + +ext.configFile = file "build.properties" + +configFile.withReader { + def prop = new Properties() + prop.load(it) + project.ext.config = new ConfigSlurper().parse prop +} + +minecraft { + version = config.minecraft_version + "-" + config.forge_version +} + +dependencies { + compile "codechicken:CodeChickenLib:${config.minecraft_version}-${config.cclib_version}:dev" + compile "codechicken:CodeChickenCore:${config.minecraft_version}-${config.ccc_version}:dev" + compile "codechicken:NotEnoughItems:${config.minecraft_version}-${config.nei_version}:dev" +} + +task buildInfo() { + def cmd = "git rev-parse --short HEAD" + def proc = cmd.execute() + proc.waitFor() + if (proc.exitValue() == 0) { + ext.revision = "DEV." + proc.text.trim() + } else { + ext.revision = "GITBORK" + } + + if (System.getenv().BUILD_NUMBER != null) { + ext.buildNum = "${System.getenv().BUILD_NUMBER}" + } else { + ext.buildNum = "${project.buildInfo.revision}" + } +} + +ext.artifact_version = 'NFG' +if (System.getenv().ARTIFACT_VERSION == null) { + artifact_version = "${config.mod_version}.${project.buildInfo.buildNum}" +} + +if(System.getenv().ARTIFACT_VERSION != null) { + artifact_version = "${system.getenv().ARTIFACT_VERSION}" +} + +version = "${config.minecraft_version}-${artifact_version}" + +processResources +{ + // this will ensure that this task is redone when the versions change. + inputs.property "version", project.artifact_version + inputs.property "mcversion", project.minecraft.version + + // replace stuff in mcmod.info, nothing else + from(sourceSets.main.resources.srcDirs) { + include 'mcmod.info' + + // replace version and mcversion + expand 'version':project.artifact_version, 'mcversion':project.minecraft.version + } + + // copy everything else, thats not the mcmod.info + from(sourceSets.main.resources.srcDirs) { + exclude 'mcmod.info' + } +} + +task deobfJar(type: Jar) { + from sourceSets.main.output + classifier = 'deobf' +} + +artifacts { + archives deobfJar +} + +uploadArchives { + repositories { + mavenDeployer { + repository(url : "file:///var/www/html/maven") + } + } +} \ No newline at end of file diff --git a/build.properties b/build.properties new file mode 100644 index 0000000..e65ee8b --- /dev/null +++ b/build.properties @@ -0,0 +1,6 @@ +minecraft_version=1.7.10 +forge_version=10.13.4.1448-1.7.10 +mod_version=0.6 +cclib_version=1.1.1.99 +ccc_version=1.0.4.29 +nei_version=1.0.3.74 \ No newline at end of file diff --git a/common/rebelkeithy/mods/atum/Atum.java b/common/rebelkeithy/mods/atum/Atum.java deleted file mode 100644 index 91dd449..0000000 --- a/common/rebelkeithy/mods/atum/Atum.java +++ /dev/null @@ -1,228 +0,0 @@ -package rebelkeithy.mods.atum; - -import java.io.File; -import java.net.MalformedURLException; -import java.util.ArrayList; - -import net.minecraft.client.audio.SoundPoolEntry; -import net.minecraft.entity.EntityList; -import net.minecraft.potion.Potion; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraftforge.common.DimensionManager; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.oredict.OreDictionary; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowDoubleShot; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowExplosive; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowFire; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowPoison; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowQuickdraw; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowVelocity; -import rebelkeithy.mods.atum.artifacts.arrow.EntityAtumFishHook; -import rebelkeithy.mods.atum.artifacts.arrow.EntityNutsCall; -import rebelkeithy.mods.atum.entities.EntityBanditArcher; -import rebelkeithy.mods.atum.entities.EntityBanditWarlord; -import rebelkeithy.mods.atum.entities.EntityBanditWarrior; -import rebelkeithy.mods.atum.entities.EntityBarbarian; -import rebelkeithy.mods.atum.entities.EntityDesertWolf; -import rebelkeithy.mods.atum.entities.EntityDustySkeleton; -import rebelkeithy.mods.atum.entities.EntityGhost; -import rebelkeithy.mods.atum.entities.EntityMummy; -import rebelkeithy.mods.atum.entities.EntityPharaoh; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; -import rebelkeithy.mods.atum.entities.projectiles.EntityFireSpearCombined; -import rebelkeithy.mods.atum.entities.projectiles.EntityFireSpearSeperated; -import rebelkeithy.mods.atum.world.AtumWorldProvider; -import rebelkeithy.mods.atum.world.biome.BiomeGenAtumDesert; -import cpw.mods.fml.common.Mod; -import cpw.mods.fml.common.Mod.Init; -import cpw.mods.fml.common.Mod.Instance; -import cpw.mods.fml.common.Mod.PostInit; -import cpw.mods.fml.common.Mod.PreInit; -import cpw.mods.fml.common.SidedProxy; -import cpw.mods.fml.common.event.FMLInitializationEvent; -import cpw.mods.fml.common.event.FMLPostInitializationEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.network.NetworkMod; -import cpw.mods.fml.common.network.NetworkRegistry; -import cpw.mods.fml.common.registry.EntityRegistry; -import cpw.mods.fml.common.registry.LanguageRegistry; - -// Start of post-modjam branch - -@Mod(modid="Atum", name="Atum", version="0.4.4B") -@NetworkMod(channels = {"Atum"}, clientSideRequired = true, serverSideRequired = false) -public class Atum -{ - @Instance(value="Atum") - public static Atum instance; - - @SidedProxy(clientSide = "rebelkeithy.mods.atum.ClientProxy", serverSide = "rebelkeithy.mods.atum.CommonProxy") - public static CommonProxy proxy; - - public static AtumTab tabs = new AtumTab("Atum"); - - public static BiomeGenBase atumDesert; - - public static Potion stun; - - //public static SoundPoolEntry music; - - - @PreInit - public void preInit(FMLPreInitializationEvent event) - { - AtumConfig.initConfig(); - - AtumBlocks.init(); - AtumBlocks.registerBlocks(); - - AtumItems.init(); - - /* - try - { - System.out.println("Does file exist, " + (new File("C:/Users/Keithy/Documents/Atum 1.5.1/source/resources/mods/Atum/music")).exists()); - music = new SoundPoolEntry("AtumMusic", (new File("C:/Users/Keithy/Documents/Atum 1.5.1/source/resources/mods/Atum/music")).toURI().toURL()); - } catch (MalformedURLException e) - { - // TODO Auto-generated catch block - e.printStackTrace(); - }*/ - - ArrayList biomeList = new ArrayList(); - for(int i = 0; i < BiomeGenBase.biomeList.length; i++) - { - if(BiomeGenBase.biomeList[i] != null && BiomeGenBase.biomeList[i].biomeID != AtumConfig.biomeAtumDesertID) - { - biomeList.add(BiomeGenBase.biomeList[i]); - } - } - - int entityID; - entityID = EntityRegistry.findGlobalUniqueEntityId(); - //EntityRegistry.registerGlobalEntityID(EntityMummy.class, "AtumMummy", entityID); - EntityRegistry.registerModEntity(EntityMummy.class, "AtumMummy", 20, this, 64, 1, true); - EntityList.addMapping(EntityMummy.class, "AtumMummy", 20, 0x515838, 0x868F6B); - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - //EntityRegistry.registerGlobalEntityID(EntityBanditWarrior.class, "AtumBanditWarrior", entityID); - EntityRegistry.registerModEntity(EntityBanditWarrior.class, "AtumBanditWarrior", 21, this, 64, 1, true); - EntityList.addMapping(EntityBanditWarrior.class, "AtumBanditWarrior", 21, 0xC2C2C2, 0x040F85); - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - //EntityRegistry.registerGlobalEntityID(EntityBanditArcher.class, "AtumBanditArcher", entityID); - EntityRegistry.registerModEntity(EntityBanditArcher.class, "AtumBanditArcher", 22, this, 64, 1, true); - EntityList.addMapping(EntityBanditArcher.class, "AtumBanditArcher", 22, 0xC2C2C2, 0x7E0C0C); - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - //EntityRegistry.registerGlobalEntityID(EntityPharaoh.class, "AtumPharaoh", entityID); - EntityRegistry.registerModEntity(EntityPharaoh.class, "AtumPharaoh", 23, this, 64, 1, true); - EntityList.addMapping(EntityPharaoh.class, "AtumPharaoh", 23, 0xD4BC37, 0x3A4BE0); - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - //EntityRegistry.registerGlobalEntityID(EntityDustySkeleton.class, "AtumDustySkeleton", entityID); - EntityRegistry.registerModEntity(EntityDustySkeleton.class, "AtumDustySkeleton", 24, this, 64, 1, true); - EntityList.addMapping(EntityDustySkeleton.class, "AtumDustySkeleton", 24, 0xB59C7D, 0x6F5C43); - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - //EntityRegistry.registerGlobalEntityID(EntityGhost.class, "AtumDesertGhost", entityID); - EntityRegistry.registerModEntity(EntityGhost.class, "AtumDesertGhost", 25, this, 64, 1, true); - EntityList.addMapping(EntityGhost.class, "AtumDesertGhost", 25, 0xE7DBC8, 0xAD9467); - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - //EntityRegistry.registerGlobalEntityID(EntityStoneSoldier.class, "AtumStoneSoldier", entityID); - EntityRegistry.registerModEntity(EntityStoneSoldier.class, "AtumStoneSoldier", 26, this, 64, 1, true); - EntityList.addMapping(EntityStoneSoldier.class, "AtumStoneSoldier", 26, 0x918354, 0x695D37); - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - //EntityRegistry.registerGlobalEntityID(EntityDesertWolf.class, "AtumDesertWolf", entityID); - EntityRegistry.registerModEntity(EntityDesertWolf.class, "AtumDesertWolf", 27, this, 64, 1, true); - EntityList.addMapping(EntityDesertWolf.class, "AtumDesertWolf", 27, 0x918354, 0x695D37); - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - //EntityRegistry.registerGlobalEntityID(EntityBanditWarlord.class, "AtumBanditWarlord", entityID); - EntityRegistry.registerModEntity(EntityBanditWarlord.class, "AtumBanditWarlord", 28, this, 64, 1, true); - EntityList.addMapping(EntityBanditWarlord.class, "AtumBanditWarlord", 28, 0x918354, 0x695D37); - - EntityRegistry.registerModEntity(EntityBarbarian.class, "AtumBarbarian", 29, this, 64, 1, true); - EntityList.addMapping(EntityBarbarian.class, "AtumBarbarian", 29, 0x918354, 0x695D37); - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityFireSpearCombined.class, "FireSpearCombined", entityID, this, 64, 1, true); - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityFireSpearSeperated.class, "FireSpearSeperated", entityID, this, 64, 1, true); - - EntityRegistry.registerModEntity(EntityArrowVelocity.class, "ArrowVeloctiy", 0, this, 64, 1, true); - EntityRegistry.registerModEntity(EntityArrowExplosive.class, "ArrowExplosive", 1, this, 64, 1, true); - EntityRegistry.registerModEntity(EntityArrowPoison.class, "ArrowPoison", 2, this, 64, 1, true); - EntityRegistry.registerModEntity(EntityArrowFire.class, "ArrowFire", 3, this, 64, 1, true); - EntityRegistry.registerModEntity(EntityArrowDoubleShot.class, "ArrowFire", 4, this, 64, 1, true); - EntityRegistry.registerModEntity(EntityArrowQuickdraw.class, "ArrowFire", 5, this, 64, 1, true); - EntityRegistry.registerModEntity(EntityNutsCall.class, "EntityNutsCall", 6, this, 64, 1, true); - EntityRegistry.registerModEntity(EntityAtumFishHook.class, "EntityAtumFishHook", 7, this, 64, 1, false); - - //EntityRegistry.registerGlobalEntityID(EntityAtumFishHook.class, "AtunFishHook", 203); - - //EntityList.addMapping(EntityBandit.class, "AtumBanditArcher", ConfigAtum.banditArcherID, 0xC2C2C2, 0x070C0C); - - atumDesert = (new BiomeGenAtumDesert(AtumConfig.biomeAtumDesertID)).setColor(16421912).setBiomeName("AtumDesert").setDisableRain().setTemperatureRainfall(2.0F, 0.0F).setMinMaxHeight(0.1F, 0.2F); - - proxy.registerModelRenderers(); - proxy.registerTickHandlers(); - proxy.preloadImages(); - proxy.registerParticles(); - proxy.registerMusic(); - MinecraftForge.EVENT_BUS.register(new AtumEventListener()); - //MinecraftForge.EVENT_BUS.register(new MobSpawnController()); - NetworkRegistry.instance().registerGuiHandler(this, new AtumGuiHandler()); - } - - @Init - public void init(FMLInitializationEvent event) - { - DimensionManager.registerProviderType(AtumConfig.dimensionID, AtumWorldProvider.class, true); - DimensionManager.registerDimension(AtumConfig.dimensionID , AtumConfig.dimensionID); - - stun = new PotionStun(21, true, 8171462).setPotionName("potion.stun").setIconIndex(0, 0); - - addNames(); - addOreDictionaryEntries(); - - AtumRecipes.addRecipes(); - AtumRecipes.addShapelessRecipes(); - AtumRecipes.addSmeltingRecipes(); - } - - @PostInit - public void postInit(FMLPostInitializationEvent event) - { - - } - - public static void addOreDictionaryEntries() - { - // Palm log to "logWood" - OreDictionary.registerOre("logWood", AtumBlocks.log); - - // Palm planks to "plankWood" - OreDictionary.registerOre("plankWood", AtumBlocks.planks); - } - - public void addNames() - { - AtumBlocks.addNames(); - AtumItems.addNames(); - - LanguageRegistry.instance().addStringLocalization("itemGroup.Atum", "Atum"); - - LanguageRegistry.instance().addStringLocalization("entity.AtumMummy.name", "Mummy"); - LanguageRegistry.instance().addStringLocalization("entity.AtumBanditWarrior.name", "Brigand"); - LanguageRegistry.instance().addStringLocalization("entity.AtumBanditArcher.name", "Nomad"); - LanguageRegistry.instance().addStringLocalization("entity.AtumPharaoh.name", "Pharaoh"); - LanguageRegistry.instance().addStringLocalization("entity.AtumDustySkeleton.name", "Forsaken"); - LanguageRegistry.instance().addStringLocalization("entity.AtumDesertGhost.name", "Wraith"); - LanguageRegistry.instance().addStringLocalization("entity.AtumStoneSoldier.name", "Tombguard"); - LanguageRegistry.instance().addStringLocalization("entity.AtumDesertWolf.name", "Desert Wolf"); - LanguageRegistry.instance().addStringLocalization("entity.AtumBanditWarlord.name", "Warlord"); - } -} diff --git a/common/rebelkeithy/mods/atum/AtumBlocks.java b/common/rebelkeithy/mods/atum/AtumBlocks.java deleted file mode 100644 index ebb1fdd..0000000 --- a/common/rebelkeithy/mods/atum/AtumBlocks.java +++ /dev/null @@ -1,257 +0,0 @@ -package rebelkeithy.mods.atum; - -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.common.registry.LanguageRegistry; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.ForgeHooks; -import net.minecraftforge.common.MinecraftForge; -import rebelkeithy.mods.atum.blocks.AtumStone; -import rebelkeithy.mods.atum.blocks.BlockArrowTrap; -import rebelkeithy.mods.atum.blocks.BlockAtumGlass; -import rebelkeithy.mods.atum.blocks.BlockAtumLeaves; -import rebelkeithy.mods.atum.blocks.BlockPalmLog; -import rebelkeithy.mods.atum.blocks.BlockAtumPane; -import rebelkeithy.mods.atum.blocks.BlockAtumPortal; -import rebelkeithy.mods.atum.blocks.BlockAtumSand; -import rebelkeithy.mods.atum.blocks.BlockPalmSapling; -import rebelkeithy.mods.atum.blocks.BlockAtumSlab; -import rebelkeithy.mods.atum.blocks.BlockAtumStairs; -import rebelkeithy.mods.atum.blocks.BlockAtumBrick; -import rebelkeithy.mods.atum.blocks.BlockAtumWall; -import rebelkeithy.mods.atum.blocks.BlockDate; -import rebelkeithy.mods.atum.blocks.BlockFertileSoil; -import rebelkeithy.mods.atum.blocks.BlockFertileSoilTilled; -import rebelkeithy.mods.atum.blocks.BlockFlax; -import rebelkeithy.mods.atum.blocks.BlockPapyrus; -import rebelkeithy.mods.atum.blocks.BlockSandLayered; -import rebelkeithy.mods.atum.blocks.BlockShrub; -import rebelkeithy.mods.atum.blocks.ItemBlockAtumWall; -import rebelkeithy.mods.atum.blocks.ItemSandLayered; -import rebelkeithy.mods.atum.blocks.TileEntityArrowTrap; -import rebelkeithy.mods.atum.blocks.ores.BlockAtumOre; -import rebelkeithy.mods.atum.blocks.ores.BlockAtumRedstone; -import rebelkeithy.mods.atum.cursedchest.BlockChestSpawner; -import rebelkeithy.mods.atum.cursedchest.PharaohChest; -import rebelkeithy.mods.atum.cursedchest.TileEntityChestSpawner; -import rebelkeithy.mods.atum.cursedchest.TileEntityPharaohChest; -import rebelkeithy.mods.atum.furnace.BlockLimeStoneFurnace; -import rebelkeithy.mods.atum.furnace.TileEntityLimestoneFurnace; - -public class AtumBlocks -{ - public static BlockAtumPortal portal; - public static Block cursedChest; - public static Block sand; - public static Block stone; - public static Block cobble; - public static Block largeBrick; - public static Block smallBrick; - public static Block carvedBrick; - public static BlockAtumSlab slabs; - public static BlockAtumSlab doubleSlab; - public static Block smoothStairs; - public static Block cobbleStairs; - public static Block largeStoneStairs; - public static Block smallStoneStairs; - public static Block sandLayered; - public static Block crackedLargeBrick; - public static Block wall; - public static Block crystalGlass; - public static Block framedGlass; - public static Block palmSapling; - public static Block dateBlock; - - public static Block shrub; - public static Block weed; - public static Block papyrus; - public static Block flax; - - public static BlockFertileSoil fertileSoil; - public static Block fertileSoilTilled; - public static Block log; - public static Block leaves; - public static Block planks; - public static Block thinCrystalGlass; - public static Block thinFramedGlass; - - public static Block trapArrow; - public static Block pharaohChest; - - public static Block redstoneOre; - public static Block coalOre; - public static Block ironOre; - public static Block goldOre; - public static Block lapisOre; - public static Block diamondOre; - - public static Block furnaceIdle; - public static Block furnaceBurning; - - public static void init() - { - - portal = new BlockAtumPortal(AtumConfig.portalBlockID); - cursedChest = new BlockChestSpawner(AtumConfig.cursedChestID).setUnlocalizedName("AtumCursedChest").setHardness(4.0F).setCreativeTab(Atum.tabs); - pharaohChest = new PharaohChest(AtumConfig.pharaohChestID).setUnlocalizedName("AtumPharaohChest").setHardness(4.0F).setCreativeTab(Atum.tabs); - sand = new BlockAtumSand(AtumConfig.sandID).setUnlocalizedName("Atum:AtumSand").setStepSound(Block.soundSandFootstep).setHardness(0.5F).setCreativeTab(Atum.tabs); - stone = new AtumStone(AtumConfig.stoneID).setUnlocalizedName("Atum:AtumStone").setHardness(1.5F).setCreativeTab(Atum.tabs); - cobble = new Block(AtumConfig.cobbleID, Material.rock).setUnlocalizedName("Atum:AtumCobble").setHardness(2.0F).setCreativeTab(Atum.tabs); - crackedLargeBrick = new Block(AtumConfig.crackedLargeBrickID, Material.rock).setUnlocalizedName("Atum:AtumCrackedLargeBrick").setHardness(2.0F).setCreativeTab(Atum.tabs); - largeBrick = new BlockAtumBrick(AtumConfig.largeBrickID, Material.rock).setUnlocalizedName("Atum:AtumBrickLarge").setHardness(2.0F).setCreativeTab(Atum.tabs); - smallBrick = new BlockAtumBrick(AtumConfig.smallBrickID, Material.rock).setUnlocalizedName("Atum:AtumBrickSmall").setHardness(2.0F).setCreativeTab(Atum.tabs); - carvedBrick = new BlockAtumBrick(AtumConfig.carvedBrickID, Material.rock).setUnlocalizedName("Atum:AtumBrickCarved").setHardness(2.0F).setCreativeTab(Atum.tabs); - slabs = (BlockAtumSlab) new BlockAtumSlab(AtumConfig.slabID, false, Material.rock).setUnlocalizedName("Atum:AtumSlab").setHardness(2.0F).setCreativeTab(Atum.tabs); - doubleSlab = (BlockAtumSlab) new BlockAtumSlab(AtumConfig.doubleSlabID, true, Material.rock).setUnlocalizedName("Atum:AtumDoubleSlab").setHardness(2.0F); - smoothStairs = (new BlockAtumStairs(AtumConfig.smoothStairsID, stone, 0)).setUnlocalizedName("Atum:SmoothStair").setCreativeTab(Atum.tabs); - cobbleStairs = (new BlockAtumStairs(AtumConfig.cobbleStairsID, cobble, 0)).setUnlocalizedName("Atum:CobbleStair").setCreativeTab(Atum.tabs); - largeStoneStairs = (new BlockAtumStairs(AtumConfig.largeStoneStairsID, largeBrick, 0)).setUnlocalizedName("Atum:LargeStoneStair").setCreativeTab(Atum.tabs); - smallStoneStairs = (new BlockAtumStairs(AtumConfig.smallStoneStairsID, smallBrick, 0)).setUnlocalizedName("Atum:SmallStoneStair").setCreativeTab(Atum.tabs); - shrub = (new BlockShrub(AtumConfig.shrubID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("Atum:Shrub").setCreativeTab(Atum.tabs); - weed = (new BlockShrub(AtumConfig.weedID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("Atum:Weed").setCreativeTab(Atum.tabs); - papyrus = (new BlockPapyrus(AtumConfig.papyrusBlockID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("Atum:AtumPapyrus"); - wall = (new BlockAtumWall(AtumConfig.wallID, stone)).setUnlocalizedName("Atum:AtumStoneWall").setHardness(0.3F).setCreativeTab(Atum.tabs); - crystalGlass = (new BlockAtumGlass(AtumConfig.crystalGlassID, "Atum:AtumCrystalGlass", Material.glass, false)).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("Atum:AtumCrystalGlass").setHardness(0.3F).setCreativeTab(Atum.tabs); - framedGlass = (new BlockAtumGlass(AtumConfig.framedGlassID, "Atum:AtumFramedGlass", Material.glass, false)).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("Atum:AtumFramedGlass").setCreativeTab(Atum.tabs); - palmSapling = (new BlockPalmSapling(AtumConfig.palmSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("Atum:AtumPalmSapling").setCreativeTab(Atum.tabs); - dateBlock = (new BlockDate(AtumConfig.blockDateID, Material.plants)).setHardness(0.0F).setUnlocalizedName("Atum:AtumDate"); - flax = (new BlockFlax(AtumConfig.flaxBlockID)).setUnlocalizedName("Atum:FlaxBlock").setCreativeTab(Atum.tabs); - - thinCrystalGlass = (new BlockAtumPane(AtumConfig.thinCrystalGlassID, "Atum:AtumCrystalGlass", "thinglass_top", Material.glass, false)).setHardness(0.3F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("thinCrystalGlass").setCreativeTab(Atum.tabs); - thinFramedGlass = (new BlockAtumPane(AtumConfig.thinFramedGlassID, "Atum:AtumFramedGlass", "Atum:thinglass_top", Material.glass, false)).setHardness(0.3F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("thinFramedGlass").setCreativeTab(Atum.tabs); - - sandLayered = (new BlockSandLayered(AtumConfig.sandLayeredID)).setHardness(0.1F).setStepSound(Block.soundSnowFootstep).setUnlocalizedName("SandLayered").setLightOpacity(0).setCreativeTab(Atum.tabs); - - fertileSoil = (BlockFertileSoil) new BlockFertileSoil(AtumConfig.fertileSoilID).setUnlocalizedName("Atum:FertileSoil").setHardness(0.5F).setStepSound(Block.soundGrassFootstep).setCreativeTab(Atum.tabs); - fertileSoilTilled = new BlockFertileSoilTilled(AtumConfig.fertileSoilTillID).setUnlocalizedName("Atum:FertileSoilTilled").setHardness(0.5F).setStepSound(Block.soundGrassFootstep).setCreativeTab(Atum.tabs); - log = new BlockPalmLog(AtumConfig.logID).setUnlocalizedName("AtumLogs").setHardness(2F).setStepSound(Block.soundWoodFootstep).setCreativeTab(Atum.tabs); - leaves = new BlockAtumLeaves(AtumConfig.leavesID).setUnlocalizedName("AtumLeaves").setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("AtumLeaves").setCreativeTab(Atum.tabs); - planks = (new Block(AtumConfig.plankID, Material.wood)).setUnlocalizedName("AtumPlanks").setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("Atum:Planks").setCreativeTab(Atum.tabs); - - trapArrow = new BlockArrowTrap(AtumConfig.trapArrowID).setUnlocalizedName("FireTrap").setHardness(0.2F).setCreativeTab(Atum.tabs); - furnaceIdle = (new BlockLimeStoneFurnace(AtumConfig.furnaceIdleID, false)).setHardness(3.5F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("limestonefurnaceidle").setCreativeTab(Atum.tabs); - furnaceBurning = (new BlockLimeStoneFurnace(AtumConfig.furnaceBurningID, true)).setHardness(3.5F).setStepSound(Block.soundStoneFootstep).setLightValue(0.875F).setUnlocalizedName("limestonefurnaceactive"); - - redstoneOre = new BlockAtumRedstone(AtumConfig.redstoneOreID).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Atum:AtumRedstone").setCreativeTab(Atum.tabs); - goldOre = (new BlockAtumOre(AtumConfig.goldOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Atum:AtumGold").setCreativeTab(Atum.tabs); - ironOre = (new BlockAtumOre(AtumConfig.ironOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Atum:AtumIron").setCreativeTab(Atum.tabs); - coalOre = (new BlockAtumOre(AtumConfig.coalOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Atum:AtumCoal").setCreativeTab(Atum.tabs); - lapisOre = (new BlockAtumOre(AtumConfig.lapisOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Atum:AtumLapis").setCreativeTab(Atum.tabs); - diamondOre = (new BlockAtumOre(AtumConfig.diamondOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Atum:AtumDiamond").setCreativeTab(Atum.tabs); - - ForgeHooks.canToolHarvestBlock(sand, 0, new ItemStack(Item.shovelIron)); - MinecraftForge.setBlockHarvestLevel(sand, "shovel", 0); - - MinecraftForge.setBlockHarvestLevel(AtumBlocks.coalOre, "pickaxe", 0); - MinecraftForge.setBlockHarvestLevel(AtumBlocks.ironOre, "pickaxe", 1); - MinecraftForge.setBlockHarvestLevel(AtumBlocks.goldOre, "pickaxe", 2); - MinecraftForge.setBlockHarvestLevel(AtumBlocks.lapisOre, "pickaxe", 1); - MinecraftForge.setBlockHarvestLevel(AtumBlocks.diamondOre, "pickaxe", 2); - MinecraftForge.setBlockHarvestLevel(AtumBlocks.redstoneOre, "pickaxe", 2); - - Block.setBurnProperties(AtumConfig.plankID, 5, 20); - Block.setBurnProperties(AtumConfig.leavesID, 30, 60); - } - - public static void registerBlocks() - { - GameRegistry.registerBlock(sand, "AtumSand"); - GameRegistry.registerBlock(stone, "AtumStone"); - GameRegistry.registerBlock(cobble, "AtumCobble"); - GameRegistry.registerBlock(largeBrick, "AtumBrickLarge"); - GameRegistry.registerBlock(smallBrick, "AtumBrickSmall"); - GameRegistry.registerBlock(carvedBrick, "AtumBrickCarved"); - GameRegistry.registerBlock(crackedLargeBrick, "AtumCrackedLargeBrick"); - GameRegistry.registerBlock(slabs, "AtumSlabs"); - GameRegistry.registerBlock(smoothStairs, "AtumSmoothStairs"); - GameRegistry.registerBlock(cobbleStairs, "AtumCobbleStairs"); - GameRegistry.registerBlock(largeStoneStairs, "AtumLargeStoneStairs"); - GameRegistry.registerBlock(smallStoneStairs, "AtumSmallStoneStairs"); - GameRegistry.registerBlock(shrub, "AtumShrub"); - GameRegistry.registerBlock(log, "AtumLog"); - GameRegistry.registerBlock(leaves, "AtumLeaves"); - GameRegistry.registerBlock(planks, "AtumPlanks"); - GameRegistry.registerBlock(weed, "AtumWeed"); - GameRegistry.registerBlock(trapArrow, "AtumArmorTrap"); - GameRegistry.registerBlock(cursedChest, "BlockCursedChest"); - GameRegistry.registerBlock(pharaohChest, "BlockPharaohChest"); - GameRegistry.registerBlock(sandLayered, ItemSandLayered.class, "BlockSandLayered"); - GameRegistry.registerBlock(furnaceIdle, "limestonefurnaceidle"); - GameRegistry.registerBlock(furnaceBurning, "limestonefurnaceburning"); - GameRegistry.registerBlock(redstoneOre, "atumRedstoneOre"); - GameRegistry.registerBlock(coalOre, "atumCoalOre"); - GameRegistry.registerBlock(ironOre, "atumIronOre"); - GameRegistry.registerBlock(goldOre, "atumGoldOre"); - GameRegistry.registerBlock(lapisOre, "atumLapisOre"); - GameRegistry.registerBlock(diamondOre, "atumDiamondOre"); - GameRegistry.registerBlock(papyrus, "atumPapyrusBlock"); - GameRegistry.registerBlock(wall, ItemBlockAtumWall.class, "AtumWalls"); - GameRegistry.registerBlock(crystalGlass, "AtumCrystalGlass"); - GameRegistry.registerBlock(framedGlass, "AtumFramedGlass"); - GameRegistry.registerBlock(palmSapling, "AtumPalmSapling"); - GameRegistry.registerBlock(dateBlock, "AtumDateBlock"); - GameRegistry.registerBlock(flax, "Flax"); - GameRegistry.registerBlock(fertileSoil, "FertileSoil"); - GameRegistry.registerBlock(fertileSoilTilled, "FertileSoilTilled"); - GameRegistry.registerBlock(thinCrystalGlass, "ThinCrystalGlass"); - GameRegistry.registerBlock(thinFramedGlass, "ThinFramedGlass"); - - GameRegistry.registerTileEntity(TileEntityChestSpawner.class, "CursedChest"); - GameRegistry.registerTileEntity(TileEntityPharaohChest.class, "PharaohChest"); - GameRegistry.registerTileEntity(TileEntityArrowTrap.class, "ArrowTrap"); - GameRegistry.registerTileEntity(TileEntityLimestoneFurnace.class, "LimestoneFurnace"); - } - - public static void addNames() - { - LanguageRegistry.addName(stone, "Limestone"); - LanguageRegistry.addName(sand, "Limestone sand"); - LanguageRegistry.addName(cobble, "Cracked Limestone"); - LanguageRegistry.addName(sand, "Strange Sand"); - LanguageRegistry.addName(stone, "Limestone"); - LanguageRegistry.addName(cobble, "Cracked Limestone"); - LanguageRegistry.addName(largeBrick, "Large Limestone Bricks"); - LanguageRegistry.addName(smallBrick, "Small Limestone Bricks"); - LanguageRegistry.addName(carvedBrick, "Carved Limestone"); - LanguageRegistry.addName(crackedLargeBrick, "Cracked Large Limestone Bricks"); - LanguageRegistry.addName(smoothStairs, "Limestone Stairs"); - LanguageRegistry.addName(cobbleStairs, "Cracked Limestone Stairs"); - LanguageRegistry.addName(largeStoneStairs, "Large Limestone Brick Stairs"); - LanguageRegistry.addName(smallStoneStairs, "Small Limestone Brick Stairs"); - LanguageRegistry.addName(shrub, "Desert Shrub"); - LanguageRegistry.addName(log, "Palm Wood"); - LanguageRegistry.addName(planks, "Palm Wood Planks"); - LanguageRegistry.addName(leaves, "Palm Leaves"); - LanguageRegistry.addName(weed, "Desert Shrub"); - LanguageRegistry.addName(trapArrow, "Fire Trap"); - LanguageRegistry.addName(cursedChest, "Cursed Chest"); - LanguageRegistry.addName(pharaohChest, "Pharaoh's Chest"); - LanguageRegistry.addName(sandLayered, "Strange Sand"); - LanguageRegistry.addName(furnaceIdle, "Limestone Furnace"); - LanguageRegistry.addName(redstoneOre, "Redstone Ore"); - LanguageRegistry.addName(coalOre, "Coal Ore"); - LanguageRegistry.addName(ironOre, "Iron Ore"); - LanguageRegistry.addName(goldOre, "Gold Ore"); - LanguageRegistry.addName(lapisOre, "Lapis Ore"); - LanguageRegistry.addName(diamondOre, "Diamond Ore"); - LanguageRegistry.addName(new ItemStack(slabs, 6, 0), "Limestone Slabs"); - LanguageRegistry.addName(new ItemStack(slabs, 6, 1), "Cracked Limestone Slabs"); - LanguageRegistry.addName(new ItemStack(slabs, 6, 2), "Large Limestone Brick Slabs"); - LanguageRegistry.addName(new ItemStack(slabs, 6, 3), "Small Limestone Brick Slabs"); - LanguageRegistry.addName(papyrus, "Papyrus"); - LanguageRegistry.addName(new ItemStack(wall, 6, 0), "Limestone Wall"); - LanguageRegistry.addName(new ItemStack(wall, 6, 1), "Cracked Limestone Wall"); - LanguageRegistry.addName(new ItemStack(wall, 6, 2), "Large Limestone Brick Wall"); - LanguageRegistry.addName(new ItemStack(wall, 6, 3), "Small Limestone Brick Wall"); - LanguageRegistry.addName(crystalGlass, "Crystal Glass"); - LanguageRegistry.addName(framedGlass, "Framed Crystal Glass"); - LanguageRegistry.addName(palmSapling, "Palm Sapling"); - LanguageRegistry.addName(dateBlock, "Date Block"); - LanguageRegistry.addName(fertileSoil, "Fertile Soil"); - LanguageRegistry.addName(fertileSoilTilled, "Fertile Soil Tilled"); - LanguageRegistry.addName(thinCrystalGlass, "Crystal Glass Panes"); - LanguageRegistry.addName(thinFramedGlass, "Framed Crystal Glass Panes"); - } -} diff --git a/common/rebelkeithy/mods/atum/AtumConfig.java b/common/rebelkeithy/mods/atum/AtumConfig.java deleted file mode 100644 index 7058055..0000000 --- a/common/rebelkeithy/mods/atum/AtumConfig.java +++ /dev/null @@ -1,265 +0,0 @@ -package rebelkeithy.mods.atum; - -import java.io.File; -import java.io.IOException; - -import net.minecraftforge.common.Configuration; - -public class AtumConfig -{ - public static int dimensionID = 17; - - public static int portalBlockID = 1024; - public static int biomeAtumDesertID = 200; - public static int cursedChestID = 1025; - public static int sandID = 1026; - public static int stoneID = 1027; - public static int cobbleID = 1028; - public static int largeBrickID = 1029; - public static int smallBrickID = 1030; - public static int carvedBrickID = 1031; - public static int stoneStairs = 1032; - public static int slabID = 1033; - public static int doubleSlabID = 1034; - public static int smoothStairsID = 1035; - public static int cobbleStairsID = 1036; - public static int largeStoneStairsID = 1037; - public static int smallStoneStairsID = 1038; - public static int shrubID = 1039; - public static int logID = 1040; - public static int leavesID = 1041; - public static int weedID = 1042; - public static int trapArrowID = 1043; - public static int sandLayeredID = 1044; - public static int furnaceIdleID = 1045; - public static int furnaceBurningID = 1046; - public static int plankID = 1047; - public static int pharaohChestID = 1048; - public static int redstoneOreID = 1049; - public static int coalOreID = 1050; - public static int ironOreID = 1051; - public static int goldOreID = 1052; - public static int lapisOreID = 1053; - public static int diamondOreID = 1054; - public static int papyrusBlockID = 1055; - public static int crackedLargeBrickID = 1056; - public static int wallID = 1057; - public static int crystalGlassID = 1058; - public static int framedGlassID = 1059; - public static int palmSaplingID = 1060; - public static int blockDateID = 1061; - public static int flaxBlockID = 1062; - public static int fertileSoilID = 1063; - public static int fertileSoilTillID = 1064; - public static int thinCrystalGlassID = 1065; - public static int thinFramedGlassID = 1066; - - public static int portalSpawnerID = 5000; - public static int scimitarID = 5001; - public static int bowID = 5002; - public static int ptahsPickID = 5003; - public static int soteksRageID = 5004; - public static int osirisWillID = 5005; - public static int akersToilID = 5006; - public static int gebsBlessingID = 5008; - public static int rasGloryID = 5009; - public static int sekhmetsWrathID = 5010; - public static int nutsAgilityID = 5011; - public static int horusFlightID = 5012; - - public static int limestoneShovelID = 5013; - public static int limestonePickaxeID = 5014; - public static int limestoneAxeID = 5015; - public static int limestoneSwordID = 5016; - public static int limestoneHoeID = 5017; - public static int limestonePaxelID = 5018; - public static int lootID = 5019; - public static int stoneSwordID = 5020; - public static int itemPapyrusPlantID = 5021; - public static int scepterID = 5022; - public static int ectoplasmID = 5023; - public static int stoneChunkID = 5024; - public static int clothScrapID = 5025; - public static int mummyHelmetID = 5026; - public static int mummyChestID = 5027; - public static int mummyLegsID = 5028; - public static int mummyBootsID = 5029; - public static int atensFuryID = 5030; - public static int neithsAudacityID = 5031; - public static int scrollID = 5032; - public static int wandererHelmetID = 5033; - public static int wandererChestID = 5034; - public static int wandererLegsID = 5035; - public static int wandererBootsID = 5036; - public static int peltID = 5037; - public static int itemDateID = 5038; - public static int linenID = 5039; - public static int itemFlaxID = 5040; - public static int itemFlaxSeedsID = 5041; - public static int desertHelmetID = 5042; - public static int desertChestID = 5043; - public static int desertLegsID = 5044; - public static int desertBootsID = 5045; - public static int spearID = 5045; - public static int monthusStrikeID = 5046; - public static int anhursMightID = 5047; - public static int hedetetsStingID = 5048; - public static int horusSoaringID = 5049; - public static int shusBreathID = 5050; - public static int ptahsDestructionID = 5051; - public static int monthusBlastID = 5052; - public static int nusFluxID = 5053; - public static int mnevisHornsID = 5054; - public static int isisEmbraceID = 5055; - public static int maatsBalanceID = 5056; - public static int hedetetsVenomID = 5057; - public static int gebsSolidarityID = 5058; - public static int nutsCallID = 5059; - public static int anuketsBountyID = 5060; - public static int mafdetsQuicknessID = 5061; - public static int isisHealingID = 5062; - public static int amunetsHomecomingID = 5063; - public static int anubisMercyID = 5064; - - public static int itemFishID = 5075; - public static int greatswordID = 5076; - - public static boolean protectBlocksInCreative = true; - - - public static void initConfig() - { - - //File fileDir = new File(Atum.proxy.getMinecraftDir() + "/config/Atum"); - //fileDir.mkdir(); - File cfgFile = new File(Atum.proxy.getMinecraftDir() + "/config/Atum.cfg"); - - try - { - cfgFile.createNewFile(); - } catch (IOException e) { - System.out.println(e); - } - - Configuration config = new Configuration(cfgFile); - config.load(); - - dimensionID = config.get("~World", "Dimension ID", dimensionID).getInt(); - biomeAtumDesertID = config.get("~World", "Atum Biome ID", biomeAtumDesertID).getInt(); - protectBlocksInCreative = config.get("~World", "Industructable Blocks In Creative Mode", protectBlocksInCreative).getBoolean(protectBlocksInCreative); - - portalBlockID = config.getBlock("Portal Block", portalBlockID).getInt(); - cursedChestID = config.getBlock("CursedChest", cursedChestID).getInt(); - sandID = config.getBlock("Strange Sand", sandID).getInt(); - stoneID = config.getBlock("Limestone", stoneID).getInt(); - cobbleID = config.getBlock("Cracked Limestone", cobbleID).getInt(); - largeBrickID = config.getBlock("Large Brick", largeBrickID).getInt(); - smallBrickID = config.getBlock("Small Brick", smallBrickID).getInt(); - carvedBrickID = config.getBlock("Carved Limestone", carvedBrickID).getInt(); - slabID = config.getBlock("Limestone Slabs", slabID).getInt(); - doubleSlabID = config.getBlock("Double Limestone Slabs", doubleSlabID).getInt(); - smoothStairsID = config.getBlock("Limestone Stairs", smoothStairsID).getInt(); - cobbleStairsID = config.getBlock("Cracked Stairs", cobbleStairsID).getInt(); - largeStoneStairsID = config.getBlock("Large Brick Stairs", largeStoneStairsID).getInt(); - smallStoneStairsID = config.getBlock("Small Brick Stairs", smallStoneStairsID).getInt(); - shrubID = config.getBlock("Desert Shrub", shrubID).getInt(); - logID = config.getBlock("Palm Log", logID).getInt(); - leavesID = config.getBlock("Palm Leaves", leavesID).getInt(); - weedID = config.getBlock("Desert Plant", weedID).getInt(); - trapArrowID = config.getBlock("Fire Trap", trapArrowID).getInt(); - furnaceIdleID = config.getBlock("Limestone Furnace Idle", furnaceIdleID).getInt(); - furnaceBurningID = config.getBlock("Limestone Furnace Burning", furnaceBurningID).getInt(); - plankID = config.getBlock("Palm Planks", plankID).getInt(); - pharaohChestID = config.getBlock("Pharaoh Chest", pharaohChestID).getInt(); - redstoneOreID = config.getBlock("Redstone Ore", redstoneOreID).getInt(); - coalOreID = config.getBlock("Coal Ore", coalOreID).getInt(); - ironOreID = config.getBlock("Iron Ore", ironOreID).getInt(); - goldOreID = config.getBlock("Gold Ore", goldOreID).getInt(); - lapisOreID = config.getBlock("Lapis Ore", lapisOreID).getInt(); - diamondOreID = config.getBlock("Diamond Ore", diamondOreID).getInt(); - papyrusBlockID = config.getBlock("Papyrus Block", papyrusBlockID).getInt(); - wallID = config.getBlock("Limestone Wall", wallID).getInt(); - crystalGlassID = config.getBlock("Crystal Glass", crystalGlassID).getInt(crystalGlassID); - framedGlassID = config.getBlock("Framed Glass", framedGlassID).getInt(framedGlassID); - palmSaplingID = config.getBlock("Palm Sapling", palmSaplingID).getInt(palmSaplingID); - blockDateID = config.getBlock("Date Block", blockDateID).getInt(blockDateID); - flaxBlockID = config.getBlock("Flax", flaxBlockID).getInt(flaxBlockID); - fertileSoilID = config.getBlock("Fertile Soil", fertileSoilID).getInt(fertileSoilID); - fertileSoilTillID = config.getBlock("Fertile Soil Tilled", fertileSoilTillID).getInt(fertileSoilTillID); - thinCrystalGlassID = config.getBlock("Crystal Glass Panes", thinCrystalGlassID).getInt(thinCrystalGlassID); - thinFramedGlassID = config.getBlock("Framed Crystal Glass Panes", thinFramedGlassID).getInt(thinFramedGlassID); - - portalSpawnerID = config.getItem("Scarab", portalSpawnerID).getInt(); - scimitarID = config.getItem("Scimitar", scimitarID).getInt(); - greatswordID = config.getItem("Greatsword", greatswordID).getInt(); - scepterID = config.getItem("Scepter", scepterID).getInt(); - stoneSwordID = config.getItem("Stone Sword", stoneSwordID).getInt(); - bowID = config.getItem("Desert Bow", bowID).getInt(); - ptahsPickID = config.getItem("Ptah's Pick", ptahsPickID).getInt(); - soteksRageID = config.getItem("Sotek's Rage", soteksRageID).getInt(); - osirisWillID = config.getItem("Osiris's Will", osirisWillID).getInt(); - akersToilID = config.getItem("Aker's Toil", akersToilID).getInt(); - gebsBlessingID = config.getItem("Gab's Blessing", gebsBlessingID).getInt(); - atensFuryID = config.getItem("Aten's Fury", atensFuryID).getInt(); - rasGloryID = config.getItem("Ra's Glory", rasGloryID).getInt(); - sekhmetsWrathID = config.getItem("Sekhmet's Wrath", sekhmetsWrathID).getInt(); - nutsAgilityID = config.getItem("Nut's Agility", nutsAgilityID).getInt(); - horusFlightID = config.getItem("Horus's Flight", horusFlightID).getInt(); - monthusStrikeID = config.getItem("Monthu's Strike", monthusStrikeID).getInt(); - anhursMightID = config.getItem("Anhur's Might", anhursMightID).getInt(); - hedetetsStingID = config.getItem("Hedetet's Sting", hedetetsStingID).getInt(); - horusSoaringID = config.getItem("Horus's Soaring", horusSoaringID).getInt(); - shusBreathID = config.getItem("Shu's Breath", shusBreathID).getInt(); - ptahsDestructionID = config.getItem("Ptah's Destruction", ptahsDestructionID).getInt(); - monthusBlastID = config.getItem("Monthu's Blast", monthusBlastID).getInt(); - nusFluxID = config.getItem("Nu's Flux", nusFluxID).getInt(); - mnevisHornsID = config.getItem("Mnevis's Horns", mnevisHornsID).getInt(); - isisEmbraceID = config.getItem("Isis's Embrace", isisEmbraceID).getInt(); - maatsBalanceID = config.getItem("Ma'at's Balance", maatsBalanceID).getInt(); - hedetetsVenomID = config.getItem("Hedetet's Venom", hedetetsVenomID).getInt(); - gebsSolidarityID = config.getItem("Geb's Solidarity", gebsSolidarityID).getInt(); - nutsCallID = config.getItem("Nut's Call", nutsCallID).getInt(); - anuketsBountyID = config.getItem("Anuket's Bounty", anuketsBountyID).getInt(); - mafdetsQuicknessID = config.getItem("mafdetsQuicknessID", mafdetsQuicknessID).getInt(); - isisHealingID = config.getItem("Isis's Healing", isisHealingID).getInt(); - amunetsHomecomingID = config.getItem("Amunet's Homecoming", amunetsHomecomingID).getInt(); - anubisMercyID = config.getItem("Anubis's Mercy", anubisMercyID).getInt(); - - limestoneShovelID = config.getItem("Limestone Shovel", limestoneShovelID).getInt();; - limestonePickaxeID = config.getItem("Limestone Pickaxe", limestonePickaxeID).getInt();; - limestoneAxeID = config.getItem("Limestone Axe", limestoneAxeID).getInt(); - limestoneSwordID = config.getItem("Limestone Sword", limestoneSwordID).getInt(); - limestoneHoeID = config.getItem("Limestone Hoe", limestoneHoeID).getInt(); - limestonePaxelID = config.getItem("Limestone Paxel", limestonePaxelID).getInt(); - - mummyHelmetID = config.getItem("Mummy Helmet", mummyHelmetID).getInt(); - mummyChestID = config.getItem("Mummy Chest", mummyChestID).getInt(); - mummyLegsID = config.getItem("Mummy Legs", mummyLegsID).getInt(); - mummyBootsID = config.getItem("Mummy Boots", mummyBootsID).getInt(); - - wandererHelmetID = config.getItem("Wanderer Helmet", wandererHelmetID).getInt(); - wandererChestID = config.getItem("Wanderer Chest", wandererChestID).getInt(); - wandererLegsID = config.getItem("Wanderer Legs", wandererLegsID).getInt(); - wandererBootsID = config.getItem("Wanderer Boots", wandererBootsID).getInt(); - - desertHelmetID = config.getItem("Desert Helmet", desertHelmetID).getInt(); - desertChestID = config.getItem("Desert Chest", desertChestID).getInt(); - desertLegsID = config.getItem("Desert Legs", desertLegsID).getInt(); - desertBootsID = config.getItem("Desert Boots", desertBootsID).getInt(); - - lootID = config.getItem("Loot", lootID).getInt(); - itemPapyrusPlantID = config.getItem("Papyrus Plant Item", itemPapyrusPlantID).getInt(); - ectoplasmID = config.getItem("Ectoplasm", ectoplasmID).getInt(); - stoneChunkID = config.getItem("Limestone Chunk", stoneChunkID).getInt(); - clothScrapID = config.getItem("Cloth Scrap", clothScrapID).getInt(); - neithsAudacityID = config.getItem("Neiths Audacity", neithsAudacityID).getInt(); - scrollID = config.getItem("Scroll", scrollID).getInt(); - peltID = config.getItem("Wolf Pelt", peltID).getInt(); - itemDateID = config.getItem("Date", itemDateID).getInt(itemDateID); - linenID = config.getItem("Linen", linenID).getInt(linenID); - itemFlaxID = config.getItem("Flax", itemFlaxID).getInt(itemFlaxID); - itemFlaxSeedsID = config.getItem("Flax Seeds", itemFlaxSeedsID).getInt(itemFlaxSeedsID); - itemFishID = config.getItem("Fish", itemFishID).getInt(itemFishID); - config.save(); - } -} diff --git a/common/rebelkeithy/mods/atum/AtumEventListener.java b/common/rebelkeithy/mods/atum/AtumEventListener.java deleted file mode 100644 index 4f398bf..0000000 --- a/common/rebelkeithy/mods/atum/AtumEventListener.java +++ /dev/null @@ -1,112 +0,0 @@ -package rebelkeithy.mods.atum; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraftforge.event.Event.Result; -import net.minecraftforge.event.ForgeSubscribe; -import net.minecraftforge.event.entity.living.LivingFallEvent; -import net.minecraftforge.event.entity.living.LivingHurtEvent; -import net.minecraftforge.event.entity.player.BonemealEvent; -import net.minecraftforge.event.entity.player.UseHoeEvent; -import rebelkeithy.mods.atum.blocks.BlockFlax; -import rebelkeithy.mods.atum.blocks.BlockPalmSapling; -import rebelkeithy.mods.atum.entities.EntityDustySkeleton; -import rebelkeithy.mods.atum.entities.EntityGhost; -import rebelkeithy.mods.atum.entities.EntityMummy; -import rebelkeithy.mods.atum.entities.EntityPharaoh; -import rebelkeithy.mods.atum.entities.EntityStone; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; - -public class AtumEventListener -{ - @ForgeSubscribe - public void onFallDamage(LivingFallEvent event) - { - if(event.entity instanceof EntityGhost || event.entity instanceof EntityPharaoh) - { - event.distance = 0; - } - } - - @ForgeSubscribe - public void onLivingHurt(LivingHurtEvent event) - { - if (event.source.getDamageType().equals("drown")) - { - if (event.entity instanceof EntityPharaoh - || event.entity instanceof EntityGhost - || event.entity instanceof EntityMummy - || event.entity instanceof EntityDustySkeleton - || event.entity instanceof EntityStoneSoldier) - { - event.setCanceled(true); - } - } - } - - @ForgeSubscribe - public boolean onBonemeal(BonemealEvent event) - { - if(event.world.isRemote) - return true; - - int id = event.world.getBlockId(event.X, event.Y, event.Z); - if(id == AtumBlocks.palmSapling.blockID) - { - ((BlockPalmSapling)(AtumBlocks.palmSapling)).growTree(event.world, event.X, event.Y, event.Z, new Random()); - event.setResult(Result.ALLOW); - } - if(id == AtumBlocks.flax.blockID) - { - if(event.world.getBlockMetadata(event.X, event.Y, event.Z) < 5) - { - ((BlockFlax)(AtumBlocks.flax)).fertilize(event.world, event.X, event.Y, event.Z); - event.setResult(Result.ALLOW); - } - } - - return false; - } - - @ForgeSubscribe - public boolean onHoeEvent(UseHoeEvent event) - { - int id = event.world.getBlockId(event.x, event.y, event.z); - - if(id == AtumBlocks.fertileSoil.blockID) - { - int meta = 0; - if(event.current.itemID == AtumItems.gebsBlessing.itemID) - { - meta = 4; - } - - event.world.setBlock(event.x, event.y, event.z, AtumBlocks.fertileSoilTilled.blockID); - event.world.setBlockMetadataWithNotify(event.x, event.y, event.z, meta, 2); - event.setResult(Result.ALLOW); - - Block block = Block.blocksList[id]; - - event.world.playSoundEffect(event.x, event.y, event.z, block.stepSound.getStepSound(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); - return true; - } - - if(id == Block.dirt.blockID || id == Block.grass.blockID) - { - if(event.current.itemID == AtumItems.gebsBlessing.itemID) - { - event.world.setBlock(event.x, event.y, event.z, AtumBlocks.fertileSoilTilled.blockID); - event.world.setBlockMetadataWithNotify(event.x, event.y, event.z, 8 | 4, 2); - event.setResult(Result.ALLOW); - - Block block = Block.blocksList[id]; - - event.world.playSoundEffect(event.x, event.y, event.z, block.stepSound.getStepSound(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); - return true; - } - } - - return false; - } -} diff --git a/common/rebelkeithy/mods/atum/AtumFish.java b/common/rebelkeithy/mods/atum/AtumFish.java deleted file mode 100644 index 11d3af5..0000000 --- a/common/rebelkeithy/mods/atum/AtumFish.java +++ /dev/null @@ -1,32 +0,0 @@ -package rebelkeithy.mods.atum; - -import java.util.List; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -public class AtumFish -{ - private static AtumWeightedLootSet fish; - - static - { - fish = new AtumWeightedLootSet(); - - AtumFish.addFish(new ItemStack(Item.fishRaw, 1, 0), 100); - AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 0), 30); - AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 1), 5); - AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 2), 50); - AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 3), 50); - } - - public static void addFish(ItemStack fishStack, int probability) - { - fish.addLoot(fishStack, probability, 1, 1); - } - - public static ItemStack getRandomFish() - { - return fish.getRandomLoot(); - } -} diff --git a/common/rebelkeithy/mods/atum/AtumGuiHandler.java b/common/rebelkeithy/mods/atum/AtumGuiHandler.java deleted file mode 100644 index 2db3b38..0000000 --- a/common/rebelkeithy/mods/atum/AtumGuiHandler.java +++ /dev/null @@ -1,46 +0,0 @@ -package rebelkeithy.mods.atum; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.furnace.ContainerLimestoneFurnace; -import rebelkeithy.mods.atum.furnace.GuiLimestoneFurnace; -import rebelkeithy.mods.atum.furnace.TileEntityLimestoneFurnace; -import cpw.mods.fml.common.network.IGuiHandler; - -public class AtumGuiHandler implements IGuiHandler -{ - - @Override - public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) - { - System.out.println("GUI?"); - TileEntity te = world.getBlockTileEntity(x, y, z); - - if(te != null) - { - if(te instanceof TileEntityLimestoneFurnace) - { - return new ContainerLimestoneFurnace(player.inventory, te); - } - } - return null; - } - - @Override - public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) - { - System.out.println("GUI?"); - TileEntity te = world.getBlockTileEntity(x, y, z); - - if(te != null) - { - if(te instanceof TileEntityLimestoneFurnace) - { - return new GuiLimestoneFurnace(player.inventory, te); - } - } - return null; - } - -} diff --git a/common/rebelkeithy/mods/atum/AtumItems.java b/common/rebelkeithy/mods/atum/AtumItems.java deleted file mode 100644 index 2a760c2..0000000 --- a/common/rebelkeithy/mods/atum/AtumItems.java +++ /dev/null @@ -1,302 +0,0 @@ -package rebelkeithy.mods.atum; - -import net.minecraft.block.Block; -import net.minecraft.item.EnumArmorMaterial; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemSeeds; -import net.minecraft.item.ItemSlab; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.EnumHelper; -import net.minecraftforge.common.MinecraftForge; -import rebelkeithy.mods.atum.artifacts.IsisEmbrace; -import rebelkeithy.mods.atum.artifacts.ItemAkersToil; -import rebelkeithy.mods.atum.artifacts.ItemAmunetsHomecoming; -import rebelkeithy.mods.atum.artifacts.ItemAnhursMight; -import rebelkeithy.mods.atum.artifacts.ItemAnubisMercy; -import rebelkeithy.mods.atum.artifacts.ItemAnuketsBounty; -import rebelkeithy.mods.atum.artifacts.ItemAtensFury; -import rebelkeithy.mods.atum.artifacts.ItemGebsBlessing; -import rebelkeithy.mods.atum.artifacts.ItemGebsSolidarity; -import rebelkeithy.mods.atum.artifacts.ItemHedetetsSting; -import rebelkeithy.mods.atum.artifacts.ItemHedetetsVenom; -import rebelkeithy.mods.atum.artifacts.ItemHorusFlight; -import rebelkeithy.mods.atum.artifacts.ItemHorusSoaring; -import rebelkeithy.mods.atum.artifacts.ItemIsisHealing; -import rebelkeithy.mods.atum.artifacts.ItemMaatsBalance; -import rebelkeithy.mods.atum.artifacts.ItemMafdetsQuickness; -import rebelkeithy.mods.atum.artifacts.ItemMnevisHorns; -import rebelkeithy.mods.atum.artifacts.ItemMonthusBlast; -import rebelkeithy.mods.atum.artifacts.ItemMonthusStrike; -import rebelkeithy.mods.atum.artifacts.ItemNeithsAudacity; -import rebelkeithy.mods.atum.artifacts.ItemNusFlux; -import rebelkeithy.mods.atum.artifacts.ItemNutsAgility; -import rebelkeithy.mods.atum.artifacts.ItemNutsCall; -import rebelkeithy.mods.atum.artifacts.ItemOsirisWill; -import rebelkeithy.mods.atum.artifacts.ItemPtahsDecadence; -import rebelkeithy.mods.atum.artifacts.ItemPtahsDestruction; -import rebelkeithy.mods.atum.artifacts.ItemRasGlory; -import rebelkeithy.mods.atum.artifacts.ItemSekhmetsWrath; -import rebelkeithy.mods.atum.artifacts.ItemShusBreath; -import rebelkeithy.mods.atum.artifacts.ItemSobeksRage; -import rebelkeithy.mods.atum.blocks.ItemPapyrusPlant; -import rebelkeithy.mods.atum.items.ItemAtumBow; -import rebelkeithy.mods.atum.items.ItemFish; -import rebelkeithy.mods.atum.items.ItemGreatsword; -import rebelkeithy.mods.atum.items.ItemLoot; -import rebelkeithy.mods.atum.items.ItemScarab; -import rebelkeithy.mods.atum.items.ItemScepter; -import rebelkeithy.mods.atum.items.ItemScimitar; -import rebelkeithy.mods.atum.items.ItemStoneSoldierSword; -import rebelkeithy.mods.atum.items.ItemTexturedArmor; -import rebelkeithy.mods.atum.tools.LimestoneAxe; -import rebelkeithy.mods.atum.tools.LimestoneHoe; -import rebelkeithy.mods.atum.tools.LimestonePickaxe; -import rebelkeithy.mods.atum.tools.LimestoneShovel; -import rebelkeithy.mods.atum.tools.LimestoneSword; -import cpw.mods.fml.common.registry.LanguageRegistry; - -public class AtumItems -{ - public static Item scarab; - public static Item scimitar; - public static Item greatsword; - public static Item scepter; - public static Item stoneSoldierSword; - public static Item bow; - public static Item loot; - - public static Item ptahsPick; - public static Item sobeksRage; - public static Item osirisWill; - public static Item akersToil; - public static Item gebsBlessing; - public static Item atensFury; - public static Item rasGlory; - public static Item sekhmetsWrath; - public static Item nutsAgility; - public static Item horusFlight; - public static Item monthusStrike; - public static Item anhursMight; - public static Item hedetetsSting; - public static Item horusSoaring; - public static Item shusBreath; - public static Item ptahsDestruction; - public static Item monthusBlast; - public static Item nusFlux; - public static Item mnevisHorns; - public static Item isisEmbrace; - public static Item maatsBalance; - public static Item hedetetsVenom; - public static Item gebsSolidarity; - public static Item nutsCall; - public static Item anuketsBounty; - public static Item mafdetsQuickness; - public static Item isisHealing; - public static Item amunetsHomecoming; - public static Item anubisMercy; - - public static Item limestoneShovel; - public static Item limestonePickaxe; - public static Item limestoneAxe; - public static Item limestoneSword; - public static Item limestoneHoe; - - public static Item mummyHelmet; - public static Item mummyChest; - public static Item mummyLegs; - public static Item mummyBoots; - - public static Item wandererHelmet; - public static Item wandererChest; - public static Item wandererLegs; - public static Item wandererBoots; - - public static Item desertHelmet; - public static Item desertChest; - public static Item desertLegs; - public static Item desertBoots; - - public static Item papyrusPlant; - public static Item ectoplasm; - public static Item stoneChunk; - public static Item scrap; - public static Item scroll; - public static Item pelt; - public static Item date; - public static Item linen; - public static Item flax; - public static Item flaxSeeds; - public static Item fish; - - public static Item neithsAudacity; - - public static Item spear; - - public static void init() - { - scarab = new ItemScarab(AtumConfig.portalSpawnerID).setUnlocalizedName("Atum:Scarab").setCreativeTab(Atum.tabs); - loot = new ItemLoot(AtumConfig.lootID).setCreativeTab(Atum.tabs); - date = (new ItemFood(AtumConfig.itemDateID, 5, 1.5F, false)).setUnlocalizedName("Atum:Date").setCreativeTab(Atum.tabs); - - scimitar = (new ItemScimitar(AtumConfig.scimitarID, EnumToolMaterial.IRON)).setUnlocalizedName("Atum:Scimitar").setCreativeTab(Atum.tabs); - greatsword = new ItemGreatsword(AtumConfig.greatswordID, EnumToolMaterial.IRON).setUnlocalizedName("Atum:Greatsword").setCreativeTab(Atum.tabs); - bow = (new ItemAtumBow(AtumConfig.bowID)).setUnlocalizedName("Atum:Bow").setCreativeTab(Atum.tabs); - stoneSoldierSword = new ItemStoneSoldierSword(AtumConfig.stoneSwordID, EnumToolMaterial.IRON).setUnlocalizedName("Atum:StoneSoldierSword").setCreativeTab(Atum.tabs); - scepter = new ItemScepter(AtumConfig.scepterID, EnumToolMaterial.GOLD).setUnlocalizedName("Atum:Scepter").setCreativeTab(Atum.tabs); - - ptahsPick = new ItemPtahsDecadence(AtumConfig.ptahsPickID, EnumToolMaterial.EMERALD).setUnlocalizedName("Atum:PtahsDecadence").setCreativeTab(Atum.tabs); - sobeksRage = new ItemSobeksRage(AtumConfig.soteksRageID, EnumToolMaterial.EMERALD).setUnlocalizedName("Atum:SoteksRage").setCreativeTab(Atum.tabs); - osirisWill = new ItemOsirisWill(AtumConfig.osirisWillID, EnumToolMaterial.EMERALD).setUnlocalizedName("Atum:OsirisWill").setCreativeTab(Atum.tabs); - akersToil = new ItemAkersToil(AtumConfig.akersToilID, EnumToolMaterial.EMERALD).setUnlocalizedName("Atum:AkersToil").setCreativeTab(Atum.tabs); - gebsBlessing = new ItemGebsBlessing(AtumConfig.gebsBlessingID, EnumToolMaterial.EMERALD).setUnlocalizedName("Atum:GebsBlessing").setCreativeTab(Atum.tabs); - atensFury = new ItemAtensFury(AtumConfig.atensFuryID).setUnlocalizedName("Atum:AtensFury").setCreativeTab(Atum.tabs); - rasGlory = new ItemRasGlory(AtumConfig.rasGloryID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("EgyptianArmor_1").setUnlocalizedName("Atum:RasGlory").setCreativeTab(Atum.tabs); - sekhmetsWrath = new ItemSekhmetsWrath(AtumConfig.sekhmetsWrathID, EnumArmorMaterial.DIAMOND, 1, 1).setTextureFile("EgyptianArmor_1").setUnlocalizedName("Atum:SekhmetsWrath").setCreativeTab(Atum.tabs); - nutsAgility = new ItemNutsAgility(AtumConfig.nutsAgilityID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("EgyptianArmor_2").setUnlocalizedName("Atum:NutsAgility").setCreativeTab(Atum.tabs); - horusFlight = new ItemHorusFlight(AtumConfig.horusFlightID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("EgyptianArmor_1").setUnlocalizedName("Atum:HorusFlight").setCreativeTab(Atum.tabs); - monthusStrike = new ItemMonthusStrike(AtumConfig.monthusStrikeID, EnumToolMaterial.EMERALD).setUnlocalizedName("Atum:MonthusStrike").setCreativeTab(Atum.tabs); - anhursMight = new ItemAnhursMight(AtumConfig.anhursMightID, EnumToolMaterial.EMERALD).setUnlocalizedName("Atum:AnhursMight").setCreativeTab(Atum.tabs); - hedetetsSting = new ItemHedetetsSting(AtumConfig.hedetetsStingID, EnumToolMaterial.EMERALD).setUnlocalizedName("Atum:HedetetsSting").setCreativeTab(Atum.tabs); - horusSoaring = new ItemHorusSoaring(AtumConfig.horusSoaringID).setUnlocalizedName("Atum:HorusSoaring").setCreativeTab(Atum.tabs); - shusBreath = new ItemShusBreath(AtumConfig.shusBreathID).setUnlocalizedName("Atum:ShusBreath").setCreativeTab(Atum.tabs); - ptahsDestruction = new ItemPtahsDestruction(AtumConfig.ptahsDestructionID, EnumToolMaterial.EMERALD).setUnlocalizedName("Atum:PtahsDestruction").setCreativeTab(Atum.tabs); - monthusBlast = new ItemMonthusBlast(AtumConfig.monthusBlastID).setUnlocalizedName("Atum:MonthusBlast").setCreativeTab(Atum.tabs); - nusFlux = new ItemNusFlux(AtumConfig.nusFluxID, EnumToolMaterial.EMERALD).setUnlocalizedName("Atum:NusFlux").setCreativeTab(Atum.tabs); - mnevisHorns = new ItemMnevisHorns(AtumConfig.mnevisHornsID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("Atum:MnevisHorns").setCreativeTab(Atum.tabs); - isisEmbrace = new IsisEmbrace(AtumConfig.isisEmbraceID, EnumArmorMaterial.DIAMOND, 1, 1).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("Atum:IsisEmbrace").setCreativeTab(Atum.tabs); - maatsBalance = new ItemMaatsBalance(AtumConfig.maatsBalanceID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("RubyArtifactArmor_2").setUnlocalizedName("Atum:MaatsBalance").setCreativeTab(Atum.tabs); - hedetetsVenom = new ItemHedetetsVenom(AtumConfig.hedetetsVenomID).setUnlocalizedName("Atum:HedetetsVenom").setCreativeTab(Atum.tabs); - gebsSolidarity = new ItemGebsSolidarity(AtumConfig.gebsSolidarityID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("Atum:GebsSolidarity").setCreativeTab(Atum.tabs); - nutsCall = new ItemNutsCall(AtumConfig.nutsCallID).setUnlocalizedName("Atum:NutsCall").setCreativeTab(Atum.tabs); - anuketsBounty = new ItemAnuketsBounty(AtumConfig.anuketsBountyID).setUnlocalizedName("Atum:AnuketsBounty").setCreativeTab(Atum.tabs); - mafdetsQuickness = new ItemMafdetsQuickness(AtumConfig.mafdetsQuicknessID).setUnlocalizedName("Atum:MafdetsQuickness").setCreativeTab(Atum.tabs); - isisHealing = new ItemIsisHealing(AtumConfig.isisHealingID).setUnlocalizedName("Atum:IsisHealing").setCreativeTab(Atum.tabs); - amunetsHomecoming = new ItemAmunetsHomecoming(AtumConfig.amunetsHomecomingID).setUnlocalizedName("Atum:AmunetsHomecoming").setCreativeTab(Atum.tabs); - anubisMercy = new ItemAnubisMercy(AtumConfig.anubisMercyID).setUnlocalizedName("Atum:AnubisMercy").setCreativeTab(Atum.tabs); - - limestoneShovel = new LimestoneShovel(AtumConfig.limestoneShovelID, EnumToolMaterial.STONE).setUnlocalizedName("Atum:LimestoneShovel").setCreativeTab(Atum.tabs); - limestonePickaxe = new LimestonePickaxe(AtumConfig.limestonePickaxeID, EnumToolMaterial.STONE).setUnlocalizedName("Atum:LimestonePickaxe").setCreativeTab(Atum.tabs); - limestoneAxe = new LimestoneAxe(AtumConfig.limestoneAxeID, EnumToolMaterial.STONE).setUnlocalizedName("Atum:LimestoneAxe").setCreativeTab(Atum.tabs); - limestoneSword = new LimestoneSword(AtumConfig.limestoneSwordID, EnumToolMaterial.STONE).setUnlocalizedName("Atum:LimestoneSword").setCreativeTab(Atum.tabs); - limestoneHoe = new LimestoneHoe(AtumConfig.limestoneHoeID, EnumToolMaterial.STONE).setUnlocalizedName("Atum:LimestoneHoe").setCreativeTab(Atum.tabs); - - EnumArmorMaterial mummyEnum = EnumHelper.addArmorMaterial("Mummy", 5, new int[] {1, 3, 2, 1}, 15); - mummyHelmet = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.mummyHelmetID, mummyEnum, 0, 0)).setRepairItem(AtumConfig.clothScrapID+256).setTextureFile("MummyArmor_1").setUnlocalizedName("Atum:MummyHelmet").setCreativeTab(Atum.tabs); - mummyChest = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.mummyChestID, mummyEnum, 0, 1)).setRepairItem(AtumConfig.clothScrapID+256).setTextureFile("MummyArmor_1").setUnlocalizedName("Atum:MummyChest").setCreativeTab(Atum.tabs); - mummyLegs = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.mummyLegsID, mummyEnum, 0, 2)).setRepairItem(AtumConfig.clothScrapID+256).setTextureFile("MummyArmor_2").setUnlocalizedName("Atum:MummyLegs").setCreativeTab(Atum.tabs); - mummyBoots = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.mummyBootsID, mummyEnum, 0, 3)).setRepairItem(AtumConfig.clothScrapID+256).setTextureFile("MummyArmor_1").setUnlocalizedName("Atum:MummyBoots").setCreativeTab(Atum.tabs); - - EnumArmorMaterial wandererEnum = EnumHelper.addArmorMaterial("Wanderer", 10, new int[] {2, 3, 3, 2}, 15); - wandererHelmet = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.wandererHelmetID, wandererEnum, 0, 0)).setRepairItem(AtumConfig.linenID+256).setTextureFile("WandererArmor_1").setUnlocalizedName("Atum:WandererHelmet").setCreativeTab(Atum.tabs); - wandererChest = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.wandererChestID, wandererEnum, 0, 1)).setRepairItem(AtumConfig.linenID+256).setTextureFile("WandererArmor_1").setUnlocalizedName("Atum:WandererChest").setCreativeTab(Atum.tabs); - wandererLegs = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.wandererLegsID, wandererEnum, 0, 2)).setRepairItem(AtumConfig.linenID+256).setTextureFile("WandererArmor_2").setUnlocalizedName("Atum:WandererLegs").setCreativeTab(Atum.tabs); - wandererBoots = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.wandererBootsID, wandererEnum, 0, 3)).setRepairItem(AtumConfig.linenID+256).setTextureFile("WandererArmor_1").setUnlocalizedName("Atum:WandererBoots").setCreativeTab(Atum.tabs); - - EnumArmorMaterial desertEnum = EnumHelper.addArmorMaterial("Desert", 20, new int[] {3, 6, 5, 3}, 15); - desertHelmet = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.desertHelmetID, desertEnum, 0, 0)).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("Atum:DesertHelmet").setCreativeTab(Atum.tabs); - desertChest = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.desertChestID, desertEnum, 0, 1)).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("Atum:DesertChest").setCreativeTab(Atum.tabs); - desertLegs = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.desertLegsID, desertEnum, 0, 2)).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_2").setUnlocalizedName("Atum:DesertLegs").setCreativeTab(Atum.tabs); - desertBoots = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.desertBootsID, desertEnum, 0, 3)).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("Atum:DesertBoots").setCreativeTab(Atum.tabs); - - papyrusPlant = new ItemPapyrusPlant(AtumConfig.itemPapyrusPlantID, AtumBlocks.papyrus).setUnlocalizedName("Atum:PapyrusPlantItem").setCreativeTab(Atum.tabs); - ectoplasm = new Item(AtumConfig.ectoplasmID).setUnlocalizedName("Atum:Ectoplasm").setCreativeTab(Atum.tabs); - stoneChunk = new Item(AtumConfig.stoneChunkID).setUnlocalizedName("Atum:StoneChunk").setCreativeTab(Atum.tabs); - scrap = new Item(AtumConfig.clothScrapID).setUnlocalizedName("Atum:ClothScrap").setCreativeTab(Atum.tabs); - scroll = new Item(AtumConfig.scrollID).setUnlocalizedName("Atum:Scroll").setCreativeTab(Atum.tabs); - pelt = new Item(AtumConfig.peltID).setUnlocalizedName("Atum:WolfPelt").setCreativeTab(Atum.tabs); - linen = new Item(AtumConfig.linenID).setUnlocalizedName("Atum:Linen").setCreativeTab(Atum.tabs); - flax = new Item(AtumConfig.itemFlaxID).setUnlocalizedName("Atum:FlaxItem").setCreativeTab(Atum.tabs); - flaxSeeds = new ItemSeeds(AtumConfig.itemFlaxSeedsID, AtumBlocks.flax.blockID, Block.tilledField.blockID).setUnlocalizedName("Atum:FlaxSeeds").setCreativeTab(Atum.tabs); - fish = new ItemFish(AtumConfig.itemFishID).setUnlocalizedName("Atum:Fish").setCreativeTab(Atum.tabs); - - neithsAudacity = new ItemNeithsAudacity(AtumConfig.neithsAudacityID).setUnlocalizedName("Atum:NeithsAudacity").setCreativeTab(Atum.tabs); - - Item.itemsList[AtumConfig.slabID] = (new ItemSlab(AtumBlocks.slabs.blockID - 256, AtumBlocks.slabs, AtumBlocks.doubleSlab, false)).setUnlocalizedName("woodSlab").setCreativeTab(Atum.tabs); - Item.itemsList[AtumBlocks.doubleSlab.blockID] = (new ItemSlab(AtumBlocks.doubleSlab.blockID - 256, AtumBlocks.slabs, AtumBlocks.doubleSlab, true)).setUnlocalizedName("woodSlab"); - - MinecraftForge.setToolClass(akersToil, "shovel", 4); - MinecraftForge.setToolClass(limestoneShovel, "shovel", 1); - MinecraftForge.setToolClass(limestoneAxe, "axe", 1); - MinecraftForge.setToolClass(limestonePickaxe, "pickaxe", 1); - MinecraftForge.setToolClass(ptahsDestruction, "pickaxe", 3); - } - - public static void addNames() - { - LanguageRegistry.addName(scarab, "Golden Scarab"); - LanguageRegistry.addName(scimitar, "Scimitar"); - LanguageRegistry.addName(bow, "Shortbow"); - LanguageRegistry.addName(stoneSoldierSword, "Ancient Stone Sword"); - LanguageRegistry.addName(ectoplasm, "Ectoplasm"); - LanguageRegistry.addName(stoneChunk, "Limestone Chunk"); - LanguageRegistry.addName(scrap, "Cloth Scrap"); - LanguageRegistry.addName(scepter, "Royal Scepter"); - LanguageRegistry.addName(papyrusPlant, "Papyrus"); - - LanguageRegistry.addName(ptahsPick, "Ptah's Decadence"); - LanguageRegistry.addName(sobeksRage, "Sobek's Rage"); - LanguageRegistry.addName(osirisWill, "Osiris's Will"); - LanguageRegistry.addName(akersToil, "Aker's Toil"); - LanguageRegistry.addName(gebsBlessing, "Geb's Blessing"); - LanguageRegistry.addName(atensFury, "Aten's Fury"); - LanguageRegistry.addName(rasGlory, "Ra's Glory"); - LanguageRegistry.addName(sekhmetsWrath, "Sekhmet's Wrath"); - LanguageRegistry.addName(nutsAgility, "Nut's Agility"); - LanguageRegistry.addName(horusFlight, "Horus's Flight"); - LanguageRegistry.addName(monthusStrike, "Monthu's Strike"); - LanguageRegistry.addName(anhursMight, "Anhur's Might"); - LanguageRegistry.addName(hedetetsSting, "Hetetet's Sting"); - LanguageRegistry.addName(horusSoaring, "Horus's Soaring"); - LanguageRegistry.addName(shusBreath, "Shu's Breath"); - LanguageRegistry.addName(ptahsDestruction, "Ptah's Destruction"); - LanguageRegistry.addName(monthusBlast, "Monthu's Blast"); - LanguageRegistry.addName(nusFlux, "Nu's Flux"); - LanguageRegistry.addName(mnevisHorns, "Mnevis's Horns"); - LanguageRegistry.addName(isisEmbrace, "Isis's Embrace"); - LanguageRegistry.addName(maatsBalance, "Ma'at's Balance"); - LanguageRegistry.addName(hedetetsVenom, "Hedetet's Venom"); - LanguageRegistry.addName(gebsSolidarity, "Geb's Solidairty"); - LanguageRegistry.addName(nutsCall, "Nut's Call"); - LanguageRegistry.addName(anuketsBounty, "Anuket's Bounty"); - LanguageRegistry.addName(mafdetsQuickness, "Mafdet's Quickness"); - LanguageRegistry.addName(isisHealing, "Isis's Healing"); - LanguageRegistry.addName(amunetsHomecoming, "Amunet's Homecoming"); - LanguageRegistry.addName(anubisMercy, "Anubis's Mercy"); - - - LanguageRegistry.addName(limestoneShovel, "Limestone Shovel"); - LanguageRegistry.addName(limestonePickaxe, "Limestone Pickaxe"); - LanguageRegistry.addName(limestoneAxe, "Limestone Axe"); - LanguageRegistry.addName(limestoneSword, "Limestone Sword"); - LanguageRegistry.addName(limestoneHoe, "Limestone Hoe"); - - LanguageRegistry.addName(mummyHelmet, "Head Wrap"); - LanguageRegistry.addName(mummyChest, "Chest Wrap"); - LanguageRegistry.addName(mummyLegs, "Leg Wrap"); - LanguageRegistry.addName(mummyBoots, "Feet Wrap"); - - LanguageRegistry.addName(wandererHelmet, "Wanderer Head"); - LanguageRegistry.addName(wandererChest, "Wanderer Chest"); - LanguageRegistry.addName(wandererLegs, "Wanderer Legs"); - LanguageRegistry.addName(wandererBoots, "Wanderer Sandels"); - - LanguageRegistry.addName(desertHelmet, "Desert Head"); - LanguageRegistry.addName(desertChest, "Desert Chest"); - LanguageRegistry.addName(desertLegs, "Desert Legs"); - LanguageRegistry.addName(desertBoots, "Desert Sandels"); - - LanguageRegistry.addName(neithsAudacity, "Neith's Audacity"); - LanguageRegistry.addName(scroll, "Scroll"); - LanguageRegistry.addName(pelt, "Wolf Pelt"); - LanguageRegistry.addName(linen, "Linen"); - LanguageRegistry.addName(flax, "Flax"); - LanguageRegistry.addName(flaxSeeds, "Flax Seeds"); - LanguageRegistry.addName(date, "Date"); - LanguageRegistry.addName(new ItemStack(fish, 1, 0), "Wraith Fish"); - LanguageRegistry.addName(new ItemStack(fish, 1, 1), "Mummified Fish"); - LanguageRegistry.addName(new ItemStack(fish, 1, 2), "Golden Fish"); - LanguageRegistry.addName(new ItemStack(fish, 1, 3), "Forsaken Fish"); - } -} diff --git a/common/rebelkeithy/mods/atum/AtumLoot.java b/common/rebelkeithy/mods/atum/AtumLoot.java deleted file mode 100644 index 335bee1..0000000 --- a/common/rebelkeithy/mods/atum/AtumLoot.java +++ /dev/null @@ -1,146 +0,0 @@ -package rebelkeithy.mods.atum; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Random; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import rebelkeithy.mods.atum.items.ItemLoot; - -public class AtumLoot -{ - public static Listartifacts; - public static AtumWeightedLootSet goodLoot; - public static AtumWeightedLootSet junkLoot; - - public static void init() - { - artifacts = new ArrayList(); - goodLoot = new AtumWeightedLootSet(); - junkLoot = new AtumWeightedLootSet(); - - ItemStack stack = new ItemStack(AtumItems.ptahsPick); - artifacts.add(stack); - - artifacts.add(new ItemStack(AtumItems.sobeksRage)); - artifacts.add(new ItemStack(AtumItems.osirisWill)); - artifacts.add(new ItemStack(AtumItems.akersToil)); - artifacts.add(new ItemStack(AtumItems.gebsBlessing)); - artifacts.add(new ItemStack(AtumItems.atensFury)); - artifacts.add(new ItemStack(AtumItems.rasGlory)); - artifacts.add(new ItemStack(AtumItems.sekhmetsWrath)); - artifacts.add(new ItemStack(AtumItems.nutsAgility)); - artifacts.add(new ItemStack(AtumItems.horusFlight)); - artifacts.add(new ItemStack(AtumItems.monthusStrike)); - artifacts.add(new ItemStack(AtumItems.neithsAudacity)); - artifacts.add(new ItemStack(AtumItems.hedetetsSting)); - artifacts.add(new ItemStack(AtumItems.nusFlux)); - artifacts.add(new ItemStack(AtumItems.anhursMight)); - artifacts.add(new ItemStack(AtumItems.horusSoaring)); - artifacts.add(new ItemStack(AtumItems.shusBreath)); - artifacts.add(new ItemStack(AtumItems.hedetetsVenom)); - artifacts.add(new ItemStack(AtumItems.monthusBlast)); - artifacts.add(new ItemStack(AtumItems.mnevisHorns)); - artifacts.add(new ItemStack(AtumItems.isisEmbrace)); - artifacts.add(new ItemStack(AtumItems.maatsBalance)); - artifacts.add(new ItemStack(AtumItems.nutsCall)); - artifacts.add(new ItemStack(AtumItems.ptahsDestruction)); - artifacts.add(new ItemStack(AtumItems.anuketsBounty)); - artifacts.add(new ItemStack(AtumItems.anubisMercy)); - artifacts.add(new ItemStack(AtumItems.amunetsHomecoming)); - artifacts.add(new ItemStack(AtumItems.isisHealing)); - artifacts.add(new ItemStack(AtumItems.mafdetsQuickness)); - - - - // Junk Loot Stuff - junkLoot.addLoot(new ItemStack(AtumItems.flaxSeeds), 5, 1, 2); - junkLoot.addLoot(new ItemStack(Item.stick), 5, 1, 5); - junkLoot.addLoot(new ItemStack(AtumItems.date), 5, 1, 2); - junkLoot.addLoot(new ItemStack(Item.bone), 10, 1, 3); - junkLoot.addLoot(new ItemStack(Item.bread), 10, 1, 4); - junkLoot.addLoot(new ItemStack(AtumBlocks.sand), 20, 1, 64); - junkLoot.addLoot(new ItemStack(AtumItems.scimitar), 5, 1, 1); - junkLoot.addLoot(new ItemStack(Item.seeds), 5, 1, 3); - junkLoot.addLoot(new ItemStack(Item.leather), 5, 1, 5); - junkLoot.addLoot(new ItemStack(Item.dyePowder, 1, 3), 5, 1, 3); - junkLoot.addLoot(new ItemStack(Item.saddle), 5, 1, 1); - - // Good Loot - goodLoot.addLoot(new ItemStack(Item.ingotIron), 38, 1, 3); - goodLoot.addLoot(new ItemStack(Item.ingotGold), 20, 1, 3); - goodLoot.addLoot(new ItemStack(Item.diamond), 4, 1, 2); - goodLoot.addLoot(new ItemStack(Item.enchantedBook, 1, 1), 5, 1, 1); - ItemStack stick = new ItemStack(Item.stick); - stick.setItemName("Amazing Stick"); - goodLoot.addLoot(stick, 1, 1, 1); - } - - public static void addArtifact(ItemStack stack) - { - artifacts.add(stack); - } - - public static ItemStack getRandomLoot() - { - if(artifacts == null) - init(); - - return artifacts.get(0); - } - - public static ItemStack getRandomArtifact() - { - if(artifacts == null) - init(); - - int i = (new Random()).nextInt(artifacts.size()); - return artifacts.get(i).copy(); - } - - public static void fillChest(IInventory inventory, int multiplier, float quality) - { - if(inventory == null) - { - System.out.println("Error trying to fill empty chest"); - return; - } - - if(artifacts == null) - init(); - - Random rand = new Random(); - for(int i = 0; i < multiplier; i++) - { - int slot = rand.nextInt(inventory.getSizeInventory()); - float roll = rand.nextFloat(); - ItemStack stack = new ItemStack(0, 0, 0); - if(rand.nextFloat() < quality) - { - if(roll > 0.20) - { - stack = goodLoot.getRandomLoot(); - } - else if(roll > 0.005) - { - stack = ItemLoot.getRandomLoot(rand, true); - } - else - { - int randomArtifactID = rand.nextInt(artifacts.size()); - stack = artifacts.get(randomArtifactID).copy(); - } - } - else - { - stack = junkLoot.getRandomLoot(); - } - inventory.setInventorySlotContents(slot, stack); - } - } -} diff --git a/common/rebelkeithy/mods/atum/AtumMusicListener.java b/common/rebelkeithy/mods/atum/AtumMusicListener.java deleted file mode 100644 index db873a4..0000000 --- a/common/rebelkeithy/mods/atum/AtumMusicListener.java +++ /dev/null @@ -1,43 +0,0 @@ -package rebelkeithy.mods.atum; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.audio.SoundPoolEntry; -import net.minecraftforge.client.event.sound.PlayBackgroundMusicEvent; -import net.minecraftforge.client.event.sound.SoundLoadEvent; -import net.minecraftforge.event.ForgeSubscribe; - -public class AtumMusicListener -{ - List musics; - //SoundPoolEntry music; - - @ForgeSubscribe - public void onSoundLoadEvent(SoundLoadEvent event) - { - musics = new ArrayList(); - - String path = "/mods/Atum/music/"; - musics.add(event.manager.soundPoolSounds.addSound("Atum/ALongJourney.ogg", Atum.class.getResource(path + "ALongJourney.ogg"))); - musics.add(event.manager.soundPoolSounds.addSound("Atum/Hostiles.ogg", Atum.class.getResource(path + "Hostiles.ogg"))); - musics.add(event.manager.soundPoolSounds.addSound("Atum/ScorchingSand.ogg", Atum.class.getResource(path + "ScorchingSand.ogg"))); - musics.add(event.manager.soundPoolSounds.addSound("Atum/TempleTales.ogg", Atum.class.getResource(path + "TempleTales.ogg"))); - musics.add(event.manager.soundPoolSounds.addSound("Atum/TheWanderer.ogg", Atum.class.getResource(path + "TheWanderer.ogg"))); - - - path = "/mods/Atum/sounds/"; - //file = new File(Minecraft.getMinecraft().mcDataDir, Atum.class.getResource("resources/Atum/sounds/pharaohspawn.ogg")); - //System.out.println(file.exists() + " Does File Exist " + file.getAbsolutePath()); - event.manager.soundPoolSounds.addSound("Atum/pharaohspawn.ogg", Atum.class.getResource(path + "pharaohspawn.ogg")); - } - - @ForgeSubscribe - public void onBackgroundMusic(PlayBackgroundMusicEvent event) - { - if(Minecraft.getMinecraft().thePlayer.worldObj.provider.dimensionId == AtumConfig.dimensionID) - event.result = musics.get((int) (Math.random() * musics.size())); - } -} diff --git a/common/rebelkeithy/mods/atum/AtumPortalPosition.java b/common/rebelkeithy/mods/atum/AtumPortalPosition.java deleted file mode 100644 index bd25865..0000000 --- a/common/rebelkeithy/mods/atum/AtumPortalPosition.java +++ /dev/null @@ -1,17 +0,0 @@ -package rebelkeithy.mods.atum; - -import net.minecraft.util.ChunkCoordinates; - -public class AtumPortalPosition extends ChunkCoordinates -{ - public long field_85087_d; - - final AtumTeleporter field_85088_e; - - public AtumPortalPosition(AtumTeleporter par1Teleporter, int par2, int par3, int par4, long par5) - { - super(par2, par3, par4); - this.field_85088_e = par1Teleporter; - this.field_85087_d = par5; - } -} diff --git a/common/rebelkeithy/mods/atum/AtumRecipes.java b/common/rebelkeithy/mods/atum/AtumRecipes.java deleted file mode 100644 index eace913..0000000 --- a/common/rebelkeithy/mods/atum/AtumRecipes.java +++ /dev/null @@ -1,126 +0,0 @@ -package rebelkeithy.mods.atum; - -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.FurnaceRecipes; -import net.minecraftforge.oredict.OreDictionary; -import net.minecraftforge.oredict.ShapedOreRecipe; -import net.minecraftforge.oredict.ShapelessOreRecipe; -import cpw.mods.fml.common.registry.GameRegistry; - -public class AtumRecipes -{ - - - public static void addRecipes() - { - // Brick recipes - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.largeBrick, 4), "XX", "XX", 'X', AtumBlocks.stone)); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.smallBrick, 4), "XX", "XX", 'X', AtumBlocks.cobble)); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(AtumBlocks.carvedBrick, 1), AtumBlocks.stone)); - - // Stair recipes - GameRegistry.addRecipe(new ItemStack(AtumBlocks.smoothStairs, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.stone); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.cobbleStairs, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.cobble); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.largeStoneStairs, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.largeBrick); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.smallStoneStairs, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.smallBrick); - - // Slab recipes - GameRegistry.addRecipe(new ItemStack(AtumBlocks.slabs, 6, 0), "XXX", 'X', AtumBlocks.stone); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.slabs, 6, 1), "XXX", 'X', AtumBlocks.cobble); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.slabs, 6, 2), "XXX", 'X', AtumBlocks.largeBrick); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.slabs, 6, 3), "XXX", 'X', AtumBlocks.smallBrick); - - // Wall recipes - GameRegistry.addRecipe(new ItemStack(AtumBlocks.wall, 6, 0), "XXX", "XXX", 'X', AtumBlocks.stone); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.wall, 6, 1), "XXX", "XXX", 'X', AtumBlocks.cobble); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.wall, 6, 2), "XXX", "XXX", 'X', AtumBlocks.largeBrick); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.wall, 6, 3), "XXX", "XXX", 'X', AtumBlocks.smallBrick); - - // Crystal glass to framed glass - GameRegistry.addRecipe(new ItemStack(AtumBlocks.framedGlass), " X ", "XSX", " X ", 'X', Item.stick, 'S', AtumBlocks.crystalGlass); - - // Cracked large bricks recipe - GameRegistry.addRecipe(new ItemStack(AtumBlocks.crackedLargeBrick, 4), "XX", "XX", 'X', AtumItems.stoneChunk); - - // Xp bottle recipe - GameRegistry.addRecipe(new ItemStack(Item.expBottle), " X ", "XBX", " X ", 'X', AtumItems.ectoplasm, 'B', Item.potion); - - // Limestone tool recipes - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneSword), "L", "L", "S", 'L', AtumBlocks.cobble, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneShovel), "L", "S", "S", 'L', AtumBlocks.cobble, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestonePickaxe), "LLL", " S ", " S ", 'L', AtumBlocks.cobble, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneAxe), "LL", "LS", " S", 'L', AtumBlocks.cobble, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneHoe), "LL", " S", " S", 'L', AtumBlocks.cobble, 'S', Item.stick); - - // Mummy armor recipes - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyHelmet), "XXX", "X X", 'X', AtumItems.scrap); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyChest), "X X", "XXX", "XXX", 'X', AtumItems.scrap); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyLegs), "XXX", "X X", "X X", 'X', AtumItems.scrap); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyBoots), "X X", "X X", 'X', AtumItems.scrap); - - // Wanderer's armor recipes - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererHelmet), "XXX", "X X", 'X', AtumItems.linen); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererChest), "X X", "XXX", "XXX", 'X', AtumItems.linen); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererLegs), "XXX", "X X", "X X", 'X', AtumItems.linen); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererBoots), "X X", "X X", 'X', AtumItems.linen); - - // Linen from flax - GameRegistry.addRecipe(new ItemStack(AtumItems.linen), "XXX", 'X', AtumItems.flax); - - // Bottles out of Crystal glass - GameRegistry.addRecipe(new ItemStack(Item.glassBottle, 3), "X X", " X ", 'X', AtumBlocks.crystalGlass); - - // Thin Glass - GameRegistry.addRecipe(new ItemStack(AtumBlocks.thinCrystalGlass, 16), "XXX", "XXX", 'X', AtumBlocks.crystalGlass); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.thinFramedGlass, 16), "XXX", "XXX", 'X', AtumBlocks.framedGlass); - - // Scroll from papyrus - GameRegistry.addRecipe(new ItemStack(AtumItems.scroll), "XXX", "SXS", "XXX", 'X', AtumItems.papyrusPlant, 'S', Item.stick); - - // Scarab recipe - GameRegistry.addRecipe(new ItemStack(AtumItems.scarab), " G ", "GDG", " G ", 'G', Item.ingotGold, 'D', Item.diamond); - - // Furnace recipe - GameRegistry.addRecipe(new ItemStack(AtumBlocks.furnaceIdle), "XXX", "X X", "XXX", 'X', AtumBlocks.cobble); - } - - public static void addSmeltingRecipes() - { - // Ore smelting recipes - FurnaceRecipes.smelting().addSmelting(AtumBlocks.ironOre.blockID, 0, new ItemStack(Item.ingotIron), 0.7F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.coalOre.blockID, new ItemStack(Item.coal), 0.1F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.redstoneOre.blockID, new ItemStack(Item.redstone), 0.7F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.lapisOre.blockID, new ItemStack(Item.dyePowder, 1, 4), 0.2F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.goldOre.blockID, new ItemStack(Item.ingotGold), 1.0F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.diamondOre.blockID, new ItemStack(Item.diamond), 1.0F); - - // Palm log to charcoal - FurnaceRecipes.smelting().addSmelting(AtumBlocks.log.blockID, new ItemStack(Item.coal, 1, 1), 0.15F); - - // Atum cobble to Atum stone - FurnaceRecipes.smelting().addSmelting(AtumBlocks.cobble.blockID, new ItemStack(AtumBlocks.stone), 0.1F); - - // Atum sand to crystal glass - FurnaceRecipes.smelting().addSmelting(AtumBlocks.sand.blockID, new ItemStack(AtumBlocks.crystalGlass), 0.1F); - } - - public static void addShapelessRecipes() - { - // Palm planks from Palm logs - GameRegistry.addShapelessRecipe(new ItemStack(AtumBlocks.planks, 4), AtumBlocks.log); - - // Desert armor from iron armor - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertHelmet), AtumItems.wandererHelmet, Item.helmetIron); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertChest), AtumItems.wandererChest, Item.plateIron); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertLegs), AtumItems.wandererLegs, Item.legsIron); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertBoots), AtumItems.wandererBoots, Item.bootsIron); - - // Atum (Strange) sand to normal vanilla sand - GameRegistry.addShapelessRecipe(new ItemStack(Block.sand), AtumBlocks.sand); - - // Linen cloth to string - GameRegistry.addShapelessRecipe(new ItemStack(Item.silk, 3), AtumItems.flax); - } -} diff --git a/common/rebelkeithy/mods/atum/AtumTab.java b/common/rebelkeithy/mods/atum/AtumTab.java deleted file mode 100644 index 904cc6b..0000000 --- a/common/rebelkeithy/mods/atum/AtumTab.java +++ /dev/null @@ -1,18 +0,0 @@ -package rebelkeithy.mods.atum; - -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; - -public class AtumTab extends CreativeTabs -{ - public AtumTab(String label) - { - super(label); - } - - @Override - public Item getTabIconItem() - { - return AtumItems.scarab; - } -} diff --git a/common/rebelkeithy/mods/atum/AtumTeleporter.java b/common/rebelkeithy/mods/atum/AtumTeleporter.java deleted file mode 100644 index badc2be..0000000 --- a/common/rebelkeithy/mods/atum/AtumTeleporter.java +++ /dev/null @@ -1,513 +0,0 @@ -package rebelkeithy.mods.atum; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.entity.Entity; -import net.minecraft.util.Direction; -import net.minecraft.util.LongHashMap; -import net.minecraft.util.MathHelper; -import net.minecraft.world.ChunkCoordIntPair; -import net.minecraft.world.PortalPosition; -import net.minecraft.world.Teleporter; -import net.minecraft.world.WorldServer; - -public class AtumTeleporter extends Teleporter -{ - private final WorldServer worldServerInstance; - - /** A private Random() function in Teleporter */ - private final Random random; - private final LongHashMap field_85191_c = new LongHashMap(); - private final List field_85190_d = new ArrayList(); - - public static String[][] portalDesign = { {"XXXXX", "X X", "X X", "X X", "XXXXX"}, - {"X X", " ", " ", " ", "X X"}, - {"X X", " ", " ", " ", "X X"}}; - - public AtumTeleporter(WorldServer par1WorldServer) - { - super(par1WorldServer); - this.worldServerInstance = par1WorldServer; - this.random = new Random(par1WorldServer.getSeed()); - } - - /** - * Place an entity in a nearby portal, creating one if necessary. - */ - @Override - public void placeInPortal(Entity par1Entity, double par2, double par4, double par6, float par8) - { - if (this.worldServerInstance.provider.dimensionId != 1) - { - if (!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8)) - { - this.makePortal(par1Entity); - this.placeInExistingPortal(par1Entity, par2, par4, par6, par8); - } - } - else - { - int i = MathHelper.floor_double(par1Entity.posX); - int j = MathHelper.floor_double(par1Entity.posY) - 1; - int k = MathHelper.floor_double(par1Entity.posZ); - byte b0 = 1; - byte b1 = 0; - - for (int l = -2; l <= 2; ++l) - { - for (int i1 = -2; i1 <= 2; ++i1) - { - for (int j1 = -1; j1 < 3; ++j1) - { - int k1 = i + i1 * b0 + l * b1; - int l1 = j + j1; - int i2 = k + i1 * b1 - l * b0; - boolean flag = j1 < 0; - this.worldServerInstance.setBlock(k1, l1, i2, flag ? Block.sandStone.blockID : 0); - } - } - } - - par1Entity.setLocationAndAngles((double)i, (double)j, (double)k, par1Entity.rotationYaw, 0.0F); - par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; - } - } - - /** - * Place an entity in a nearby portal which already exists. - */ - @Override - public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4, double par6, float par8) - { - short short1 = 128; - double d3 = -1.0D; - int i = 0; - int j = 0; - int k = 0; - int l = MathHelper.floor_double(par1Entity.posX); - int i1 = MathHelper.floor_double(par1Entity.posZ); - long j1 = ChunkCoordIntPair.chunkXZ2Int(l, i1); - boolean flag = true; - double d4; - int k1; - - if (this.field_85191_c.containsItem(j1)) - { - PortalPosition portalposition = (PortalPosition)this.field_85191_c.getValueByKey(j1); - d3 = 0.0D; - i = portalposition.posX; - j = portalposition.posY; - k = portalposition.posZ; - portalposition.lastUpdateTime = this.worldServerInstance.getTotalWorldTime(); - flag = false; - } - else - { - for (k1 = l - short1; k1 <= l + short1; ++k1) - { - double d5 = (double)k1 + 0.5D - par1Entity.posX; - - for (int l1 = i1 - short1; l1 <= i1 + short1; ++l1) - { - double d6 = (double)l1 + 0.5D - par1Entity.posZ; - - for (int i2 = this.worldServerInstance.getActualHeight() - 1; i2 >= 0; --i2) - { - if (this.worldServerInstance.getBlockId(k1, i2, l1) == AtumBlocks.portal.blockID) - { - while (this.worldServerInstance.getBlockId(k1, i2 - 1, l1) == AtumBlocks.portal.blockID) - { - --i2; - } - - d4 = (double)i2 + 0.5D - par1Entity.posY; - double d7 = d5 * d5 + d4 * d4 + d6 * d6; - - if (d3 < 0.0D || d7 < d3) - { - d3 = d7; - i = k1; - j = i2; - k = l1; - } - } - } - } - } - } - - if (d3 >= 0.0D) - { - if (flag) - { - this.field_85191_c.add(j1, new AtumPortalPosition(this, i, j, k, this.worldServerInstance.getTotalWorldTime())); - this.field_85190_d.add(Long.valueOf(j1)); - } - - double d8 = (double)i + 0.5D; - double d9 = (double)j + 0.5D; - d4 = (double)k + 0.5D; - int j2 = -1; - - if (this.worldServerInstance.getBlockId(i - 1, j, k) == AtumBlocks.portal.blockID) - { - j2 = 2; - } - - if (this.worldServerInstance.getBlockId(i + 1, j, k) == AtumBlocks.portal.blockID) - { - j2 = 0; - } - - if (this.worldServerInstance.getBlockId(i, j, k - 1) == AtumBlocks.portal.blockID) - { - j2 = 3; - } - - if (this.worldServerInstance.getBlockId(i, j, k + 1) == AtumBlocks.portal.blockID) - { - j2 = 1; - } - - int k2 = par1Entity.getTeleportDirection(); - - if (j2 > -1) - { - int l2 = Direction.rotateLeft[j2]; - int i3 = Direction.offsetX[j2]; - int j3 = Direction.offsetZ[j2]; - int k3 = Direction.offsetX[l2]; - int l3 = Direction.offsetZ[l2]; - boolean flag1 = !this.worldServerInstance.isAirBlock(i + i3 + k3, j, k + j3 + l3) || !this.worldServerInstance.isAirBlock(i + i3 + k3, j + 1, k + j3 + l3); - boolean flag2 = !this.worldServerInstance.isAirBlock(i + i3, j, k + j3) || !this.worldServerInstance.isAirBlock(i + i3, j + 1, k + j3); - - if (flag1 && flag2) - { - j2 = Direction.rotateOpposite[j2]; - l2 = Direction.rotateOpposite[l2]; - i3 = Direction.offsetX[j2]; - j3 = Direction.offsetZ[j2]; - k3 = Direction.offsetX[l2]; - l3 = Direction.offsetZ[l2]; - k1 = i - k3; - d8 -= (double)k3; - int i4 = k - l3; - d4 -= (double)l3; - flag1 = !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j, i4 + j3 + l3) || !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j + 1, i4 + j3 + l3); - flag2 = !this.worldServerInstance.isAirBlock(k1 + i3, j, i4 + j3) || !this.worldServerInstance.isAirBlock(k1 + i3, j + 1, i4 + j3); - } - - float f1 = 0.5F; - float f2 = 0.5F; - - if (!flag1 && flag2) - { - f1 = 1.0F; - } - else if (flag1 && !flag2) - { - f1 = 0.0F; - } - else if (flag1 && flag2) - { - f2 = 0.0F; - } - - d8 += (double)((float)k3 * f1 + f2 * (float)i3); - d4 += (double)((float)l3 * f1 + f2 * (float)j3); - float f3 = 0.0F; - float f4 = 0.0F; - float f5 = 0.0F; - float f6 = 0.0F; - - if (j2 == k2) - { - f3 = 1.0F; - f4 = 1.0F; - } - else if (j2 == Direction.rotateOpposite[k2]) - { - f3 = -1.0F; - f4 = -1.0F; - } - else if (j2 == Direction.rotateRight[k2]) - { - f5 = 1.0F; - f6 = -1.0F; - } - else - { - f5 = -1.0F; - f6 = 1.0F; - } - - double d10 = par1Entity.motionX; - double d11 = par1Entity.motionZ; - par1Entity.motionX = d10 * (double)f3 + d11 * (double)f6; - par1Entity.motionZ = d10 * (double)f5 + d11 * (double)f4; - par1Entity.rotationYaw = par8 - (float)(k2 * 90) + (float)(j2 * 90); - } - else - { - par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; - } - - par1Entity.setLocationAndAngles(d8, d9, d4, par1Entity.rotationYaw, par1Entity.rotationPitch); - return true; - } - else - { - return false; - } - } - - @Override - public boolean makePortal(Entity par1Entity) - { - byte b0 = 16; - double d0 = -1.0D; - int entityX = MathHelper.floor_double(par1Entity.posX); - int entityY = MathHelper.floor_double(par1Entity.posY); - int entityZ = MathHelper.floor_double(par1Entity.posZ); - int l = entityX; - int i1 = entityY; - int j1 = entityZ; - int k1 = 0; - int l1 = this.random.nextInt(4); - int i2; - double d1; - double d2; - int j2; - int k2; - int l2; - int i3; - int j3; - int k3; - int l3; - int i4; - int j4; - int k4; - double d3; - double d4; - - for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) - { - d1 = (double)i2 + 0.5D - par1Entity.posX; - - for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) - { - d2 = (double)j2 + 0.5D - par1Entity.posZ; - label274: - - for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) - { - if (this.worldServerInstance.isAirBlock(i2, k2, j2)) - { - while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) - { - --k2; - } - - for (i3 = l1; i3 < l1 + 4; ++i3) - { - l2 = i3 % 2; - k3 = 1 - l2; - - if (i3 % 4 >= 2) - { - l2 = -l2; - k3 = -k3; - } - - for (j3 = 0; j3 < 3; ++j3) - { - for (i4 = 0; i4 < 4; ++i4) - { - for (l3 = -1; l3 < 4; ++l3) - { - k4 = i2 + (i4 - 1) * l2 + j3 * k3; - j4 = k2 + l3; - int l4 = j2 + (i4 - 1) * k3 - j3 * l2; - - if (l3 < 0 && !this.worldServerInstance.getBlockMaterial(k4, j4, l4).isSolid() || l3 >= 0 && !this.worldServerInstance.isAirBlock(k4, j4, l4)) - { - continue label274; - } - } - } - } - - d4 = (double)k2 + 0.5D - par1Entity.posY; - d3 = d1 * d1 + d4 * d4 + d2 * d2; - - if (d0 < 0.0D || d3 < d0) - { - d0 = d3; - l = i2; - i1 = k2; - j1 = j2; - k1 = i3 % 4; - } - } - } - } - } - } - - if (d0 < 0.0D) - { - for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) - { - d1 = (double)i2 + 0.5D - par1Entity.posX; - - for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) - { - d2 = (double)j2 + 0.5D - par1Entity.posZ; - label222: - - for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) - { - if (this.worldServerInstance.isAirBlock(i2, k2, j2)) - { - while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) - { - --k2; - } - - for (i3 = l1; i3 < l1 + 2; ++i3) - { - l2 = i3 % 2; - k3 = 1 - l2; - - for (j3 = 0; j3 < 4; ++j3) - { - for (i4 = -1; i4 < 4; ++i4) - { - l3 = i2 + (j3 - 1) * l2; - k4 = k2 + i4; - j4 = j2 + (j3 - 1) * k3; - - if (i4 < 0 && !this.worldServerInstance.getBlockMaterial(l3, k4, j4).isSolid() || i4 >= 0 && !this.worldServerInstance.isAirBlock(l3, k4, j4)) - { - continue label222; - } - } - } - - d4 = (double)k2 + 0.5D - par1Entity.posY; - d3 = d1 * d1 + d4 * d4 + d2 * d2; - - if (d0 < 0.0D || d3 < d0) - { - d0 = d3; - l = i2; - i1 = k2; - j1 = j2; - k1 = i3 % 2; - } - } - } - } - } - } - } - - int i5 = l; - int j5 = i1; - j2 = j1; - int k5 = k1 % 2; - int l5 = 1 - k5; - - if (k1 % 4 >= 2) - { - k5 = -k5; - l5 = -l5; - } - - boolean flag; - - if (d0 < 0.0D) - { - if (i1 < 70) - { - i1 = 70; - } - - if (i1 > this.worldServerInstance.getActualHeight() - 10) - { - i1 = this.worldServerInstance.getActualHeight() - 10; - } - - j5 = i1; - - for (k2 = -1; k2 <= 1; ++k2) - { - for (i3 = 1; i3 < 3; ++i3) - { - for (l2 = -1; l2 < 3; ++l2) - { - k3 = i5 + (i3 - 1) * k5 + k2 * l5; - j3 = j5 + l2; - i4 = j2 + (i3 - 1) * l5 - k2 * k5; - flag = l2 < 0; - this.worldServerInstance.setBlock(k3, j3, i4, flag ? Block.sandStone.blockID : 0); - } - } - } - } - - for (k2 = 0; k2 < 4; ++k2) - { - for (i3 = 0; i3 < 4; ++i3) - { - for (l2 = -1; l2 < 4; ++l2) - { - k3 = i5 + (i3 - 1) * k5; - j3 = j5 + l2; - i4 = j2 + (i3 - 1) * l5; - flag = i3 == 0 || i3 == 3 || l2 == -1 || l2 == 3; - this.worldServerInstance.setBlock(k3, j3, i4, flag ? Block.sandStone.blockID : AtumBlocks.portal.blockID, 0, 2); - } - } - - for (i3 = 0; i3 < 4; ++i3) - { - for (l2 = -1; l2 < 4; ++l2) - { - k3 = i5 + (i3 - 1) * k5; - j3 = j5 + l2; - i4 = j2 + (i3 - 1) * l5; - this.worldServerInstance.notifyBlocksOfNeighborChange(k3, j3, i4, this.worldServerInstance.getBlockId(k3, j3, i4)); - } - } - } - - return true; - } - - @Override - public void removeStalePortalLocations(long par1) - { - if (par1 % 100L == 0L) - { - Iterator iterator = this.field_85190_d.iterator(); - long j = par1 - 600L; - - while (iterator.hasNext()) - { - Long olong = (Long)iterator.next(); - PortalPosition portalposition = (PortalPosition)this.field_85191_c.getValueByKey(olong.longValue()); - - if (portalposition == null || portalposition.lastUpdateTime < j) - { - iterator.remove(); - this.field_85191_c.remove(olong.longValue()); - } - } - } - } -} diff --git a/common/rebelkeithy/mods/atum/AtumWeightedLootSet.java b/common/rebelkeithy/mods/atum/AtumWeightedLootSet.java deleted file mode 100644 index ed0dc88..0000000 --- a/common/rebelkeithy/mods/atum/AtumWeightedLootSet.java +++ /dev/null @@ -1,78 +0,0 @@ -package rebelkeithy.mods.atum; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.Random; -import java.util.Set; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentData; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.item.Item; -import net.minecraft.item.ItemEnchantedBook; -import net.minecraft.item.ItemStack; -import net.minecraft.util.MathHelper; -import net.minecraft.util.WeightedRandomChestContent; - -public class AtumWeightedLootSet -{ - public Map loot; - public Map lootMin; - public Map lootMax; - public int totalWeight; - - public AtumWeightedLootSet() - { - loot = new HashMap(); - lootMin = new HashMap(); - lootMax = new HashMap(); - totalWeight = 0; - } - - public void addLoot(ItemStack stack, int weight, int min, int max) - { - if(weight <= 0 || stack == null) - return; - - loot.put(totalWeight + weight, stack); - lootMin.put(totalWeight + weight, min); - lootMax.put(totalWeight + weight, max); - totalWeight += weight; - } - - public ItemStack getRandomLoot() - { - Random rand = new Random(); - int weight = rand.nextInt(totalWeight); - - - - ItemStack stack = null; - - Set keySet = loot.keySet(); - Integer[] keys = keySet.toArray(new Integer[keySet.size()]); - Arrays.sort(keys); - - for(Integer key : keys) - { - if(key >= weight) - { - stack = loot.get(key).copy(); - int min = lootMin.get(key); - int max = lootMax.get(key); - int amount = rand.nextInt(max - min + 1) + min; - stack.stackSize = amount; - if(stack.itemID == Item.enchantedBook.itemID) - { - Enchantment enchantment = Enchantment.field_92090_c[rand.nextInt(Enchantment.field_92090_c.length)]; - int l = MathHelper.getRandomIntegerInRange(rand, enchantment.getMinLevel(), enchantment.getMaxLevel()); - ((ItemEnchantedBook) stack.getItem()).func_92115_a(stack, new EnchantmentData(enchantment, l)); - } - break; - } - } - - return stack; - } -} diff --git a/common/rebelkeithy/mods/atum/ClientProxy.java b/common/rebelkeithy/mods/atum/ClientProxy.java deleted file mode 100644 index bb992db..0000000 --- a/common/rebelkeithy/mods/atum/ClientProxy.java +++ /dev/null @@ -1,117 +0,0 @@ -package rebelkeithy.mods.atum; - -import java.io.File; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBiped; -import net.minecraft.client.model.ModelZombie; -import net.minecraft.client.renderer.entity.RenderBiped; -import net.minecraft.client.renderer.entity.RenderFish; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.client.renderer.entity.RenderManager; -import net.minecraftforge.client.MinecraftForgeClient; -import net.minecraftforge.common.MinecraftForge; -import rebelkeithy.mods.atum.artifacts.arrow.CustomArrow; -import rebelkeithy.mods.atum.artifacts.arrow.EntityAtumFishHook; -import rebelkeithy.mods.atum.artifacts.arrow.EntityNutsCall; -import rebelkeithy.mods.atum.artifacts.arrow.RenderCustomArrow; -import rebelkeithy.mods.atum.artifacts.arrow.RenderNutsCall; -import rebelkeithy.mods.atum.blocks.BlockDate; -import rebelkeithy.mods.atum.blocks.BlockPapyrus; -import rebelkeithy.mods.atum.blocks.renderers.DateBlockRenderer; -import rebelkeithy.mods.atum.blocks.renderers.PapyrusBlockRenderer; -import rebelkeithy.mods.atum.entities.EntityBanditArcher; -import rebelkeithy.mods.atum.entities.EntityBanditWarlord; -import rebelkeithy.mods.atum.entities.EntityBanditWarrior; -import rebelkeithy.mods.atum.entities.EntityBarbarian; -import rebelkeithy.mods.atum.entities.EntityDesertWolf; -import rebelkeithy.mods.atum.entities.EntityDustySkeleton; -import rebelkeithy.mods.atum.entities.EntityGhost; -import rebelkeithy.mods.atum.entities.EntityMummy; -import rebelkeithy.mods.atum.entities.EntityPharaoh; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; -import rebelkeithy.mods.atum.entities.ModelDesertWolf; -import rebelkeithy.mods.atum.entities.ModelDustySkeleton; -import rebelkeithy.mods.atum.entities.RenderBandit; -import rebelkeithy.mods.atum.entities.RenderDesertWolf; -import rebelkeithy.mods.atum.entities.RenderGhost; -import rebelkeithy.mods.atum.entities.RenderPharaoh; -import rebelkeithy.mods.atum.entities.projectiles.EntityFireSpearCombined; -import rebelkeithy.mods.atum.entities.projectiles.EntityFireSpearSeperated; -import rebelkeithy.mods.atum.entities.projectiles.RenderFireSpear; -import rebelkeithy.mods.atum.entities.projectiles.RenderFireSpearSeperated; -import rebelkeithy.mods.atum.items.RendererItemBow; -import rebelkeithy.mods.atum.particles.EntityCritFX; -import rebelkeithy.mods.atum.particles.EntitySandFX; -import rebelkeithy.mods.atum.particles.EntitySandPortalFX; -import rebelkeithy.mods.particleregistry.ParticleRegistry; -import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.common.registry.TickRegistry; -import cpw.mods.fml.relauncher.Side; - -public class ClientProxy extends CommonProxy -{ - public void registerParticles() - { - ParticleRegistry.registerParticle("sand", EntitySandFX.class); - ParticleRegistry.registerParticle("sandportal", EntitySandPortalFX.class); - ParticleRegistry.registerParticle("coloredcrit", EntityCritFX.class); - } - - public File getMinecraftDir() - { - return Minecraft.getMinecraftDir(); - } - - public void preloadImages() - { - } - - public void registerTickHandlers() - { - TickRegistry.registerTickHandler(new ServerTickHandler(), Side.SERVER); - TickRegistry.registerTickHandler(new TickHandler(), Side.CLIENT); - } - - public void registerModelRenderers() - { - - RenderingRegistry.registerEntityRenderingHandler(EntityMummy.class, new RenderLiving(new ModelZombie(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityBanditWarrior.class, new RenderBiped(new ModelBiped(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityBarbarian.class, new RenderBiped(new ModelBiped(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityBanditArcher.class, new RenderBandit(new ModelBiped(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityBanditWarlord.class, new RenderBiped(new ModelBiped(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityPharaoh.class, new RenderPharaoh(new ModelBiped(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityDustySkeleton.class, new RenderBiped(new ModelDustySkeleton(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityGhost.class, new RenderGhost(new ModelZombie(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityStoneSoldier.class, new RenderBiped(new ModelBiped(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityDesertWolf.class, new RenderDesertWolf(new ModelDesertWolf(), new ModelDesertWolf(), 0.5F)); - - - RenderingRegistry.registerEntityRenderingHandler(EntityFireSpearCombined.class, new RenderFireSpear()); - RenderingRegistry.registerEntityRenderingHandler(CustomArrow.class, new RenderCustomArrow()); - RenderingRegistry.registerEntityRenderingHandler(EntityNutsCall.class, new RenderNutsCall()); - RenderingRegistry.registerEntityRenderingHandler(EntityAtumFishHook.class, new RenderFish()); - - RenderManager.instance.entityRenderMap.put(EntityFireSpearCombined.class, new RenderFireSpear()); - RenderManager.instance.entityRenderMap.put(EntityFireSpearSeperated.class, new RenderFireSpearSeperated()); - - //RenderManager.instance.entityRenderMap.put(CustomArrow.class, new RenderCustomArrow()); - - MinecraftForgeClient.registerItemRenderer(AtumItems.bow.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.atensFury.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.horusSoaring.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.neithsAudacity.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.shusBreath.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.hedetetsVenom.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.monthusBlast.itemID, new RendererItemBow()); - RenderingRegistry.registerBlockHandler(((BlockPapyrus)AtumBlocks.papyrus).renderID, new PapyrusBlockRenderer()); - RenderingRegistry.registerBlockHandler(((BlockDate)(AtumBlocks.dateBlock)).renderID, new DateBlockRenderer()); - } - - @Override - public void registerMusic() - { - MinecraftForge.EVENT_BUS.register(new AtumMusicListener()); - } -} diff --git a/common/rebelkeithy/mods/atum/CommonProxy.java b/common/rebelkeithy/mods/atum/CommonProxy.java deleted file mode 100644 index 8a99832..0000000 --- a/common/rebelkeithy/mods/atum/CommonProxy.java +++ /dev/null @@ -1,27 +0,0 @@ -package rebelkeithy.mods.atum; - -import java.io.File; - -import cpw.mods.fml.common.registry.TickRegistry; -import cpw.mods.fml.relauncher.Side; - -public class CommonProxy -{ - public void registerParticles(){} - - public File getMinecraftDir() - { - return new File("."); - } - - public void registerTickHandlers() - { - TickRegistry.registerTickHandler(new ServerTickHandler(), Side.SERVER); - } - - public void preloadImages() {} - - public void registerModelRenderers() {} - - public void registerMusic() {} -} diff --git a/common/rebelkeithy/mods/atum/PotionStun.java b/common/rebelkeithy/mods/atum/PotionStun.java deleted file mode 100644 index d3c9ce6..0000000 --- a/common/rebelkeithy/mods/atum/PotionStun.java +++ /dev/null @@ -1,46 +0,0 @@ -package rebelkeithy.mods.atum; - -import cpw.mods.fml.relauncher.ReflectionHelper; -import net.minecraft.entity.EntityLiving; -import net.minecraft.potion.Potion; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.ForgeSubscribe; -import net.minecraftforge.event.entity.living.LivingSetAttackTargetEvent; - -public class PotionStun extends Potion -{ - - protected PotionStun(int par1, boolean par2, int par3) - { - super(par1, par2, par3); - MinecraftForge.EVENT_BUS.register(this); - } - - - - @ForgeSubscribe - public void entityAquireTarge(LivingSetAttackTargetEvent event) - { - if(event.entityLiving != null) - { - if(event.entityLiving.isPotionActive(this)) - { - ReflectionHelper.setPrivateValue(EntityLiving.class, event.entityLiving, null, "attackTarget", "field_70696_bz", "b0"); - //event.entityLiving.attackTarget = null; - } - } - } - - @Override - public void performEffect(EntityLiving par1EntityLiving, int par2) - { - //par1EntityLiving.landMovementFactor = 0; - ReflectionHelper.setPrivateValue(EntityLiving.class, par1EntityLiving, null, "currentTarget", "field_70776_bF", "bY"); - } - - @Override - public boolean isReady(int par1, int par2) - { - return true; - } -} diff --git a/common/rebelkeithy/mods/atum/ServerTickHandler.java b/common/rebelkeithy/mods/atum/ServerTickHandler.java deleted file mode 100644 index c16f37c..0000000 --- a/common/rebelkeithy/mods/atum/ServerTickHandler.java +++ /dev/null @@ -1,96 +0,0 @@ - -package rebelkeithy.mods.atum; - -import java.util.EnumSet; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import cpw.mods.fml.common.ITickHandler; -import cpw.mods.fml.common.TickType; - -public class ServerTickHandler implements ITickHandler -{ - private boolean raining; - - @Override - public void tickStart(EnumSet type, Object... tickData) - { - if(type.equals(EnumSet.of(TickType.PLAYER))) - { - EntityPlayer player = (EntityPlayer) tickData[0]; - - - if (player.worldObj.getTotalWorldTime() % 60L == 0L) - { - - if(player.getCurrentArmor(2) != null) - { - if(player.getCurrentArmor(2).itemID == AtumItems.isisEmbrace.itemID) - { - player.heal(1); - } - } - } - - if (player.worldObj.getTotalWorldTime() % 10L == 0L) - { - if(player.getCurrentArmor(3) != null) - { - if(player.getCurrentArmor(3).itemID == AtumItems.rasGlory.itemID) - { - player.addPotionEffect(new PotionEffect(16, 340, 0, true)); - } else { - if(player.isPotionActive(16)) - { - player.clearActivePotions(); - } - } - } - - if(player.getCurrentArmor(2) != null) - { - if(player.getCurrentArmor(2).itemID == AtumItems.sekhmetsWrath.itemID) - { - //player.addPotionEffect(new PotionEffect(12, 240, 0, true)); - } - } - - if(player.getCurrentArmor(1) != null) - { - if(player.getCurrentArmor(1).itemID == AtumItems.nutsAgility.itemID) - { - //player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 240, 1, true)); - player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 240, 1, true)); - } - } - - if(player.getCurrentArmor(0) != null) - { - if(player.getCurrentArmor(0).itemID == AtumItems.horusFlight.itemID) - { - //player.addPotionEffect(new PotionEffect(8, 240, 1, true)); - } - } - } - } - } - - @Override - public void tickEnd(EnumSet type, Object... tickData) { - // TODO Auto-generated method stub - - } - - @Override - public EnumSet ticks() { - // TODO Auto-generated method stub - return EnumSet.of(TickType.PLAYER); - } - - @Override - public String getLabel() { - return "Atum.TickHandler.Player"; - } - -} diff --git a/common/rebelkeithy/mods/atum/TickHandler.java b/common/rebelkeithy/mods/atum/TickHandler.java deleted file mode 100644 index 893ce71..0000000 --- a/common/rebelkeithy/mods/atum/TickHandler.java +++ /dev/null @@ -1,165 +0,0 @@ - -package rebelkeithy.mods.atum; - -import java.util.EnumSet; -import java.util.List; -import java.util.Random; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.ScaledResolution; -import net.minecraft.client.renderer.ImageBufferDownload; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import rebelkeithy.mods.particleregistry.ParticleRegistry; -import cpw.mods.fml.client.FMLClientHandler; -import cpw.mods.fml.common.ITickHandler; -import cpw.mods.fml.common.TickType; - -public class TickHandler implements ITickHandler -{ - private boolean raining; - private boolean overlay; - public static int defaultFog; - - @Override - public void tickStart(EnumSet type, Object... tickData) - { - - if(type.equals(EnumSet.of(TickType.RENDER))) - { - } - - - if(type.equals(EnumSet.of(TickType.PLAYER))) - { - if(Minecraft.getMinecraft().theWorld != null && Minecraft.getMinecraft().theWorld.loadedEntityList.size() > 0) - { - List players = Minecraft.getMinecraft().theWorld.playerEntities; - for(EntityPlayer player : players) - { - if(player != null && player.getEntityName() == "RebelKeithy" || player.getEntityName() == "Shadowclaimer") - { - String cloakURL = "http://images.mccapes.com/capes/standardmc/RebelKeithy.png"; - if(player.cloakUrl != cloakURL) - player.cloakUrl = cloakURL; - - Minecraft.getMinecraft().renderEngine.obtainImageData(player.cloakUrl, new ImageBufferDownload()); - } - } - } - - EntityPlayer player = (EntityPlayer) tickData[0]; - - boolean nightvision = false; - - if(player.getCurrentArmor(3) != null) - { - if(player.getCurrentArmor(3).itemID == AtumItems.rasGlory.itemID) - { - nightvision = true; - } - - } - - if(player.dimension == AtumConfig.dimensionID) - { - if(Minecraft.getMinecraft().gameSettings.renderDistance < (nightvision ? 1 : 2)) - { - defaultFog = Minecraft.getMinecraft().gameSettings.renderDistance; - Minecraft.getMinecraft().gameSettings.renderDistance = nightvision ? 1 : 2; - } - - if(player.worldObj.isRaining()) - { - raining = true; - if(Minecraft.getMinecraft().gameSettings.renderDistance < (nightvision ? 2 : 3)) - { - Minecraft.getMinecraft().gameSettings.renderDistance = nightvision ? 2 : 3; - } - - Random random = new Random(); - int particlesPerTick = (3 - Minecraft.getMinecraft().gameSettings.particleSetting) * 6; - for(int i = 0; i < particlesPerTick; i++) - { - float x = random.nextInt(4)-2; - float z = random.nextInt(4)-2; - float y = (random.nextFloat() - 0.7F)*2F; - - float vx = 0.1F + random.nextFloat() * 0.1F; - float vz = 0.1F + random.nextFloat() * 0.1F; - - ParticleRegistry.spawnParticle("sand", player.worldObj, player.posX + x, player.posY+y, player.posZ+z, vx + player.motionX, 0.0D, vz + player.motionZ); - } - } - else - { - if(raining == true && defaultFog < (nightvision ? 1 : 2)) - { - raining = false; - Minecraft.getMinecraft().gameSettings.renderDistance = nightvision ? 1 : 2; - - } - } - } - - } - /*if(type.equals(EnumSet.of(TickType.WORLD))) - { - - World world = (World) tickData[0]; - for(Object o : world.playerEntities) - { - EntityPlayer player = (EntityPlayer) o; - world.spawnParticle("Flame", player.posX+1, player.posY, player.posZ, 0.0D, 0.0D, 0.0D); - } - }*/ - - } - - - @Override - public void tickEnd(EnumSet type, Object... tickData) { - - Minecraft minecraft = FMLClientHandler.instance().getClient(); - EntityPlayer player = minecraft.thePlayer; - ItemStack currentItemStack = null; - - if (type.contains(TickType.RENDER)) - { - if(player != null && player.getCurrentArmor(3) != null) - { - if(player.getCurrentArmor(3).itemID == AtumItems.mummyHelmet.itemID) - { - ScaledResolution scaledresolution = new ScaledResolution(Minecraft.getMinecraft().gameSettings, Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight); - int par1 = scaledresolution.getScaledWidth(); - int par2 = scaledresolution.getScaledHeight(); - - - - Minecraft.getMinecraft().renderEngine.bindTexture("/mods/Atum/textures/hud/mummyblur.png"); - Tessellator tessellator = Tessellator.instance; - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(0.0D, par2, -100, 0.0D, 1.0D); - tessellator.addVertexWithUV(par1, par2, -100, 1.0D, 1.0D); - tessellator.addVertexWithUV(par1, 0.0D, -100, 1.0D, 0.0D); - tessellator.addVertexWithUV(0.0D, 0.0D, -100, 0.0D, 0.0D); - tessellator.draw(); - } - - } - } - } - - @Override - public EnumSet ticks() { - // TODO Auto-generated method stub - return EnumSet.of(TickType.PLAYER, TickType.RENDER); - } - - @Override - public String getLabel() { - return "Atum.TickHandler.Player"; - } - -} diff --git a/common/rebelkeithy/mods/atum/artifacts/IsisEmbrace.java b/common/rebelkeithy/mods/atum/artifacts/IsisEmbrace.java deleted file mode 100644 index 36a3f51..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/IsisEmbrace.java +++ /dev/null @@ -1,77 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import org.lwjgl.input.Keyboard; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; -import net.minecraftforge.common.IArmorTextureProvider; - -public class IsisEmbrace extends ItemArmor implements IArmorTextureProvider -{ - public String texture; - public IsisEmbrace(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) - { - super(par1, par2EnumArmorMaterial, par3, par4); - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Regeneration I: Regens"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "health slowly"); - } else { - par3List.add("Regeneration I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - - public Item setTextureFile(String string) - { - texture = string; - return this; - } - - @Override - public String getArmorTextureFile(ItemStack itemstack) - { - return "/armor/" + texture + ".png"; - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemAkersToil.java b/common/rebelkeithy/mods/atum/artifacts/ItemAkersToil.java deleted file mode 100644 index 142a7f1..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemAkersToil.java +++ /dev/null @@ -1,91 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import org.lwjgl.input.Keyboard; - -import net.minecraft.block.Block; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; -import net.minecraft.item.ItemSpade; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemAkersToil extends ItemSpade -{ - - public ItemAkersToil(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } - - /** - * Returns the strength of the stack against a given block. 1.0F base, (Quality+1)*2 if correct blocktype, 1.5F if - * sword - */ - public float getStrVsBlock(ItemStack par1ItemStack, Block par2Block) - { - for (int i = 0; i < this.blocksEffectiveAgainst.length; ++i) - { - if (this.blocksEffectiveAgainst[i] == par2Block) - { - return this.efficiencyOnProperMaterial * 3; - } - } - - return 1.0F; - } - - public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, int par3, int par4, int par5, int par6, EntityLiving par7EntityLiving) - { - if(par7EntityLiving instanceof EntityPlayer) - { - ((EntityPlayer) par7EntityLiving).getFoodStats().addExhaustion(-0.025f); - } - return false; - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Performance I: Faster, does"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "not consume fatique"); - } else { - par3List.add("Performance I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemAmunetsHomecoming.java b/common/rebelkeithy/mods/atum/artifacts/ItemAmunetsHomecoming.java deleted file mode 100644 index 7918fc3..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemAmunetsHomecoming.java +++ /dev/null @@ -1,131 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ChunkCoordinates; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkProvider; - -import org.lwjgl.input.Keyboard; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemAmunetsHomecoming extends Item -{ - - public ItemAmunetsHomecoming(int par1) - { - super(par1); - this.setMaxDamage(20); - } - - /** - * Callback for item usage. If the item does something special on right clicking, he will have one of those. Return - * True if something happen and false if it don't. This is for ITEMS, not BLOCKS - */ - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par3World, EntityPlayer par2EntityPlayer) - { - ChunkCoordinates spawn = par2EntityPlayer.getBedLocation(); - //spawn = par2EntityPlayer.getHomePosition(); - if(spawn == null) - { - spawn = par3World.getSpawnPoint(); - } - - //spawn = EntityPlayer.verifyRespawnCoordinates(par3World, spawn, false); - - if(spawn == null) - { - spawn = par3World.getSpawnPoint(); - } - - spawn = this.verifyRespawnCoordinates(par3World, spawn, false); - - if(spawn == null) - { - spawn = par3World.getSpawnPoint(); - } - - par2EntityPlayer.rotationPitch = 0.0F; - par2EntityPlayer.rotationYaw = 0.0F; - par2EntityPlayer.setPositionAndUpdate(spawn.posX + 0.5D, spawn.posY + 0.1D, spawn.posZ); - - while (!par3World.getCollidingBoundingBoxes(par2EntityPlayer, par2EntityPlayer.boundingBox).isEmpty()) - { - par2EntityPlayer.setPosition(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.0D, par2EntityPlayer.posZ); - } - - //par2EntityPlayer.setPosition(spawn.posX, par3World.getHeightValue(spawn.posX, spawn.posZ), spawn.posZ); - - par1ItemStack.damageItem(1, par2EntityPlayer); - - return par1ItemStack; - } - - public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCoordinates par1ChunkCoordinates, boolean par2) - { - if (!par0World.isRemote) - { - IChunkProvider ichunkprovider = par0World.getChunkProvider(); - ichunkprovider.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); - ichunkprovider.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); - ichunkprovider.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); - ichunkprovider.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); - } - - ChunkCoordinates c = par1ChunkCoordinates; - Block block = Block.blocksList[par0World.getBlockId(c.posX, c.posY, c.posZ)]; - - if (block != null && block.isBed(par0World, c.posX, c.posY, c.posZ, null)) - { - ChunkCoordinates chunkcoordinates1 = block.getBedSpawnPosition(par0World, c.posX, c.posY, c.posZ, null); - return chunkcoordinates1; - } - else - { - Material material = par0World.getBlockMaterial(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); - Material material1 = par0World.getBlockMaterial(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY + 1, par1ChunkCoordinates.posZ); - boolean flag1 = !material.isSolid() && !material.isLiquid(); - boolean flag2 = !material1.isSolid() && !material1.isLiquid(); - return par2 && flag1 && flag2 ? par1ChunkCoordinates : null; - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Return I: Teleports you back"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "to your spawn point"); - } else { - par3List.add("Return I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - - par3List.add((int)(par1ItemStack.getMaxDamage()-par1ItemStack.getItemDamage()) + " Uses Remaining"); - } - -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemAnhursMight.java b/common/rebelkeithy/mods/atum/artifacts/ItemAnhursMight.java deleted file mode 100644 index fff9947..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemAnhursMight.java +++ /dev/null @@ -1,101 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import org.lwjgl.input.Keyboard; - -import rebelkeithy.mods.atum.Atum; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StringTranslate; -import net.minecraft.world.World; -import net.minecraftforge.event.ForgeSubscribe; -import net.minecraftforge.event.entity.living.LivingSetAttackTargetEvent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemAnhursMight extends ItemSword -{ - - public ItemAnhursMight(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); - // TODO Auto-generated constructor stub - } - - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving) - { - if(Math.random() > 0.5) - { - par2EntityLiving.addPotionEffect(new PotionEffect(21, 80, 1, false)); - par2EntityLiving.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 80, 6, false)); - } - return super.hitEntity(par1ItemStack, par2EntityLiving, par3EntityLiving); - } - - /** - * Called each tick as long the item is on a player inventory. Uses by maps to check if is on a player hand and - * update it's contents. - */ - @Override - public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5) - { - if(entity instanceof EntityPlayer) - { - EntityPlayer player = (EntityPlayer)entity; - - if(player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().itemID == this.itemID) - { - double magnitude = Math.sqrt(player.motionX * player.motionX + player.motionZ * player.motionZ); - player.landMovementFactor *= 0.75; - } - } - } - - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Mighty I: Slows player,"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "Chance to stun foes"); - } else { - par3List.add("Mighty I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemAnubisMercy.java b/common/rebelkeithy/mods/atum/artifacts/ItemAnubisMercy.java deleted file mode 100644 index 14a90bd..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemAnubisMercy.java +++ /dev/null @@ -1,173 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.util.ChunkCoordinates; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkProvider; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.ForgeSubscribe; -import net.minecraftforge.event.entity.living.LivingHurtEvent; - -import org.lwjgl.input.Keyboard; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemAnubisMercy extends Item -{ - - public ItemAnubisMercy(int par1) - { - super(par1); - this.setMaxDamage(20); - MinecraftForge.EVENT_BUS.register(this); - } - - @ForgeSubscribe - public void onDamage(LivingHurtEvent event) - { - if(event.entityLiving instanceof EntityPlayer) - { - EntityPlayer player = (EntityPlayer)event.entityLiving; - ItemStack stack = null; - - for(ItemStack currStack : player.inventory.mainInventory) - { - if(currStack != null && currStack.itemID == this.itemID) - { - stack = currStack; - break; - } - } - - if(stack == null) - { - return; - } - - float damageAmount = event.ammount; - - if(!event.source.isUnblockable()) - { - damageAmount = (event.ammount * (25 - player.getTotalArmorValue()) + player.carryoverDamage) / 25f; - } - - if (player.isPotionActive(Potion.resistance)) - { - int resistance = 25 - (player.getActivePotionEffect(Potion.resistance).getAmplifier() + 1) * 5; - damageAmount = damageAmount * resistance / 25f; - } - - if(Math.ceil(damageAmount) >= player.getHealth()) - { - event.setCanceled(true); - respawnPlayer(event.entityLiving.worldObj, player); - player.setEntityHealth(player.getMaxHealth()); - player.getFoodStats().setFoodLevel(20); - player.getFoodStats().setFoodSaturationLevel(20); - player.spawnExplosionParticle(); - stack.damageItem(1, player); - } - } - } - - public void respawnPlayer(World par3World, EntityPlayer par2EntityPlayer) - { - ChunkCoordinates spawn = par2EntityPlayer.getBedLocation(); - - if(spawn == null) - { - spawn = par3World.getSpawnPoint(); - } - - if(spawn == null) - { - spawn = par3World.getSpawnPoint(); - } - - spawn = this.verifyRespawnCoordinates(par3World, spawn, false); - - if(spawn == null) - { - spawn = par3World.getSpawnPoint(); - } - - par2EntityPlayer.rotationPitch = 0.0F; - par2EntityPlayer.rotationYaw = 0.0F; - par2EntityPlayer.setPositionAndUpdate(spawn.posX + 0.5D, spawn.posY + 0.1D, spawn.posZ); - - while (!par3World.getCollidingBoundingBoxes(par2EntityPlayer, par2EntityPlayer.boundingBox).isEmpty()) - { - par2EntityPlayer.setPosition(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.0D, par2EntityPlayer.posZ); - } - - return; - } - - public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCoordinates par1ChunkCoordinates, boolean par2) - { - if (!par0World.isRemote) - { - IChunkProvider ichunkprovider = par0World.getChunkProvider(); - ichunkprovider.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); - ichunkprovider.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); - ichunkprovider.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); - ichunkprovider.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); - } - - ChunkCoordinates c = par1ChunkCoordinates; - Block block = Block.blocksList[par0World.getBlockId(c.posX, c.posY, c.posZ)]; - - if (block != null && block.isBed(par0World, c.posX, c.posY, c.posZ, null)) - { - ChunkCoordinates chunkcoordinates1 = block.getBedSpawnPosition(par0World, c.posX, c.posY, c.posZ, null); - return chunkcoordinates1; - } - else - { - Material material = par0World.getBlockMaterial(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); - Material material1 = par0World.getBlockMaterial(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY + 1, par1ChunkCoordinates.posZ); - boolean flag1 = !material.isSolid() && !material.isLiquid(); - boolean flag2 = !material1.isSolid() && !material1.isLiquid(); - return par2 && flag1 && flag2 ? par1ChunkCoordinates : null; - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Return I: Teleports you back"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "to your spawn point"); - } else { - par3List.add("Return I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - - par3List.add((int)(par1ItemStack.getMaxDamage()-par1ItemStack.getItemDamage()) + " Uses Remaining"); - } - -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemAnuketsBounty.java b/common/rebelkeithy/mods/atum/artifacts/ItemAnuketsBounty.java deleted file mode 100644 index f4ca65e..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemAnuketsBounty.java +++ /dev/null @@ -1,129 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import org.lwjgl.input.Keyboard; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Icon; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.artifacts.arrow.EntityAtumFishHook; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemAnuketsBounty extends Item -{ - @SideOnly(Side.CLIENT) - private Icon theIcon; - - public ItemAnuketsBounty(int par1) - { - super(par1); - this.setMaxDamage(64); - this.setMaxStackSize(1); - this.setCreativeTab(CreativeTabs.tabTools); - } - - @SideOnly(Side.CLIENT) - - /** - * Returns True is the item is renderer in full 3D when hold. - */ - public boolean isFull3D() - { - return true; - } - - @SideOnly(Side.CLIENT) - - /** - * Returns true if this item should be rotated by 180 degrees around the Y axis when being held in an entities - * hands. - */ - public boolean shouldRotateAroundWhenRendering() - { - return true; - } - - /** - * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer - */ - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - if (par3EntityPlayer.fishEntity != null) - { - int i = par3EntityPlayer.fishEntity.catchFish(); - par1ItemStack.damageItem(i, par3EntityPlayer); - par3EntityPlayer.swingItem(); - } - else - { - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); - - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(new EntityAtumFishHook(par2World, par3EntityPlayer)); - } - - par3EntityPlayer.swingItem(); - } - - return par1ItemStack; - } - - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) - { - super.registerIcons(par1IconRegister); - this.theIcon = par1IconRegister.registerIcon("fishingRod_empty"); - } - - @SideOnly(Side.CLIENT) - public Icon func_94597_g() - { - return this.theIcon; - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Alluring I: Chance to catch"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "special fish in Atum"); - } else { - par3List.add("Return I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - - par3List.add((int)(par1ItemStack.getMaxDamage()-par1ItemStack.getItemDamage()) + " Uses Remaining"); - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemAtensFury.java b/common/rebelkeithy/mods/atum/artifacts/ItemAtensFury.java deleted file mode 100644 index 6aa0710..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemAtensFury.java +++ /dev/null @@ -1,204 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import org.lwjgl.input.Keyboard; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBow; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Icon; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.ArrowLooseEvent; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowFire; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemAtensFury extends ItemBow -{ - public static final String[] bowPullIconNameArray = new String[] {"atens_pull_0", "atens_pull_1", "atens_pull_2"}; - Icon[] iconArray; - - public ItemAtensFury(int par1) - { - super(par1); - this.setMaxDamage(650); - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - - /** - * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount - */ - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) - { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - - ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); - MinecraftForge.EVENT_BUS.post(event); - if (event.isCanceled()) - { - return; - } - j = event.charge; - - boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - - if (flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) - { - float f = (float)j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - - if ((double)f < 0.1D) - { - return; - } - - if (f > 1.0F) - { - f = 1.0F; - } - - EntityArrowFire entityarrow = new EntityArrowFire(par2World, par3EntityPlayer, f * 2.0F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5F); - - if (f == 1.0F) - { - entityarrow.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - - if (k > 0) - { - entityarrow.setDamage(entityarrow.getDamage() + (double)k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - - if (l > 0) - { - entityarrow.setKnockbackStrength(l); - } - - entityarrow.setFire(100); - - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - - if (flag) - { - entityarrow.canBePickedUp = 2; - } - else - { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - } - - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(entityarrow); - } - } - } - - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IconRegister par1IconRegister) - { - super.registerIcons(par1IconRegister); - this.iconArray = new Icon[bowPullIconNameArray.length]; - - for (int i = 0; i < this.iconArray.length; ++i) - { - this.iconArray[i] = par1IconRegister.registerIcon("Atum:" + bowPullIconNameArray[i]); - } - } - - /** - * Player, Render pass, and item usage sensitive version of getIconIndex. - * - * @param stack The item stack to get the icon for. (Usually this, and usingItem will be the same if usingItem is not null) - * @param renderPass The pass to get the icon for, 0 is default. - * @param player The player holding the item - * @param usingItem The item the player is actively using. Can be null if not using anything. - * @param useRemaining The ticks remaining for the active item. - * @return The icon index - */ - @Override - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if(usingItem != null) - { - int j = getMaxItemUseDuration(stack) - useRemaining; - - if (j >= 18) - { - return getItemIconForUseDuration(2); - } - - if (j > 13) - { - return getItemIconForUseDuration(1); - } - - if (j > 0) - { - return getItemIconForUseDuration(0); - } - } - return getIcon(stack, renderPass); - } - - @SideOnly(Side.CLIENT) - @Override - public Icon getItemIconForUseDuration(int par1) - { - return this.iconArray[par1]; - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Fire Shot I: Flaming arrow"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "ignites blocks and foes"); - } else { - par3List.add("Fire Shot I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemGebsBlessing.java b/common/rebelkeithy/mods/atum/artifacts/ItemGebsBlessing.java deleted file mode 100644 index 2cde6d3..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemGebsBlessing.java +++ /dev/null @@ -1,64 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import org.lwjgl.input.Keyboard; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; -import net.minecraft.item.ItemHoe; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; - -public class ItemGebsBlessing extends ItemHoe -{ - - public ItemGebsBlessing(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Sowing I: Tilled ground is blessed,"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "granting increased growth rate"); - } else { - par3List.add("Sowing I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - - -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemGebsSolidarity.java b/common/rebelkeithy/mods/atum/artifacts/ItemGebsSolidarity.java deleted file mode 100644 index e3bafce..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemGebsSolidarity.java +++ /dev/null @@ -1,147 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import net.minecraftforge.common.IArmorTextureProvider; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.ForgeSubscribe; -import net.minecraftforge.event.entity.living.LivingHurtEvent; - -import org.lwjgl.input.Keyboard; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemGebsSolidarity extends ItemArmor implements IArmorTextureProvider -{ - String texture; - - public ItemGebsSolidarity(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) - { - super(par1, par2EnumArmorMaterial, par3, par4); - //MinecraftForge.EVENT_BUS.register(this); - } - - @ForgeSubscribe - public void onLivingAttack(LivingHurtEvent event) - { - DamageSource par1DamageSource = event.source; - if(par1DamageSource.getEntity() != null) - { - Entity par1Entity = par1DamageSource.getEntity(); - int j = 0; - if (par1Entity instanceof EntityLiving) - { - j += EnchantmentHelper.getKnockbackModifier((EntityLiving)par1Entity, event.entityLiving); - System.out.println("undo knockback " + j); - if (j >= 0) - { - event.entityLiving.motionX /= 0.6D; - event.entityLiving.motionZ /= 0.6D; - event.entityLiving.addVelocity((double)(MathHelper.sin(par1Entity.rotationYaw * (float)Math.PI / 180.0F) * (float)j * 0.5F), -0.1D, (double)(-MathHelper.cos(par1Entity.rotationYaw * (float)Math.PI / 180.0F) * (float)j * 0.5F)); - } - } - - EntityLiving player = event.entityLiving; - - - double d0 = par1DamageSource.getEntity().posX - player.posX; - double d1; - - for (d1 = par1DamageSource.getEntity().posZ - player.posZ; d0 * d0 + d1 * d1 < 1.0E-4D; d1 = (Math.random() - Math.random()) * 0.01D) - { - d0 = (Math.random() - Math.random()) * 0.01D; - } - - player.isAirBorne = true; - float f = MathHelper.sqrt_double(d0 * d0 + d1 * d1); - float f1 = 0.2F; - player.motionX += d0 / (double)f * (double)f1; - //this.motionY += (double)f1; - player.motionZ += d1 / (double)f * (double)f1; - player.motionX *= 2.0D; - player.motionY *= 2.0D; - player.motionZ *= 2.0D; - - if (player.motionY > 0.4000000059604645D) - { - player.motionY = 0.4000000059604645D; - } - - } - } - - - - /** - * Called each tick as long the item is on a player inventory. Uses by maps to check if is on a player hand and - * update it's contents. - */ - @Override - public void onArmorTickUpdate(World world, EntityPlayer player, ItemStack itemStack) - { - double magnitude = Math.sqrt(player.motionX * player.motionX + player.motionZ * player.motionZ); - player.landMovementFactor *= 0.5; - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Stalwart I: Decreased movement"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "speed, decreased knockback (WIP)"); - } else { - par3List.add("Stalwart I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - public Item setTextureFile(String string) - { - texture = string; - return this; - } - - @Override - public String getArmorTextureFile(ItemStack itemstack) - { - return "/armor/" + texture + ".png"; - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemHedetetsSting.java b/common/rebelkeithy/mods/atum/artifacts/ItemHedetetsSting.java deleted file mode 100644 index 80b5dfe..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemHedetetsSting.java +++ /dev/null @@ -1,76 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import org.lwjgl.input.Keyboard; - -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StringTranslate; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemHedetetsSting extends ItemSword -{ - - public ItemHedetetsSting(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } - - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving) - { - if(super.hitEntity(par1ItemStack, par2EntityLiving, par3EntityLiving)) - { - par2EntityLiving.addPotionEffect(new PotionEffect(Potion.poison.id, 140, 2, false)); - return true; - } - return false; - - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Poison II: Chance"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "to poison foes"); - } else { - par3List.add("Poison II " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemHedetetsVenom.java b/common/rebelkeithy/mods/atum/artifacts/ItemHedetetsVenom.java deleted file mode 100644 index 9106cad..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemHedetetsVenom.java +++ /dev/null @@ -1,207 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import org.lwjgl.input.Keyboard; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBow; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Icon; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.ArrowLooseEvent; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowPoison; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowVelocity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemHedetetsVenom extends ItemBow -{ - public static final String[] bowPullIconNameArray = new String[] {"HedetetsVenom_pull_0", "HedetetsVenom_pull_1", "HedetetsVenom_pull_2"}; - Icon[] iconArray; - - public ItemHedetetsVenom(int par1) - { - super(par1); - this.setMaxDamage(650); - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - - /** - * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount - */ - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) - { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - - ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); - MinecraftForge.EVENT_BUS.post(event); - if (event.isCanceled()) - { - return; - } - j = event.charge; - - boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - - if (flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) - { - float f = (float)j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - - if ((double)f < 0.1D) - { - return; - } - - if (f > 1.0F) - { - f = 1.0F; - } - - EntityArrowPoison entityarrow = new EntityArrowPoison(par2World, par3EntityPlayer, f * 3.0F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5F); - - if (f == 1.0F) - { - entityarrow.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - - if (k > 0) - { - entityarrow.setDamage(entityarrow.getDamage() + (double)k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - - if (l > 0) - { - entityarrow.setKnockbackStrength(l); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) - { - entityarrow.setFire(100); - } - - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - - if (flag) - { - entityarrow.canBePickedUp = 2; - } - else - { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - } - - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(entityarrow); - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Poison Arrow I: Fires an"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "arrow that poisons foes"); - } else { - par3List.add("Poison Arrow I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IconRegister par1IconRegister) - { - super.registerIcons(par1IconRegister); - this.iconArray = new Icon[bowPullIconNameArray.length]; - - for (int i = 0; i < this.iconArray.length; ++i) - { - this.iconArray[i] = par1IconRegister.registerIcon("Atum:" + bowPullIconNameArray[i]); - } - } - - /** - * Player, Render pass, and item usage sensitive version of getIconIndex. - * - * @param stack The item stack to get the icon for. (Usually this, and usingItem will be the same if usingItem is not null) - * @param renderPass The pass to get the icon for, 0 is default. - * @param player The player holding the item - * @param usingItem The item the player is actively using. Can be null if not using anything. - * @param useRemaining The ticks remaining for the active item. - * @return The icon index - */ - @Override - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if(usingItem != null) - { - int j = getMaxItemUseDuration(stack) - useRemaining; - - if (j >= 18) - { - return getItemIconForUseDuration(2); - } - - if (j > 13) - { - return getItemIconForUseDuration(1); - } - - if (j > 0) - { - return getItemIconForUseDuration(0); - } - } - return getIcon(stack, renderPass); - } - - @SideOnly(Side.CLIENT) - @Override - public Icon getItemIconForUseDuration(int par1) - { - return this.iconArray[par1]; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemHorusFlight.java b/common/rebelkeithy/mods/atum/artifacts/ItemHorusFlight.java deleted file mode 100644 index afd45a8..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemHorusFlight.java +++ /dev/null @@ -1,120 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import org.lwjgl.input.Keyboard; - -import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.atum.entities.EntityGhost; -import rebelkeithy.mods.atum.entities.EntityPharaoh; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EntityDamageSource; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StringTranslate; -import net.minecraft.world.World; -import net.minecraftforge.common.IArmorTextureProvider; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.ForgeSubscribe; -import net.minecraftforge.event.entity.living.LivingAttackEvent; -import net.minecraftforge.event.entity.living.LivingFallEvent; -import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent; - -public class ItemHorusFlight extends ItemArmor implements IArmorTextureProvider -{ - String texture; - - public ItemHorusFlight(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) - { - super(par1, par2EnumArmorMaterial, par3, par4); - MinecraftForge.EVENT_BUS.register(this); - } - - @ForgeSubscribe - public void onJump(LivingJumpEvent event) - { - if(event.entityLiving.getCurrentArmor(0) != null) - { - if(event.entityLiving.getCurrentArmor(0).itemID == this.itemID) - { - event.entityLiving.motionY += 0.2; - event.entityLiving.motionX *= 1.2; - event.entityLiving.motionZ *= 1.2; - } - } - } - - @ForgeSubscribe - public void onFallDamage(LivingFallEvent event) - { - if(event.entityLiving.getCurrentArmor(0) != null) - { - if(event.entityLiving.getCurrentArmor(0).itemID == AtumItems.horusFlight.itemID) - { - event.distance = 0; - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Nimbleness I: Increased jump height,"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "protection from fall damage"); - } else { - par3List.add("Nimbleness I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - - public Item setTextureFile(String string) - { - texture = string; - return this; - } - - @Override - public String getArmorTextureFile(ItemStack itemstack) - { - return "/armor/" + texture + ".png"; - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemHorusSoaring.java b/common/rebelkeithy/mods/atum/artifacts/ItemHorusSoaring.java deleted file mode 100644 index 8c83879..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemHorusSoaring.java +++ /dev/null @@ -1,200 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBow; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Icon; -import net.minecraft.util.StringTranslate; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.ArrowLooseEvent; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowVelocity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemHorusSoaring extends ItemBow -{ - public static final String[] bowPullIconNameArray = new String[] {"HorusSoaring_pull_0", "HorusSoaring_pull_1", "HorusSoaring_pull_2"}; - Icon[] iconArray; - - public ItemHorusSoaring(int par1) - { - super(par1); - this.setMaxDamage(650); - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - - /** - * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount - */ - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) - { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - - ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); - MinecraftForge.EVENT_BUS.post(event); - if (event.isCanceled()) - { - return; - } - j = event.charge; - - boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - - if (flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) - { - float f = (float)j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - - if ((double)f < 0.1D) - { - return; - } - - if (f > 1.0F) - { - f = 1.0F; - } - - EntityArrowVelocity entityarrow = new EntityArrowVelocity(par2World, par3EntityPlayer, f * 3.0F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5F); - - if (f == 1.0F) - { - entityarrow.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - - if (k > 0) - { - entityarrow.setDamage(entityarrow.getDamage() + (double)k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - - if (l > 0) - { - entityarrow.setKnockbackStrength(l); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) - { - entityarrow.setFire(100); - } - - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - - if (flag) - { - entityarrow.canBePickedUp = 2; - } - else - { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - } - - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(entityarrow); - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Velocity I"); - } - - - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IconRegister par1IconRegister) - { - super.registerIcons(par1IconRegister); - this.iconArray = new Icon[bowPullIconNameArray.length]; - - for (int i = 0; i < this.iconArray.length; ++i) - { - this.iconArray[i] = par1IconRegister.registerIcon("Atum:" + bowPullIconNameArray[i]); - } - } - - /** - * Player, Render pass, and item usage sensitive version of getIconIndex. - * - * @param stack The item stack to get the icon for. (Usually this, and usingItem will be the same if usingItem is not null) - * @param renderPass The pass to get the icon for, 0 is default. - * @param player The player holding the item - * @param usingItem The item the player is actively using. Can be null if not using anything. - * @param useRemaining The ticks remaining for the active item. - * @return The icon index - */ - @Override - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if(usingItem != null) - { - int j = getMaxItemUseDuration(stack) - useRemaining; - - if (j >= 18) - { - return getItemIconForUseDuration(2); - } - - if (j > 13) - { - return getItemIconForUseDuration(1); - } - - if (j > 0) - { - return getItemIconForUseDuration(0); - } - } - return getIcon(stack, renderPass); - } - - @SideOnly(Side.CLIENT) - @Override - public Icon getItemIconForUseDuration(int par1) - { - return this.iconArray[par1]; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemIsisHealing.java b/common/rebelkeithy/mods/atum/artifacts/ItemIsisHealing.java deleted file mode 100644 index f44b19e..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemIsisHealing.java +++ /dev/null @@ -1,102 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import org.lwjgl.input.Keyboard; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; - -public class ItemIsisHealing extends Item -{ - - public ItemIsisHealing(int par1) - { - super(par1); - this.setMaxDamage(400); - } - - - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if(par3Entity instanceof EntityPlayer) - { - EntityPlayer player = (EntityPlayer) par3Entity; - if(player.onGround) - { - if(player.inventory.mainInventory[player.inventory.currentItem] != null) - { - if(player.inventory.mainInventory[player.inventory.currentItem].itemID == this.itemID) - { - doEffect(player, par1ItemStack); - } - } - } - } - } - - public void doEffect(EntityPlayer player, ItemStack item) - { - if(Math.random() > 0.05) - return; - - if(player.getHealth() < player.getMaxHealth()) - { - player.heal(1); - - if(!player.capabilities.isCreativeMode) - { - if(item.getItemDamage() == 1) - item.damageItem(1, player); - else - item.setItemDamage(item.getItemDamage()+1); - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Regeneration I: Regenerates"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "health slowly while heald"); - } else { - par3List.add("Regeneration I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - - //par3List.add(((int)((par1ItemStack.getMaxDamage()-par1ItemStack.getItemDamage())/12))/100.0 + " Minutes Remaining"); - par3List.add(((int)((par1ItemStack.getMaxDamage()-par1ItemStack.getItemDamage()))) + " Hearts Remaining"); - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemMaatsBalance.java b/common/rebelkeithy/mods/atum/artifacts/ItemMaatsBalance.java deleted file mode 100644 index 98484bb..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemMaatsBalance.java +++ /dev/null @@ -1,119 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EntityDamageSource; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; -import net.minecraftforge.common.IArmorTextureProvider; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.ForgeSubscribe; -import net.minecraftforge.event.entity.living.LivingHurtEvent; - -import org.lwjgl.input.Keyboard; - -import rebelkeithy.mods.atum.Atum; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemMaatsBalance extends ItemArmor -{ - - public String texture; - public ItemMaatsBalance(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) - { - super(par1, par2EnumArmorMaterial, par3, par4); - MinecraftForge.EVENT_BUS.register(this); - } - - @ForgeSubscribe - public void onLivingAttack(LivingHurtEvent event) - { - if(event.entityLiving.getCurrentArmor(3) != null) - { - if(event.entityLiving.getCurrentArmor(3).itemID == this.itemID) - { - event.ammount = (int) ((event.ammount + 1)/1.5F) - 1; - } - } - - if(event.source instanceof EntityDamageSource) - { - EntityDamageSource source = (EntityDamageSource) event.source; - if(source.getEntity() != null && source.getEntity() instanceof EntityLiving) - { - EntityLiving entity = (EntityLiving) source.getEntity(); - if(entity.getCurrentArmor(3) != null) - { - if(entity.getCurrentArmor(3).itemID == this.itemID) - { - event.ammount = (int) ((event.ammount + 1)/1.5F) - 1; - } - } - } - } - } - - - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - //System.out.println("tick"); - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Balance I: Decreases damage"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "dealt, Decreases damage taken"); - } else { - par3List.add("Balance I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - - public Item setTextureFile(String string) - { - texture = string; - return this; - } - - public String getArmorTexture(ItemStack stack, Entity entity, int slot, int layer) - { - return "/armor/" + texture + ".png"; - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemMafdetsQuickness.java b/common/rebelkeithy/mods/atum/artifacts/ItemMafdetsQuickness.java deleted file mode 100644 index e174449..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemMafdetsQuickness.java +++ /dev/null @@ -1,98 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import org.lwjgl.input.Keyboard; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; - -public class ItemMafdetsQuickness extends Item -{ - - public ItemMafdetsQuickness(int par1) - { - super(par1); - this.setMaxDamage(20*60*20); - } - - - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if(par3Entity instanceof EntityPlayer) - { - EntityPlayer player = (EntityPlayer) par3Entity; - if(player.onGround) - { - if(player.inventory.mainInventory[player.inventory.currentItem] != null) - { - if(player.inventory.mainInventory[player.inventory.currentItem].itemID == this.itemID) - { - doEffect(player, par1ItemStack); - } - } - } - } - } - - public void doEffect(EntityPlayer player, ItemStack item) - { - player.landMovementFactor *= 1.4; - - if(player.motionX*player.motionX+player.motionZ*player.motionZ > 0.02) - { - if(!player.capabilities.isCreativeMode) - { - if(item.getItemDamage() == 1) - item.damageItem(1, player); - else - item.setItemDamage(item.getItemDamage()+1); - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Swiftness I: You run"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "faster when held"); - } else { - par3List.add("Swiftness I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - - par3List.add(((int)((par1ItemStack.getMaxDamage()-par1ItemStack.getItemDamage())/12))/100.0 + " Minutes Remaining"); - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemMnevisHorns.java b/common/rebelkeithy/mods/atum/artifacts/ItemMnevisHorns.java deleted file mode 100644 index a78e582..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemMnevisHorns.java +++ /dev/null @@ -1,102 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import org.lwjgl.input.Keyboard; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EntityDamageSource; -import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.common.IArmorTextureProvider; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.ForgeSubscribe; -import net.minecraftforge.event.entity.living.LivingAttackEvent; -import rebelkeithy.mods.atum.Atum; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemMnevisHorns extends ItemArmor implements IArmorTextureProvider -{ - public String texture; - - public ItemMnevisHorns(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) - { - super(par1, par2EnumArmorMaterial, par3, par4); - MinecraftForge.EVENT_BUS.register(this); - } - - @ForgeSubscribe - public void onLivingAttack(LivingAttackEvent event) - { - if(event.entityLiving.getCurrentArmor(3) != null) - { - if(event.entityLiving.getCurrentArmor(3).itemID == this.itemID) - { - if(event.source instanceof EntityDamageSource) - { - EntityDamageSource source = (EntityDamageSource) event.source; - if(source.getEntity() != null) - { - source.getEntity().attackEntityFrom(DamageSource.generic, (int) (event.ammount/2.0)); - } - } - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Melee Reflection I: Deals"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "damage to attackers"); - } else { - par3List.add("Melee Reflection I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - - public Item setTextureFile(String string) - { - texture = string; - return this; - } - - @Override - public String getArmorTextureFile(ItemStack itemstack) - { - return "/armor/" + texture + ".png"; - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemMonthusBlast.java b/common/rebelkeithy/mods/atum/artifacts/ItemMonthusBlast.java deleted file mode 100644 index 9445c08..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemMonthusBlast.java +++ /dev/null @@ -1,208 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import org.lwjgl.input.Keyboard; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBow; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Icon; -import net.minecraft.util.StringTranslate; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.ArrowLooseEvent; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowExplosive; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowVelocity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemMonthusBlast extends ItemBow -{ - public static final String[] bowPullIconNameArray = new String[] {"MonthusBlast_pull_0", "MonthusBlast_pull_1", "MonthusBlast_pull_2"}; - Icon[] iconArray; - - public ItemMonthusBlast(int par1) - { - super(par1); - this.setMaxDamage(650); - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - - /** - * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount - */ - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) - { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - j = (int) (j * 0.667); - - ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); - MinecraftForge.EVENT_BUS.post(event); - if (event.isCanceled()) - { - return; - } - j = event.charge; - - boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - - if (flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) - { - float f = (float)j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - - if ((double)f < 0.1D) - { - return; - } - - if (f > 1.0F) - { - f = 1.0F; - } - - EntityArrowExplosive entityarrow = new EntityArrowExplosive(par2World, par3EntityPlayer, f * 1.5F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5F); - - if (f == 1.0F) - { - entityarrow.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - - if (k > 0) - { - entityarrow.setDamage(entityarrow.getDamage() + (double)k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - - if (l > 0) - { - entityarrow.setKnockbackStrength(l); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) - { - entityarrow.setFire(100); - } - - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - - if (flag) - { - entityarrow.canBePickedUp = 2; - } - else - { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - } - - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(entityarrow); - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Explosive Shot I: Arrows explode"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "on impact"); - } else { - par3List.add("Explosive Shot I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IconRegister par1IconRegister) - { - super.registerIcons(par1IconRegister); - this.iconArray = new Icon[bowPullIconNameArray.length]; - - for (int i = 0; i < this.iconArray.length; ++i) - { - this.iconArray[i] = par1IconRegister.registerIcon("Atum:" + bowPullIconNameArray[i]); - } - } - - /** - * Player, Render pass, and item usage sensitive version of getIconIndex. - * - * @param stack The item stack to get the icon for. (Usually this, and usingItem will be the same if usingItem is not null) - * @param renderPass The pass to get the icon for, 0 is default. - * @param player The player holding the item - * @param usingItem The item the player is actively using. Can be null if not using anything. - * @param useRemaining The ticks remaining for the active item. - * @return The icon index - */ - @Override - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if(usingItem != null) - { - int j = getMaxItemUseDuration(stack) - useRemaining; - - if (j >= 27) - { - return getItemIconForUseDuration(2); - } - - if (j > 18) - { - return getItemIconForUseDuration(1); - } - - if (j > 0) - { - return getItemIconForUseDuration(0); - } - } - return getIcon(stack, renderPass); - } - - @SideOnly(Side.CLIENT) - @Override - public Icon getItemIconForUseDuration(int par1) - { - return this.iconArray[par1]; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemMonthusStrike.java b/common/rebelkeithy/mods/atum/artifacts/ItemMonthusStrike.java deleted file mode 100644 index 4e461c2..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemMonthusStrike.java +++ /dev/null @@ -1,176 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.particle.EntityCrit2FX; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; -import net.minecraft.item.ItemAxe; -import net.minecraft.item.ItemStack; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; - -import org.lwjgl.input.Keyboard; - -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemMonthusStrike extends ItemAxe -{ - - public ItemMonthusStrike(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } - - /** - * How long it takes to use or consume an item - */ - @Override - public int getMaxItemUseDuration(ItemStack par1ItemStack) - { - return 7200; - } - - /** - * returns the action that specifies what animation to play when the items is being used - */ - public EnumAction getItemUseAction(ItemStack par1ItemStack) - { - return EnumAction.bow; - } - - /** - * Called each tick as long the item is on a player inventory. Uses by maps to check if is on a player hand and - * update it's contents. - */ - public void onUpdate(ItemStack stack, World world, Entity player, int par4, boolean par5) - { - /* - if(world.isRemote) - { - Random rand = new Random(); - - int angle = 40; - double x = -MathHelper.sin((player.rotationYaw + angle) * (float)Math.PI / 180.0F) * 0.4; - double z = (double)(MathHelper.cos((player.rotationYaw + angle) * (float)Math.PI / 180.0F)) * 0.4; - world.spawnParticle("flame", player.posX+x, player.posY, player.posZ+z, 0.0, 0.0D, 0.0); - } - */ - } - - /** - * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount - */ - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPlayer player, int par4) - { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - //System.out.println("charge strength: " + j); - - if(j <= 21) - return; - - AxisAlignedBB bb = player.boundingBox.copy(); - bb = bb.expand(3, 3, 3); - - List list = world.getEntitiesWithinAABB(EntityLiving.class, bb); - - for(Entity entity : list) - { - if(entity != player && !(entity instanceof EntityStoneSoldier)) - { - double dx = entity.posX - player.posX; - double dz = entity.posZ - player.posZ; - double magnitude = Math.sqrt(dx*dx + dz*dz); - dx = dx/magnitude; - dz = dz/magnitude; - - entity.isAirBorne = true; - entity.addVelocity(dx*2.5, 0.3D, dz*2.5); - //entity.motionY += 2; - - if (entity.motionY > 0.4000000059604645D) - { - entity.motionY = 0.4000000059604645D; - } - - ((EntityLiving)entity).attackEntityFrom(DamageSource.generic, this.getDamageVsEntity(entity)); - - if(world.isRemote) - spawnParticle(world, entity); - } - } - - par1ItemStack.damageItem(4, player); - } - - @SideOnly(Side.CLIENT) - public void spawnParticle(World world, Entity entity) - { - Minecraft.getMinecraft().effectRenderer.addEffect(new EntityCrit2FX(world, entity)); - } - - /** - * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer - */ - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) - { - player.setItemInUse(stack, getMaxItemUseDuration(stack)); - - return stack; - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Slam I: Increased damage,"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "charge for AOE knockback"); - } else { - par3List.add("Slam I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - /** - * Returns the damage against a given entity. - */ - @Override - public int getDamageVsEntity(Entity par1Entity) - { - return 4 + toolMaterial.getDamageVsEntity(); - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemNeithsAudacity.java b/common/rebelkeithy/mods/atum/artifacts/ItemNeithsAudacity.java deleted file mode 100644 index 1172d22..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemNeithsAudacity.java +++ /dev/null @@ -1,273 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.EnumAction; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBow; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Icon; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.ArrowLooseEvent; -import net.minecraftforge.event.entity.player.ArrowNockEvent; - -import org.lwjgl.input.Keyboard; - -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowDoubleShot; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemNeithsAudacity extends ItemBow -{ - public static final String[] bowPullIconNameArray = new String[] {"neiths_pull_0", "neiths_pull_1", "neiths_pull_2"}; - @SideOnly(Side.CLIENT) - private Icon[] iconArray; - - public ItemNeithsAudacity(int par1) - { - super(par1); - this.maxStackSize = 1; - this.setMaxDamage(384); - this.setCreativeTab(CreativeTabs.tabCombat); - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Double Shot I: Fires "); - par3List.add(EnumChatFormatting.DARK_PURPLE + "two arrows"); - } else { - par3List.add("Slam I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - /** - * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount - */ - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) - { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - - ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); - MinecraftForge.EVENT_BUS.post(event); - if (event.isCanceled()) - { - return; - } - j = event.charge; - - boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - - if (flag || par3EntityPlayer.inventory.hasItemStack(new ItemStack(Item.arrow,2))) - { - float f = (float)j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - - if ((double)f < 0.1D) - { - return; - } - - if (f > 1.0F) - { - f = 1.0F; - } - - EntityArrowDoubleShot entityarrow = new EntityArrowDoubleShot(par2World, par3EntityPlayer, f * 2.0F); - EntityArrowDoubleShot entityarrow1 = new EntityArrowDoubleShot(par2World, par3EntityPlayer, f * 2.0F); - - entityarrow.motionX += Math.random() * 0.4 - 0.2; - entityarrow.motionY += Math.random() * 0.4 - 0.2; - entityarrow.motionZ += Math.random() * 0.4 - 0.2; - entityarrow1.motionX += Math.random() * 0.4 - 0.2; - entityarrow1.motionY += Math.random() * 0.4 - 0.2; - entityarrow1.motionZ += Math.random() * 0.4 - 0.2; - - entityarrow.setDamage(entityarrow.getDamage() + 0.5D); - entityarrow1.setDamage(entityarrow.getDamage() + 0.5D); - - if (f == 1.0F) - { - entityarrow.setIsCritical(true); - entityarrow1.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - - if (k > 0) - { - entityarrow.setDamage(entityarrow.getDamage() + (double)k * 0.5D + 0.5D); - entityarrow1.setDamage(entityarrow.getDamage() + (double)k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - - if (l > 0) - { - entityarrow.setKnockbackStrength(l); - entityarrow1.setKnockbackStrength(l); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) - { - entityarrow.setFire(100); - entityarrow1.setFire(100); - } - - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - - if (flag) - { - entityarrow.canBePickedUp = 2; - entityarrow1.canBePickedUp = 2; - } - else - { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - } - - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(entityarrow); - par2World.spawnEntityInWorld(entityarrow1); - } - } - } - - @Override - public ItemStack onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - return par1ItemStack; - } - - /** - * How long it takes to use or consume an item - */ - @Override - public int getMaxItemUseDuration(ItemStack par1ItemStack) - { - return 72000; - } - - /** - * returns the action that specifies what animation to play when the items is being used - */ - @Override - public EnumAction getItemUseAction(ItemStack par1ItemStack) - { - return EnumAction.bow; - } - - /** - * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer - */ - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - ArrowNockEvent event = new ArrowNockEvent(par3EntityPlayer, par1ItemStack); - MinecraftForge.EVENT_BUS.post(event); - if (event.isCanceled()) - { - return event.result; - } - - if (par3EntityPlayer.capabilities.isCreativeMode || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) - { - par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack)); - } - - return par1ItemStack; - } - - @Override - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, - ItemStack usingItem, int useRemaining) - { - if (usingItem != null) - { - int j = getMaxItemUseDuration(stack) - useRemaining; - - if (j >= 18) - { - return func_94599_c(2); - } - - if (j > 13) - { - return func_94599_c(1); - } - - if (j > 0) - { - return func_94599_c(0); - } - } - return getIcon(stack, renderPass); - } - - /** - * Return the enchantability factor of the item, most of the time is based on material. - */ - @Override - public int getItemEnchantability() - { - return 1; - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IconRegister par1IconRegister) - { - super.registerIcons(par1IconRegister); - this.iconArray = new Icon[bowPullIconNameArray.length]; - - for (int i = 0; i < this.iconArray.length; ++i) - { - this.iconArray[i] = par1IconRegister.registerIcon("Atum:" + bowPullIconNameArray[i]); - } - } - - @SideOnly(Side.CLIENT) - public Icon func_94599_c(int par1) - { - return this.iconArray[par1]; - } -} \ No newline at end of file diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemNusFlux.java b/common/rebelkeithy/mods/atum/artifacts/ItemNusFlux.java deleted file mode 100644 index e2a2731..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemNusFlux.java +++ /dev/null @@ -1,107 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.particle.EntityCrit2FX; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; - -import org.lwjgl.input.Keyboard; - -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemNusFlux extends ItemSword -{ - - public ItemNusFlux(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } - - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLiving entity, EntityLiving player) - { - if(!player.worldObj.isRemote && Math.random() > 0.75 && !(entity instanceof EntityStoneSoldier)) - { - double dx = entity.posX - player.posX; - double dz = entity.posZ - player.posZ; - double magnitude = Math.sqrt(dx*dx + dz*dz); - dx = dx/magnitude; - dz = dz/magnitude; - - entity.isAirBorne = true; - entity.addVelocity(dx/2.0, 1.5D, dz/2.0); - - if (entity.motionY > 1.0D) - { - entity.motionY = 1.0D; - } - - ((EntityLiving)entity).attackEntityFrom(DamageSource.generic, this.getDamageVsEntity(entity)); - - //Minecraft.getMinecraft().effectRenderer.addEffect(new EntityCrit2FX(player.worldObj, entity)); - - if(player.worldObj.isRemote) - { - this.spawnParticle(player.worldObj, entity); - } - } - - - return super.hitEntity(par1ItemStack, entity, player); - } - - @SideOnly(Side.CLIENT) - public void spawnParticle(World world, Entity entity) - { - Minecraft.getMinecraft().effectRenderer.addEffect(new EntityCrit2FX(world, entity)); - } - - @SideOnly(Side.CLIENT) - /** - * Return an item rarity from EnumRarity - */ - @Override - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Sweep I: Chance to launch"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "foes into the air"); - } else { - par3List.add("Sweep I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemNutsAgility.java b/common/rebelkeithy/mods/atum/artifacts/ItemNutsAgility.java deleted file mode 100644 index f9d2847..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemNutsAgility.java +++ /dev/null @@ -1,94 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import org.lwjgl.input.Keyboard; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StringTranslate; -import net.minecraft.world.World; -import net.minecraftforge.common.IArmorTextureProvider; - -public class ItemNutsAgility extends ItemArmor implements IArmorTextureProvider -{ - String texture; - - public ItemNutsAgility(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) - { - super(par1, par2EnumArmorMaterial, par3, par4); - } - - public void onArmorTickUpdate(World world, EntityPlayer player, ItemStack itemStack) - { - if(player.onGround) - { - if(player.inventory.armorInventory[1] != null) - { - if(player.inventory.armorInventory[1].itemID == this.itemID) - { - player.landMovementFactor *= 1.4; - //player.motionX *= 1.4; - //player.motionZ *= 1.4; - } - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Agility I: Increased run"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "and swinging speed"); - } else { - par3List.add("Agility I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - public Item setTextureFile(String string) - { - texture = string; - return this; - } - - @Override - public String getArmorTextureFile(ItemStack itemstack) - { - return "/armor/" + texture + ".png"; - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemNutsCall.java b/common/rebelkeithy/mods/atum/artifacts/ItemNutsCall.java deleted file mode 100644 index 177f282..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemNutsCall.java +++ /dev/null @@ -1,126 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import org.lwjgl.input.Keyboard; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import rebelkeithy.mods.atum.artifacts.arrow.EntityNutsCall; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; -import rebelkeithy.mods.atum.entities.projectiles.EntityFireSpearCombined; -import net.minecraft.client.Minecraft; -import net.minecraft.client.particle.EntityCrit2FX; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; - -public class ItemNutsCall extends Item -{ - - public ItemNutsCall(int par1) - { - super(par1); - this.setMaxDamage(650); - this.setMaxStackSize(1); - } - - /** - * How long it takes to use or consume an item - */ - @Override - public int getMaxItemUseDuration(ItemStack par1ItemStack) - { - return 7200; - } - - /** - * returns the action that specifies what animation to play when the items is being used - */ - public EnumAction getItemUseAction(ItemStack par1ItemStack) - { - return EnumAction.bow; - } - - @SideOnly(Side.CLIENT) - - /** - * Returns true if this item should be rotated by 180 degrees around the Y axis when being held in an entities - * hands. - */ - public boolean shouldRotateAroundWhenRendering() - { - return false; - } - - /** - * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount - */ - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPlayer player, int par4) - { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - System.out.println("charge strength: " + j); - - if(j > 21) - j = 21; - - EntityNutsCall spear = new EntityNutsCall(world, player, j/37.0F + 0.25F); - spear.setDamage(spear.getDamage() * 2F); - spear.setStack(par1ItemStack); - - if (!world.isRemote) - { - System.out.println("firing2"); - world.spawnEntityInWorld(spear); - world.updateEntity(spear); - } - - par1ItemStack.damageItem(4, player); - player.inventory.setInventorySlotContents(player.inventory.currentItem, null); - } - - /** - * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer - */ - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) - { - System.out.println("check"); - player.setItemInUse(stack, getMaxItemUseDuration(stack)); - - return stack; - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Wrath I: Chance to strike"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "foe with lightning"); - } else { - par3List.add("Wrath I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemOsirisWill.java b/common/rebelkeithy/mods/atum/artifacts/ItemOsirisWill.java deleted file mode 100644 index 27a25dc..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemOsirisWill.java +++ /dev/null @@ -1,92 +0,0 @@ - -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import net.minecraft.util.EnumChatFormatting; - -import org.lwjgl.input.Keyboard; - -import rebelkeithy.mods.atum.AtumItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemOsirisWill extends ItemSword -{ - - public ItemOsirisWill(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } - - /** - * Returns the damage against a given entity. - */ - public int getDamageVsEntity(Entity par1Entity) - { - int damage = 0; - for(int i = 0; i < 4; i++) - { - damage += Math.random() * 4 + 1; - } - return super.getDamageVsEntity(par1Entity) + damage; - } - - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLiving mob, EntityLiving player) - { - if(!mob.isEntityAlive()) - { - if(Math.random() < 0.5 && mob.getCreatureAttribute() == EnumCreatureAttribute.UNDEAD) - { - mob.dropItem(AtumItems.ectoplasm.itemID, 1); - } - } - return super.hitEntity(par1ItemStack, mob, player); - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Banish I: Bonus damage to undead,"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "chance to drop ectoplasm"); - } else { - par3List.add("Banish I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemPtahsDecadence.java b/common/rebelkeithy/mods/atum/artifacts/ItemPtahsDecadence.java deleted file mode 100644 index bd4389d..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemPtahsDecadence.java +++ /dev/null @@ -1,77 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; -import java.util.Random; - -import org.lwjgl.input.Keyboard; - -import net.minecraft.block.Block; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; -import net.minecraft.item.ItemPickaxe; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemPtahsDecadence extends ItemPickaxe -{ - - public ItemPtahsDecadence(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } - - public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, int blockID, int x, int y, int z, EntityLiving par7EntityLiving) - { - int dropID = Block.blocksList[blockID].idDropped(par2World.getBlockMetadata(x, y, z), new Random(), 0); - if(dropID == Item.diamond.itemID) - { - Block.oreDiamond.dropBlockAsItem(par2World, x, y, z, 0, 0); - } - - return super.onBlockDestroyed(par1ItemStack, par2World, blockID, x, y, z, par7EntityLiving); - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Wealth I: Gain an extra"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "diamond from each ore"); - } else { - par3List.add("Wealth I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemPtahsDestruction.java b/common/rebelkeithy/mods/atum/artifacts/ItemPtahsDestruction.java deleted file mode 100644 index 09fa6c1..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemPtahsDestruction.java +++ /dev/null @@ -1,78 +0,0 @@ - -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import org.lwjgl.input.Keyboard; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; -import net.minecraft.item.ItemPickaxe; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StringTranslate; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemPtahsDestruction extends ItemPickaxe -{ - - - public ItemPtahsDestruction(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - this.efficiencyOnProperMaterial = 11; - } - - @Override - public int getDamageVsEntity(Entity entity) - { - int dammage = 4 + toolMaterial.getDamageVsEntity(); - if(entity instanceof EntityStoneSoldier) - { - return (int) (dammage * (2 + Math.random())); - } - - return dammage; - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Stonecutter I: Incresed damage"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "to stone enemies"); - } else { - par3List.add("Stonecutter I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemRasGlory.java b/common/rebelkeithy/mods/atum/artifacts/ItemRasGlory.java deleted file mode 100644 index de7bab2..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemRasGlory.java +++ /dev/null @@ -1,79 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import org.lwjgl.input.Keyboard; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StringTranslate; -import net.minecraft.world.World; -import net.minecraftforge.common.IArmorTextureProvider; - -public class ItemRasGlory extends ItemArmor implements IArmorTextureProvider -{ - String texture; - - public ItemRasGlory(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) - { - super(par1, par2EnumArmorMaterial, par3, par4); - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Divine Vision I: Night vision, increased"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "range of vision in Atum"); - } else { - par3List.add("Divine Vision I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - - public Item setTextureFile(String string) - { - texture = string; - return this; - } - - @Override - public String getArmorTextureFile(ItemStack itemstack) - { - return "/armor/" + texture + ".png"; - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemSekhmetsWrath.java b/common/rebelkeithy/mods/atum/artifacts/ItemSekhmetsWrath.java deleted file mode 100644 index 03683b1..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemSekhmetsWrath.java +++ /dev/null @@ -1,123 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import org.lwjgl.input.Keyboard; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EntityDamageSource; -import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.common.IArmorTextureProvider; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.ForgeSubscribe; -import net.minecraftforge.event.entity.living.LivingAttackEvent; -import net.minecraftforge.event.entity.living.LivingHurtEvent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemSekhmetsWrath extends ItemArmor implements IArmorTextureProvider -{ - String texture; - - public ItemSekhmetsWrath(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) - { - super(par1, par2EnumArmorMaterial, par3, par4); - MinecraftForge.EVENT_BUS.register(this); - } - - @ForgeSubscribe - public void onLivingAttack(LivingAttackEvent event) - { - if(event.entityLiving.getCurrentArmor(2) != null) - { - if(event.entityLiving.getCurrentArmor(2).itemID == this.itemID) - { - if(event.source instanceof EntityDamageSource) - { - EntityDamageSource source = (EntityDamageSource) event.source; - if(source.getEntity() != null) - { - if(Math.random() > 0.5) - { - source.getEntity().setFire(10); - } - } - } - } - } - } - - @ForgeSubscribe - public void onLivingAttack(LivingHurtEvent event) - { - if(event.entityLiving.getCurrentArmor(2) != null) - { - if(event.entityLiving.getCurrentArmor(2).itemID == this.itemID) - { - if(event.source.isFireDamage()) - { - event.ammount = event.ammount / 2; - if(event.ammount == 0 && Math.random() > 0.5) - { - event.ammount = 1; - } - } - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Immolation I: Protection from fire,"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "chance to ignite attackers"); - } else { - par3List.add("Immolation I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - public Item setTextureFile(String string) - { - texture = string; - return this; - } - - @Override - public String getArmorTextureFile(ItemStack itemstack) - { - return "/armor/" + texture + ".png"; - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemShusBreath.java b/common/rebelkeithy/mods/atum/artifacts/ItemShusBreath.java deleted file mode 100644 index d2669aa..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemShusBreath.java +++ /dev/null @@ -1,207 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import org.lwjgl.input.Keyboard; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBow; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Icon; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.ArrowLooseEvent; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowQuickdraw; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemShusBreath extends ItemBow -{ - public static final String[] bowPullIconNameArray = new String[] {"ShusBreath_pull_0", "ShusBreath_pull_1", "ShusBreath_pull_2"}; - Icon[] iconArray; - - public ItemShusBreath(int par1) - { - super(par1); - this.setMaxDamage(650); - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - - /** - * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount - */ - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) - { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - j *= 2; - - ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); - MinecraftForge.EVENT_BUS.post(event); - if (event.isCanceled()) - { - return; - } - j = event.charge; - - boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - - if (flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) - { - float f = (float)j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - - if ((double)f < 0.1D) - { - return; - } - - if (f > 1.0F) - { - f = 1.0F; - } - - EntityArrowQuickdraw entityarrow = new EntityArrowQuickdraw(par2World, par3EntityPlayer, f * 2.0F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5F); - - if (f == 1.0F) - { - entityarrow.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - - if (k > 0) - { - entityarrow.setDamage(entityarrow.getDamage() + (double)k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - - if (l > 0) - { - entityarrow.setKnockbackStrength(l); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) - { - entityarrow.setFire(100); - } - - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - - if (flag) - { - entityarrow.canBePickedUp = 2; - } - else - { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - } - - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(entityarrow); - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Quickdraw I: Reduced"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "drawback speed"); - } else { - par3List.add("Quickdraw I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IconRegister par1IconRegister) - { - super.registerIcons(par1IconRegister); - this.iconArray = new Icon[bowPullIconNameArray.length]; - - for (int i = 0; i < this.iconArray.length; ++i) - { - this.iconArray[i] = par1IconRegister.registerIcon("Atum:" + bowPullIconNameArray[i]); - } - } - - /** - * Player, Render pass, and item usage sensitive version of getIconIndex. - * - * @param stack The item stack to get the icon for. (Usually this, and usingItem will be the same if usingItem is not null) - * @param renderPass The pass to get the icon for, 0 is default. - * @param player The player holding the item - * @param usingItem The item the player is actively using. Can be null if not using anything. - * @param useRemaining The ticks remaining for the active item. - * @return The icon index - */ - @Override - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if(usingItem != null) - { - int j = getMaxItemUseDuration(stack) - useRemaining; - - if (j >= 9) - { - return getItemIconForUseDuration(2); - } - - if (j > 5) - { - return getItemIconForUseDuration(1); - } - - if (j > 0) - { - return getItemIconForUseDuration(0); - } - } - return getIcon(stack, renderPass); - } - - @SideOnly(Side.CLIENT) - @Override - public Icon getItemIconForUseDuration(int par1) - { - return this.iconArray[par1]; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemSobeksRage.java b/common/rebelkeithy/mods/atum/artifacts/ItemSobeksRage.java deleted file mode 100644 index 2eb2253..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemSobeksRage.java +++ /dev/null @@ -1,87 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; -import net.minecraft.item.ItemAxe; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.MathHelper; - -import org.lwjgl.input.Keyboard; - -import rebelkeithy.mods.atum.entities.EntityPharaoh; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemSobeksRage extends ItemAxe -{ - - public ItemSobeksRage(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } - - /** - * Returns the damage against a given entity. - */ - @Override - public int getDamageVsEntity(Entity par1Entity) - { - return 4 + toolMaterial.getDamageVsEntity(); - } - - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLiving mob, EntityLiving player) - { - if(!(mob instanceof EntityStoneSoldier || mob instanceof EntityPharaoh)) - { - float j = 4; - mob.addVelocity((double)(-MathHelper.sin(player.rotationYaw * (float)Math.PI / 180.0F) * (float)j * 0.5F), 0.1D, (double)(MathHelper.cos(player.rotationYaw * (float)Math.PI / 180.0F) * (float)j * 0.5F)); - } - return super.hitEntity(par1ItemStack, mob, player); - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Exile I: Knocks foes "); - par3List.add(EnumChatFormatting.DARK_PURPLE + "back a large amount"); - } else { - par3List.add("Exile I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemSpear.java b/common/rebelkeithy/mods/atum/artifacts/ItemSpear.java deleted file mode 100644 index 3322e5e..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemSpear.java +++ /dev/null @@ -1,50 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.entities.projectiles.EntityFireSpearCombined; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemSpear extends Item -{ - - public ItemSpear(int par1) { - super(par1); - // TODO Auto-generated constructor stub - } - - - /** - * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer - */ - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - - EntityFireSpearCombined entityarrow = new EntityFireSpearCombined(par2World, par3EntityPlayer, 0.75F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5F); - - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(entityarrow); - par2World.updateEntity(entityarrow); - } - - return par1ItemStack; - } - - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IconRegister par1IconRegister) - { - super.registerIcons(par1IconRegister); - this.itemIcon = par1IconRegister.registerIcon("Atum:Arrow"); - } - -} diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/CustomArrow.java b/common/rebelkeithy/mods/atum/artifacts/arrow/CustomArrow.java deleted file mode 100644 index 7bc51af..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/CustomArrow.java +++ /dev/null @@ -1,42 +0,0 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import net.minecraft.entity.Entity; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; - - -public class CustomArrow extends Entity -{ - - float arrowShake = 0; - - public CustomArrow(World par1World) - { - super(par1World); - } - - @Override - protected void entityInit() - { - - } - - - public String getTexture() - { - return "/item/arrows.png"; - } - - @Override - protected void readEntityFromNBT(NBTTagCompound nbttagcompound) - { - super.readFromNBT(nbttagcompound); - } - - @Override - protected void writeEntityToNBT(NBTTagCompound nbttagcompound) - { - super.writeToNBT(nbttagcompound); - } - -} diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/RenderNutsCall.java b/common/rebelkeithy/mods/atum/artifacts/arrow/RenderNutsCall.java deleted file mode 100644 index 00afb95..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/RenderNutsCall.java +++ /dev/null @@ -1,99 +0,0 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.MathHelper; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class RenderNutsCall extends Render -{ - public void renderArrow(CustomArrow par1EntityFireSpearCombined, double par2, double par4, double par6, float par8, float par9) - { - this.loadTexture("/mods/Atum/textures/projectiles/nutscall.png"); - GL11.glPushMatrix(); - GL11.glTranslatef((float)par2, (float)par4, (float)par6); - GL11.glRotatef(par1EntityFireSpearCombined.prevRotationYaw + (par1EntityFireSpearCombined.rotationYaw - par1EntityFireSpearCombined.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(par1EntityFireSpearCombined.prevRotationPitch + (par1EntityFireSpearCombined.rotationPitch - par1EntityFireSpearCombined.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F); - Tessellator tessellator = Tessellator.instance; - byte b0 = 0; - float f2 = 0.0F; - float f3 = 0.5F; - float f4 = (float)(0 + b0 * 10) / 32.0F; - float f5 = (float)(5 + b0 * 10) / 32.0F; - float f6 = 0.0F; - float f7 = 0.15625F; - float f8 = (float)(5 + b0 * 10) / 32.0F; - float f9 = (float)(10 + b0 * 10) / 32.0F; - float f10 = 0.15625F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f11 = (float)par1EntityFireSpearCombined.arrowShake - par9; - - if (f11 > 0.0F) - { - float f12 = -MathHelper.sin(f11 * 3.0F) * f11; - GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); - } - - //GL11.glTranslatef(0.0F, 0.5F, 0.5F); - //GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - GL11.glScalef(2f, 1.5f, 1.5f); - GL11.glTranslatef(-0.85F, 0.0F, 0.0F); - GL11.glNormal3f(f10, 0.0F, 0.0F); - /* - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f9); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f9); - tessellator.draw(); - GL11.glNormal3f(-f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f9); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f9); - tessellator.draw(); - */ - - ItemRenderer.renderItemIn2D(tessellator, -1f, -10/32.0f, -5/32.0f, 12/32.0f, 32, 32*32, 0.0625F); - //ItemRenderer.renderItemIn2D(tessellator, -1f, 0.0f, 0.0f, 1f, 32, 32, 0.0625F); - /* - for (int i = 0; i < 2; ++i) - { - //GL11.glDepthFunc(GL11.GL_EQUAL); - //GL11.glDisable(GL11.GL_LIGHTING); - GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); - GL11.glNormal3f(0.0F, 0.0F, f10); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-27.0D, -9.0D, 0.0D, (double)0, (double)0); - tessellator.addVertexWithUV(27.0D, -9.0D, 0.0D, (double)27/32.0d, (double)0); - tessellator.addVertexWithUV(27.0D, 9.0D, 0.0D, (double)27/32.0d, (double)9/32.0); - tessellator.addVertexWithUV(-27.0D, 9.0D, 0.0D, (double)0, (double)9/32.0); - tessellator.draw(); - - //GL11.glEnable(GL11.GL_LIGHTING); - }*/ - - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - } - - /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then - * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic - * (Render> 16; - j1 += (j2 & 65280) >> 8; - k1 += j2 & 255; - } - } - - return (i1 / 9 & 255) << 16 | (j1 / 9 & 255) << 8 | k1 / 9 & 255; - } - - /** - * 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, int par5, int par6) - { - byte b0 = 1; - int j1 = b0 + 1; - - if (par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) - { - for (int k1 = -b0; k1 <= b0; ++k1) - { - for (int l1 = -b0; l1 <= b0; ++l1) - { - for (int i2 = -b0; i2 <= b0; ++i2) - { - int j2 = par1World.getBlockId(par2 + k1, par3 + l1, par4 + i2); - - if (Block.blocksList[j2] != null) - { - Block.blocksList[j2].beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); - } - } - } - } - } - } - - /** - * Ticks the block if it's been scheduled - */ - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - if (!par1World.isRemote) - { - int l = par1World.getBlockMetadata(par2, par3, par4); - - if ((l & 8) != 0 && (l & 4) == 0) - { - byte b0 = 4; - int i1 = b0 + 1; - byte b1 = 32; - int j1 = b1 * b1; - int k1 = b1 / 2; - - if (this.adjacentTreeBlocks == null) - { - this.adjacentTreeBlocks = new int[b1 * b1 * b1]; - } - - int l1; - - if (par1World.checkChunksExist(par2 - i1, par3 - i1, par4 - i1, par2 + i1, par3 + i1, par4 + i1)) - { - int i2; - int j2; - int k2; - - for (l1 = -b0; l1 <= b0; ++l1) - { - for (i2 = -b0; i2 <= b0; ++i2) - { - for (j2 = -b0; j2 <= b0; ++j2) - { - k2 = par1World.getBlockId(par2 + l1, par3 + i2, par4 + j2); - - Block block = Block.blocksList[k2]; - - if (block != null && block.canSustainLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) - { - this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = 0; - } - else if (block != null && block.isLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) - { - this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -2; - } - else - { - this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -1; - } - } - } - } - - for (l1 = 1; l1 <= 4; ++l1) - { - for (i2 = -b0; i2 <= b0; ++i2) - { - for (j2 = -b0; j2 <= b0; ++j2) - { - for (k2 = -b0; k2 <= b0; ++k2) - { - if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1] == l1 - 1) - { - if (this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) - { - this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; - } - - if (this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) - { - this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; - } - - if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] == -2) - { - this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] = l1; - } - - if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] == -2) - { - this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] = l1; - } - - if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] == -2) - { - this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] = l1; - } - - if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] == -2) - { - this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] = l1; - } - } - } - } - } - } - } - - l1 = this.adjacentTreeBlocks[k1 * j1 + k1 * b1 + k1]; - - if (l1 >= 0) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, l & -9, 4); - } - else - { - this.removeLeaves(par1World, par2, par3, par4); - } - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * A randomly called display update to be able to add particles or other items for display - */ - @Override - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - if (par1World.canLightningStrikeAt(par2, par3 + 1, par4) && !par1World.doesBlockHaveSolidTopSurface(par2, par3 - 1, par4) && par5Random.nextInt(15) == 1) - { - double d0 = (double)((float)par2 + par5Random.nextFloat()); - double d1 = (double)par3 - 0.05D; - double d2 = (double)((float)par4 + par5Random.nextFloat()); - par1World.spawnParticle("dripWater", d0, d1, d2, 0.0D, 0.0D, 0.0D); - } - } - - private void removeLeaves(World par1World, int par2, int par3, int par4) - { - this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0); - par1World.setBlockToAir(par2, par3, par4); - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - @Override - public int quantityDropped(Random par1Random) - { - return par1Random.nextInt(20) == 0 ? 1 : 0; - } - - /** - * Returns the ID of the items to drop on destruction. - */ - @Override - public int idDropped(int par1, Random par2Random, int par3) - { - return AtumBlocks.palmSapling.blockID;//Block.sapling.blockID; - } - - /** - * Drops the block items with a specified chance of dropping the specified items - */ - @Override - public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) - { - if (!par1World.isRemote) - { - int j1 = 20; - - if ((par5 & 3) == 3) - { - j1 = 40; - } - - if (par7 > 0) - { - j1 -= 2 << par7; - - if (j1 < 10) - { - j1 = 10; - } - } - - if (par1World.rand.nextInt(j1) == 0) - { - int k1 = this.idDropped(par5, par1World.rand, par7); - this.dropBlockAsItem_do(par1World, par2, par3, par4, new ItemStack(k1, 1, this.damageDropped(par5))); - } - } - } - - /** - * Called when the player destroys a block with an item that can harvest it. (i, j, k) are the coordinates of the - * block and l is the block's subtype/damage. - */ - @Override - public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) - { - super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); - } - - /** - * Determines the damage on the item the block drops. Used in cloth and wood. - */ - @Override - public int damageDropped(int par1) - { - return par1 & 3; - } - - /** - * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two - * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block. - */ - @Override - public boolean isOpaqueCube() - { - return false; - } - - @SideOnly(Side.CLIENT) - - /** - * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata - */ - @Override - public Icon getIcon(int par1, int par2) - { - return icon; - } - - @SideOnly(Side.CLIENT) - - /** - * Pass true to draw this block using fancy graphics, or false for fast graphics. - */ - public void setGraphicsLevel(boolean par1) - { - this.graphicsLevel = par1; - this.graphicFlag = par1 ? 0 : 1; - } - - /** - * Returns an item stack containing a single instance of the current block type. 'i' is the block's subtype/damage - * and is ignored for blocks which do not support subtypes. Blocks which cannot be harvested should return null. - */ - @Override - protected ItemStack createStackedBlock(int par1) - { - return new ItemStack(this.blockID, 1, par1 & 3); - } - - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) - { - icon = par1IconRegister.registerIcon("Atum:AtumLeaves"); - /*for (int i = 0; i < field_94396_b.length; ++i) - { - this.iconArray[i] = new Icon[field_94396_b[i].length]; - - for (int j = 0; j < field_94396_b[i].length; ++j) - { - this.iconArray[i][j] = par1IconRegister.registerIcon(field_94396_b[i][j]); - } - }*/ - } - - @Override - public boolean isShearable(ItemStack item, World world, int x, int y, int z) - { - return true; - } - - @Override - public ArrayList onSheared(ItemStack item, World world, int x, int y, int z, int fortune) - { - ArrayList ret = new ArrayList(); - ret.add(new ItemStack(this, 1, world.getBlockMetadata(x, y, z) & 3)); - return ret; - } - - @Override - public void beginLeavesDecay(World world, int x, int y, int z) - { - world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z) | 8, 4); - } - - @Override - public boolean isLeaves(World world, int x, int y, int z) - { - return true; - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumPane.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumPane.java deleted file mode 100644 index a17122e..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumPane.java +++ /dev/null @@ -1,14 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import net.minecraft.block.BlockPane; -import net.minecraft.block.material.Material; - -public class BlockAtumPane extends BlockPane -{ - - public BlockAtumPane(int par1, String par2Str, String par3Str, Material par4Material, boolean par5) - { - super(par1, par2Str, par3Str, par4Material, par5); - } - -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumPortal.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumPortal.java deleted file mode 100644 index 2cf281d..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumPortal.java +++ /dev/null @@ -1,380 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockBreakable; -import net.minecraft.block.material.Material; -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraft.world.WorldServer; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumTeleporter; -import rebelkeithy.mods.atum.AtumConfig; -import rebelkeithy.mods.atum.TickHandler; -import rebelkeithy.mods.particleregistry.ParticleRegistry; -import cpw.mods.fml.common.ObfuscationReflectionHelper; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockAtumPortal extends BlockBreakable -{ - public BlockAtumPortal(int par1) - { - super(par1, "Atum:portal", Material.portal, false); - setTickRandomly(true); - setHardness(-1f); - } - - /** - * Ticks the block if it's been scheduled - */ - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - super.updateTick(par1World, par2, par3, par4, par5Random); - - if (par1World.provider.isSurfaceWorld() && par5Random.nextInt(2000) < par1World.difficultySetting) - { - /* - int l; - - for (l = par3; !par1World.doesBlockHaveSolidTopSurface(par2, l, par4) && l > 0; --l) - { - ; - } - - if (l > 0 && !par1World.isBlockNormalCube(par2, l + 1, par4)) - { - Entity entity = ItemMonsterPlacer.spawnCreature(par1World, 57, (double)par2 + 0.5D, (double)l + 1.1D, (double)par4 + 0.5D); - - if (entity != null) - { - entity.timeUntilPortal = entity.getPortalCooldown(); - } - } - */ - } - } - - /** - * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been - * cleared to be reused) - */ - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) - { - return null; - } - - /** - * Updates the blocks bounds based on its current state. Args: world, x, y, z - */ - @Override - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) - { - float f; - float f1; - /* - if (par1IBlockAccess.getBlockId(par2 - 1, par3, par4) != this.blockID && par1IBlockAccess.getBlockId(par2 + 1, par3, par4) != this.blockID) - { - f = 0.125F; - f1 = 0.5F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f1, 0.5F + f, 1.0F, 0.5F + f1); - } - else - { - f = 0.5F; - f1 = 0.125F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f1, 0.5F + f, 1.0F, 0.5F + f1); - }*/ - } - - /** - * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two - * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block. - */ - @Override - public boolean isOpaqueCube() - { - return false; - } - - /** - * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc) - */ - @Override - public boolean renderAsNormalBlock() - { - return true; - } - - /** - * Checks to see if this location is valid to create a portal and will return True if it does. Args: world, x, y, z - */ - public boolean tryToCreatePortal(World par1World, int par2, int par3, int par4) - { - - int id0 = par1World.getBlockId(par2, par3-1, par4); - int id1 = par1World.getBlockId(par2 - 2, par3 + 0, par4); - int id2 = par1World.getBlockId(par2 - 2, par3 + 1, par4); - int id3 = par1World.getBlockId(par2, par3 + 0, par4 - 2); - int id4 = par1World.getBlockId(par2, par3 + 1, par4 - 2); - int id5 = par1World.getBlockId(par2, par3 + 0, par4 + 2); - int id6 = par1World.getBlockId(par2, par3 + 1, par4 + 2); - int id7 = par1World.getBlockId(par2 + 2, par3 + 0, par4); - int id8 = par1World.getBlockId(par2 + 2, par3 + 1, par4); - int id9 = par1World.getBlockId(par2 - 1, par3 + 2, par4); - int id10 = par1World.getBlockId(par2, par3 + 2, par4 - 1); - int id11 = par1World.getBlockId(par2, par3 + 2, par4 + 1); - int id12 = par1World.getBlockId(par2 + 1, par3 + 2, par4); - - if(id1 == id2 && id2 == id3 && id3 == id4 && id4 == id5 && id6 == id7 && id7 == id8 && id8 == id9 && id9 == id10 && id10 == id11 && id11 == id12 && id12 == Block.sandStone.blockID) - { - par1World.setBlock(par2, par3, par4, AtumBlocks.portal.blockID, 0, 2); - par1World.setBlock(par2, par3 + 1, par4, AtumBlocks.portal.blockID, 0, 2); - par1World.setBlock(par2, par3 + 2, par4, AtumBlocks.portal.blockID, 0, 2); - return true; - } - - return false; - } - - /** - * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are - * their own) Args: x, y, z, neighbor blockID - */ - @Override - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) - { - byte b0 = 0; - byte b1 = 1; - - if (par1World.getBlockId(par2 - 1, par3, par4) == this.blockID || par1World.getBlockId(par2 + 1, par3, par4) == this.blockID) - { - b0 = 1; - b1 = 0; - } - - int i1; - - for (i1 = par3; par1World.getBlockId(par2, i1 - 1, par4) == this.blockID; --i1) - { - ; - } - - if (par1World.getBlockId(par2, i1 - 1, par4) != Block.sandStone.blockID) - { - par1World.setBlockToAir(par2, par3, par4); - } - else - { - int j1; - - for (j1 = 1; j1 < 4 && par1World.getBlockId(par2, i1 + j1, par4) == this.blockID; ++j1) - { - ; - } - - if (j1 == 3 && par1World.getBlockId(par2, i1 + j1, par4) == Block.sandStone.blockID) - { - boolean flag = par1World.getBlockId(par2 - 1, par3, par4) == this.blockID || par1World.getBlockId(par2 + 1, par3, par4) == this.blockID; - boolean flag1 = par1World.getBlockId(par2, par3, par4 - 1) == this.blockID || par1World.getBlockId(par2, par3, par4 + 1) == this.blockID; - - if (flag && flag1) - { - par1World.setBlockToAir(par2, par3, par4); - } - else - { - if ((par1World.getBlockId(par2 + b0, par3, par4 + b1) != Block.sandStone.blockID || par1World.getBlockId(par2 - b0, par3, par4 - b1) != this.blockID) && (par1World.getBlockId(par2 - b0, par3, par4 - b1) != Block.sandStone.blockID || par1World.getBlockId(par2 + b0, par3, par4 + b1) != this.blockID)) - { - par1World.setBlockToAir(par2, par3, par4); - } - } - } - else - { - par1World.setBlockToAir(par2, par3, par4); - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Returns true if the given side of this block type should be rendered, if the adjacent block is at the given - * coordinates. Args: blockAccess, x, y, z, side - */ - @Override - public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) - { - if (par1IBlockAccess.getBlockId(par2, par3, par4) == this.blockID) - { - return false; - } - else - { - boolean flag = par1IBlockAccess.getBlockId(par2 - 1, par3, par4) == this.blockID && par1IBlockAccess.getBlockId(par2 - 2, par3, par4) != this.blockID; - boolean flag1 = par1IBlockAccess.getBlockId(par2 + 1, par3, par4) == this.blockID && par1IBlockAccess.getBlockId(par2 + 2, par3, par4) != this.blockID; - boolean flag2 = par1IBlockAccess.getBlockId(par2, par3, par4 - 1) == this.blockID && par1IBlockAccess.getBlockId(par2, par3, par4 - 2) != this.blockID; - boolean flag3 = par1IBlockAccess.getBlockId(par2, par3, par4 + 1) == this.blockID && par1IBlockAccess.getBlockId(par2, par3, par4 + 2) != this.blockID; - boolean flag4 = flag || flag1; - boolean flag5 = flag2 || flag3; - return flag4 && par5 == 4 ? true : (flag4 && par5 == 5 ? true : (flag5 && par5 == 2 ? true : flag5 && par5 == 3)); - } - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - @Override - public int quantityDropped(Random par1Random) - { - return 0; - } - - /** - * Triggered whenever an entity collides with this block (enters into the block). Args: world, x, y, z, entity - */ - @Override - public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity) - { - if (par5Entity.ridingEntity == null && par5Entity.riddenByEntity == null) - { - if(par5Entity instanceof EntityPlayerMP) - { - EntityPlayer player = (EntityPlayerMP) par5Entity; - //par5Entity.setInPortal(); - //if(par5Entity.getPortalCooldown() == 0) - //if(Math.random() > 0.999) - - if(par5Entity.timeUntilPortal == 0 && par5Entity instanceof EntityPlayerMP) - { - par5Entity.timeUntilPortal = 100; - MinecraftServer minecraftserver = MinecraftServer.getServer(); - int dimID = par5Entity.dimension; - WorldServer worldserver = minecraftserver.worldServerForDimension(0); - WorldServer worldserver1 = minecraftserver.worldServerForDimension(AtumConfig.dimensionID); - if(dimID == AtumConfig.dimensionID) - { - minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, 0, new AtumTeleporter(worldserver)); - if(par1World.isRemote) - Minecraft.getMinecraft().gameSettings.renderDistance = TickHandler.defaultFog; - //par5Entity.travelToDimension(0); - } else { - minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, AtumConfig.dimensionID, new AtumTeleporter(worldserver1)); - //par5Entity.travelToDimension(Atum.dimensionID); - } - //par5Entity.travelToDimension(Atum.dimensionID); - try - { - EntityPlayerMP p = (EntityPlayerMP)player; - - ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, p, -1, "lastExperience", "cp", "field_71144_ck"); - ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, p, -1, "lastHealth", "cm", "field_71149_ch"); - ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, p, -1, "lastFoodLevel", "cn", "field_71146_ci"); - // Access lastExperience - /* - Field lastExperience = EntityPlayerMP.class.getField("field_71144_ck"); - lastExperience.setAccessible(true); - lastExperience.set(p, -1); - lastExperience.setAccessible(false); - - - // Access lastHealth - /* - System.out.println(Arrays.toString(p.getClass().getDeclaredFields())); - Field lastHealth = EntityPlayerMP.class.getField("lastHealth"); - - lastHealth.setAccessible(true); - lastHealth.set(p, -1); - lastHealth.setAccessible(false); - - p.lastHealth = -1; - - Field lastFoodLevel = p.getClass().getField("lastFoodLevel"); - lastFoodLevel.setAccessible(true); - lastFoodLevel.set(p, -1); - lastFoodLevel.setAccessible(false); - */ - } - catch (Exception e) - { - e.printStackTrace(); - } - } - - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Returns which pass should this block be rendered on. 0 for solids and 1 for alpha - */ - @Override - public int getRenderBlockPass() - { - return 1; - } - - @SideOnly(Side.CLIENT) - - /** - * A randomly called display update to be able to add particles or other items for display - */ - @Override - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - if (par5Random.nextInt(100) == 0) - { - par1World.playSound((double)par2 + 0.5D, (double)par3 + 0.5D, (double)par4 + 0.5D, "portal.portal", 0.5F, par5Random.nextFloat() * 0.4F + 0.8F, false); - } - - for (int l = 0; l < 8; ++l) - { - double d0 = (double)((float)par2 + par5Random.nextFloat()); - double d1 = (double)((float)par3 + par5Random.nextFloat()); - double d2 = (double)((float)par4 + par5Random.nextFloat()); - double d3 = 0.0D; - double d4 = 0.0D; - double d5 = 0.0D; - int i1 = par5Random.nextInt(2) * 2 - 1; - d3 = ((double)par5Random.nextFloat() - 0.5D) * 0.5D; - d4 = ((double)par5Random.nextFloat() - 0.5D) * 0.5D; - d5 = ((double)par5Random.nextFloat() - 0.5D) * 0.5D; - - if (par5Random.nextDouble() > 0.5D) - { - d0 = (double)par2 + 0.5D + 0.25D * (double)i1; - d3 = (double)(par5Random.nextFloat() * 2.0F * (float)i1); - } - else - { - d2 = (double)par4 + 0.5D + 0.25D * (double)i1; - d5 = (double)(par5Random.nextFloat() * 2.0F * (float)i1); - } - - ParticleRegistry.spawnParticle("sandportal", par1World, d0, d1, d2, d3, d4, d5); - } - } - - @SideOnly(Side.CLIENT) - - /** - * only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem (along with isCreative) - */ - @Override - public int idPicked(World par1World, int par2, int par3, int par4) - { - return 0; - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumSand.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumSand.java deleted file mode 100644 index fa08b99..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumSand.java +++ /dev/null @@ -1,13 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import net.minecraft.block.BlockSand; - -public class BlockAtumSand extends BlockSand -{ - - public BlockAtumSand(int par1) - { - super(par1); - } - -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumSlab.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumSlab.java deleted file mode 100644 index c45ed37..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumSlab.java +++ /dev/null @@ -1,110 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import java.util.List; -import java.util.Random; - -import net.minecraft.block.BlockHalfSlab; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import rebelkeithy.mods.atum.AtumBlocks; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockAtumSlab extends BlockHalfSlab -{ - /** The type of tree this slab came from. */ - public static final String[] slabType = new String[] {"smooth", "cracked", "largeBrick", "smallBrick"}; - - public BlockAtumSlab(int par1, boolean par2, Material mat) - { - super(par1, par2, mat); - } - - @SideOnly(Side.CLIENT) - - /** - * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata - */ - @Override - public Icon getIcon(int par1, int par2) - { - par2 = par2%4; - if(par2 == 0) - return AtumBlocks.stone.getIcon(par1, par2 & 7); - else if(par2 == 1) - return AtumBlocks.cobble.getIcon(par1, par2 & 7); - else if(par2 == 2) - return AtumBlocks.largeBrick.getIcon(par1, par2 & 7); - - return AtumBlocks.smallBrick.getIcon(par1, par2 & 7); - - } - - /** - * Returns the ID of the items to drop on destruction. - */ - @Override - public int idDropped(int par1, Random par2Random, int par3) - { - return AtumBlocks.slabs.blockID; - } - - /** - * Returns an item stack containing a single instance of the current block type. 'i' is the block's subtype/damage - * and is ignored for blocks which do not support subtypes. Blocks which cannot be harvested should return null. - */ - @Override - protected ItemStack createStackedBlock(int par1) - { - return new ItemStack(AtumBlocks.slabs.blockID, 2, par1 & 7); - } - - /** - * Returns the slab block name with step type. - */ - @Override - public String getFullSlabName(int par1) - { - if (par1 < 0 || par1 >= slabType.length) - { - par1 = 0; - } - - return super.getUnlocalizedName() + "." + slabType[par1]; - } - - @SideOnly(Side.CLIENT) - - /** - * returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks) - */ - @Override -// public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List) -// { -// if (par1 != Atum.atumSlabs.blockID) -// { -// for (int j = 0; j < 4; ++j) -// { -// par3List.add(new ItemStack(par1, 1, j)); -// } -// } -// } - - public void getSubBlocks(int par1, CreativeTabs tab, List subItems) { - for (int i = 0; i < 4; i++) { - subItems.add(new ItemStack(this, 1, i)); - } - } - - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) {} -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumStairs.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumStairs.java deleted file mode 100644 index d87b6ca..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumStairs.java +++ /dev/null @@ -1,13 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockStairs; - -public class BlockAtumStairs extends BlockStairs -{ - - public BlockAtumStairs(int par1, Block par2Block, int par3) { - super(par1, par2Block, par3); - // TODO Auto-generated constructor stub - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumWall.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumWall.java deleted file mode 100644 index ccc3186..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumWall.java +++ /dev/null @@ -1,57 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockWall; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import net.minecraft.world.World; -import net.minecraftforge.common.ForgeDirection; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockAtumWall extends BlockWall -{ - @SideOnly(Side.CLIENT) - private Icon icon[]; - - public BlockAtumWall(int par1, Block par2Block) - { - super(par1, par2Block); - } - - @Override - public Icon getIcon(int side, int meta) - { - return icon[meta]; - } - - @Override - public boolean isBlockSolidOnSide(World world, int x, int y, int z, ForgeDirection side) - { - return side == ForgeDirection.UP; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister iconRegister) - { - icon = new Icon[4]; - icon[0] = iconRegister.registerIcon("Atum:AtumStone"); - icon[1] = iconRegister.registerIcon("Atum:AtumCobble"); - icon[2] = iconRegister.registerIcon("Atum:AtumBrickLarge"); - icon[3] = iconRegister.registerIcon("Atum:AtumBrickSmall"); - } - - @Override - public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List) - { - par3List.add(new ItemStack(par1, 1, 0)); - par3List.add(new ItemStack(par1, 1, 1)); - par3List.add(new ItemStack(par1, 1, 2)); - par3List.add(new ItemStack(par1, 1, 3)); - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumWorld.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumWorld.java deleted file mode 100644 index bc136b5..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumWorld.java +++ /dev/null @@ -1,90 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import java.util.List; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; - -public class BlockAtumWorld extends Block -{ - @SideOnly(Side.CLIENT) - private Icon[] iconArray; - - public BlockAtumWorld(int par1) - { - super(par1, Material.rock); - } - - @SideOnly(Side.CLIENT) - - /** - * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata - */ - @Override - public Icon getIcon(int par1, int par2) - { - return this.iconArray[par2 % this.iconArray.length]; - } - - /** - * Determines the damage on the item the block drops. Used in cloth and wood. - */ - @Override - public int damageDropped(int par1) - { - if(par1 == 0) - return 1; - - return par1; - } - - @SideOnly(Side.CLIENT) - - /** - * returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks) - */ - @Override - public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List) - { - for (int j = 0; j < 13; ++j) - { - par3List.add(new ItemStack(par1, 1, j)); - } - } - - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) - { - this.iconArray = new Icon[16]; - - for (int i = 0; i < this.iconArray.length; ++i) - { - this.iconArray[i] = par1IconRegister.registerIcon("cloth_" + i); - } - - iconArray[0] = par1IconRegister.registerIcon("Atum:AtumStone"); - iconArray[0] = par1IconRegister.registerIcon("Atum:AtumCobble"); - iconArray[0] = par1IconRegister.registerIcon("Atum:AtumBrickLarge"); - iconArray[0] = par1IconRegister.registerIcon("Atum:AtumBrickSmall"); - iconArray[0] = par1IconRegister.registerIcon("Atum:AtumBrickCarved"); - iconArray[0] = par1IconRegister.registerIcon("Atum:AtumStone"); - iconArray[0] = par1IconRegister.registerIcon("Atum:AtumStone"); - iconArray[0] = par1IconRegister.registerIcon("Atum:AtumCobble"); - iconArray[0] = par1IconRegister.registerIcon("Atum:AtumCobble"); - } - - - -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockDate.java b/common/rebelkeithy/mods/atum/blocks/BlockDate.java deleted file mode 100644 index ed691f8..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockDate.java +++ /dev/null @@ -1,89 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumItems; -import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockDate extends Block -{ - public int renderID = RenderingRegistry.getNextAvailableRenderId(); - - public BlockDate(int id, Material material) - { - super(id, material); - } - - /** - * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two - * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block. - */ - @Override - public boolean isOpaqueCube() - { - return false; - } - - /** - * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc) - */ - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - /** - * The type of render function that is called for this block - */ - @Override - public int getRenderType() - { - return renderID; - } - - @Override - public void onNeighborBlockChange(World world, int x, int y, int z, int neighborID) - { - if (world.getBlockId(x, y + 1, z) != AtumBlocks.leaves.blockID) - { - if (!world.isRemote) - { - EntityItem entityItem = new EntityItem(world, x, y, z, new ItemStack(AtumItems.date.itemID, 0, quantityDropped(new Random()))); - entityItem.dropItem(AtumItems.date.itemID, quantityDropped(new Random())); - world.setBlockToAir(x, y, z); - } - } - } - - @Override - public int idDropped(int par1, Random rand, int par3) - { - return AtumItems.date.itemID; - } - - @Override - public int quantityDropped(Random rand) - { - return rand.nextInt(3) + 1; - } - @SideOnly(Side.CLIENT) - - /** - * only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem (along with isCreative) - */ - public int idPicked(World par1World, int par2, int par3, int par4) - { - return AtumItems.date.itemID; - } - -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockFertileDirt.java b/common/rebelkeithy/mods/atum/blocks/BlockFertileDirt.java deleted file mode 100644 index 244247f..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockFertileDirt.java +++ /dev/null @@ -1,14 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; - -public class BlockFertileDirt extends Block -{ - protected BlockFertileDirt(int par1) - { - super(par1, Material.ground); - this.setCreativeTab(CreativeTabs.tabBlock); - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockFertileSoil.java b/common/rebelkeithy/mods/atum/blocks/BlockFertileSoil.java deleted file mode 100644 index 3889dc3..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockFertileSoil.java +++ /dev/null @@ -1,170 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import static net.minecraftforge.common.ForgeDirection.UP; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.util.Icon; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.common.ForgeDirection; -import net.minecraftforge.common.IPlantable; -import rebelkeithy.mods.atum.AtumBlocks; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockFertileSoil extends Block -{ - @SideOnly(Side.CLIENT) - private Icon iconGrassTop; - @SideOnly(Side.CLIENT) - private Icon iconGrassSideOverlay; - @SideOnly(Side.CLIENT) - private Icon iconDirt; - - public BlockFertileSoil(int par1) - { - super(par1, Material.grass); - this.setTickRandomly(true); - this.setCreativeTab(CreativeTabs.tabBlock); - } - - @SideOnly(Side.CLIENT) - - /** - * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata - */ - @Override - public Icon getIcon(int par1, int par2) - { - if(par2 == 1) - return this.iconDirt; - else - return par1 == 1 ? this.iconGrassTop : (par1 == 0 ? Block.dirt.getBlockTextureFromSide(par1) : this.blockIcon); - } - - /** - * Ticks the block if it's been scheduled - */ - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - if (!par1World.isRemote) - { - if (par1World.getBlockLightValue(par2, par3 + 1, par4) < 4 && par1World.getBlockLightOpacity(par2, par3 + 1, par4) > 2) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); - //par1World.setBlock(par2, par3, par4, Block.dirt.blockID); - } - else if (par1World.getBlockLightValue(par2, par3 + 1, par4) >= 9) - { - for (int l = 0; l < 4; ++l) - { - int i1 = par2 + par5Random.nextInt(3) - 1; - int j1 = par3 + par5Random.nextInt(5) - 3; - int k1 = par4 + par5Random.nextInt(3) - 1; - int l1 = par1World.getBlockId(i1, j1 + 1, k1); - - if (par1World.getBlockId(i1, j1, k1) == AtumBlocks.fertileSoil.blockID && par1World.getBlockMetadata(i1, j1, k1) == 1 && par1World.getBlockLightValue(i1, j1 + 1, k1) >= 4 && par1World.getBlockLightOpacity(i1, j1 + 1, k1) <= 2) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); - //par1World.setBlock(i1, j1, k1, Block.grass.blockID); - } - } - } - } - } - - public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) - { - EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); - - if (plant instanceof BlockFlower) - { - return true; - } - - switch (plantType) - { - case Desert: return false; - case Nether: return false; - case Crop: return false; - case Cave: return isBlockSolidOnSide(world, x, y, z, UP); - case Plains: return true; - case Water: return false; - case Beach: - boolean hasWater = (world.getBlockMaterial(x - 1, y, z ) == Material.water || - world.getBlockMaterial(x + 1, y, z ) == Material.water || - world.getBlockMaterial(x, y, z - 1) == Material.water || - world.getBlockMaterial(x, y, z + 1) == Material.water); - return hasWater; - } - - return false; - } - - /** - * Returns the ID of the items to drop on destruction. - */ - @Override - public int idDropped(int par1, Random par2Random, int par3) - { - return AtumBlocks.sand.blockID;//Block.dirt.idDropped(0, par2Random, par3); - } - - @SideOnly(Side.CLIENT) - - /** - * Retrieves the block texture to use based on the display side. Args: iBlockAccess, x, y, z, side - */ - @Override - public Icon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) - { - if(par1IBlockAccess.getBlockMetadata(par2, par3, par4) == 1) - { - return iconDirt; - } - else - { - if (par5 == 1) - { - return this.iconGrassTop; - } - else if (par5 == 0) - { - return AtumBlocks.sand.getBlockTextureFromSide(par5); - } - else - { - return this.blockIcon; - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) - { - this.blockIcon = par1IconRegister.registerIcon("Atum:FertileSoilSide"); - this.iconDirt = par1IconRegister.registerIcon("Atum:FertileSoil"); - this.iconGrassTop = par1IconRegister.registerIcon("Atum:FertileSoilTop"); - this.iconGrassSideOverlay = par1IconRegister.registerIcon("grass_side_overlay"); - } - - @SideOnly(Side.CLIENT) - public static Icon getIconSideOverlay() - { - return AtumBlocks.fertileSoil.iconGrassSideOverlay; - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockFertileSoilTilled.java b/common/rebelkeithy/mods/atum/blocks/BlockFertileSoilTilled.java deleted file mode 100644 index f0f7ab7..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockFertileSoilTilled.java +++ /dev/null @@ -1,259 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemDye; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.Icon; -import net.minecraft.world.World; -import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.common.ForgeDirection; -import net.minecraftforge.common.IPlantable; -import rebelkeithy.mods.atum.AtumBlocks; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockFertileSoilTilled extends Block -{ - @SideOnly(Side.CLIENT) - private Icon field_94441_a; - @SideOnly(Side.CLIENT) - private Icon field_94440_b; - - public BlockFertileSoilTilled(int par1) - { - super(par1, Material.ground); - this.setTickRandomly(true); - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.9375F, 1.0F); - this.setLightOpacity(255); - } - - @SideOnly(Side.CLIENT) - - /** - * A randomly called display update to be able to add particles or other items for display - */ - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - int enchanted = ((par1World.getBlockMetadata(par2, par3, par4) & 4) & 4) >> 2; - if(enchanted == 1) - { - if(par5Random.nextDouble() > 0.6) - { - double d0 = par5Random.nextGaussian() * 0.02D; - double d1 = par5Random.nextGaussian() * 0.02D; - double d2 = par5Random.nextGaussian() * 0.02D; - par1World.spawnParticle("happyVillager", (double)((float)par2 + par5Random.nextFloat()), (double)par3 + (double)par5Random.nextFloat() * this.getBlockBoundsMaxY()*0.4 + 1, (double)((float)par4 + par5Random.nextFloat()), d0, d1, d2); - } - } - } - - /** - * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been - * cleared to be reused) - */ - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) - { - return AxisAlignedBB.getAABBPool().getAABB((double)(par2 + 0), (double)(par3 + 0), (double)(par4 + 0), (double)(par2 + 1), (double)(par3 + 1), (double)(par4 + 1)); - } - - /** - * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two - * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block. - */ - public boolean isOpaqueCube() - { - return false; - } - - /** - * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc) - */ - public boolean renderAsNormalBlock() - { - return false; - } - - @SideOnly(Side.CLIENT) - - /** - * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata - */ - public Icon getIcon(int par1, int par2) - { - if(par2 >> 3 == 0) - return par1 == 1 ? (par2 > 0 ? this.field_94441_a : this.field_94440_b) : AtumBlocks.fertileSoil.getIcon(par1, 1); - else - return Block.tilledField.getIcon(par1, par2); - } - - /** - * Ticks the block if it's been scheduled - */ - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - int meta = par1World.getBlockMetadata(par2, par3, par4); - if (!this.isWaterNearby(par1World, par2, par3, par4) && !par1World.canLightningStrikeAt(par2, par3 + 1, par4)) - { - if ((meta & 3) > 0 && Math.random() > 0.5) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, meta - 1, 2); - } - else if (!this.isCropsNearby(par1World, par2, par3, par4)) - { - this.revertToDirt(par1World, par2, par3, par4); - } - } - else - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, meta | 3, 2); - } - - int cropID = par1World.getBlockId(par2, par3+1, par4); - if(cropID != 0) - { - for(int i = 0; i < 2; i++) - Block.blocksList[cropID].updateTick(par1World, par2, par3+1, par4, par5Random); - } - } - - /** - * Block's chance to react to an entity falling on it. - */ - public void onFallenUpon(World par1World, int par2, int par3, int par4, Entity par5Entity, float par6) - { - if (!par1World.isRemote && par1World.rand.nextFloat() < par6 - 0.5F) - { - if (!(par5Entity instanceof EntityPlayer) && !par1World.getGameRules().getGameRuleBooleanValue("mobGriefing")) - { - return; - } - - this.revertToDirt(par1World, par2, par3, par4); - } - } - - /** - * returns true if there is at least one cropblock nearby (x-1 to x+1, y+1, z-1 to z+1) - */ - private boolean isCropsNearby(World par1World, int par2, int par3, int par4) - { - byte b0 = 0; - - for (int l = par2 - b0; l <= par2 + b0; ++l) - { - for (int i1 = par4 - b0; i1 <= par4 + b0; ++i1) - { - int j1 = par1World.getBlockId(l, par3 + 1, i1); - - Block plant = blocksList[j1]; - if (plant instanceof IPlantable && canSustainPlant(par1World, par2, par3, par4, ForgeDirection.UP, (IPlantable)plant)) - { - return true; - } - } - } - - return false; - } - - /** - * returns true if there's water nearby (x-4 to x+4, y to y+1, k-4 to k+4) - */ - private boolean isWaterNearby(World par1World, int par2, int par3, int par4) - { - for (int l = par2 - 4; l <= par2 + 4; ++l) - { - for (int i1 = par3; i1 <= par3 + 1; ++i1) - { - for (int j1 = par4 - 4; j1 <= par4 + 4; ++j1) - { - if (par1World.getBlockMaterial(l, i1, j1) == Material.water) - { - return true; - } - } - } - } - - return false; - } - - /** - * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are - * their own) Args: x, y, z, neighbor blockID - */ - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) - { - super.onNeighborBlockChange(par1World, par2, par3, par4, par5); - Material material = par1World.getBlockMaterial(par2, par3 + 1, par4); - - if (material.isSolid()) - { - this.revertToDirt(par1World, par2, par3, par4); - } - } - - @Override - public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) - { - EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); - - return plantType == EnumPlantType.Crop; - } - - /** - * Returns the ID of the items to drop on destruction. - */ - public int idDropped(int par1, Random par2Random, int par3) - { - if(par1 >> 3 == 0) - return AtumBlocks.sand.blockID;//Block.dirt.idDropped(0, par2Random, par3); - else - return Block.dirt.blockID; - } - - public void revertToDirt(World world, int x, int y, int z) - { - int type = world.getBlockMetadata(x, y, z) >> 3; - if(type == 0) - { - world.setBlock(x, y, z, AtumBlocks.fertileSoil.blockID); - world.setBlockMetadataWithNotify(x, y, z, 1, 2); - } else { - world.setBlock(x, y, z, Block.dirt.blockID); - } - } - - @SideOnly(Side.CLIENT) - - /** - * only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem (along with isCreative) - */ - public int idPicked(World par1World, int par2, int par3, int par4) - { - int type = par1World.getBlockMetadata(par2, par3, par4) >> 3; - if(type == 0) - return AtumBlocks.sand.blockID;//Block.dirt.idDropped(0, par2Random, par3); - else - return Block.dirt.blockID; - } - - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - public void registerIcons(IconRegister par1IconRegister) - { - this.field_94441_a = par1IconRegister.registerIcon("farmland_wet"); - this.field_94440_b = par1IconRegister.registerIcon("farmland_dry"); - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockFlax.java b/common/rebelkeithy/mods/atum/blocks/BlockFlax.java deleted file mode 100644 index 85512de..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockFlax.java +++ /dev/null @@ -1,278 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import static net.minecraftforge.common.EnumPlantType.Crop; - -import java.util.ArrayList; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockFlower; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.common.ForgeDirection; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockFlax extends BlockFlower -{ - @SideOnly(Side.CLIENT) - private Icon[] iconArray; - - public BlockFlax(int par1) - { - super(par1); - this.setTickRandomly(true); - float f = 0.5F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.25F, 0.5F + f); - this.setCreativeTab((CreativeTabs)null); - this.setHardness(0.0F); - this.setStepSound(soundGrassFootstep); - this.disableStats(); - } - - @Override - public EnumPlantType getPlantType(World world, int x, int y, int z) - { - return Crop; - } - - /** - * Can this block stay at this position. Similar to canPlaceBlockAt except gets checked often with plants. - */ - public boolean canBlockStay(World par1World, int par2, int par3, int par4) - { - if(par1World.getBlockMetadata(par2, par3, par4) >> 3 == 1) - return par1World.getBlockId(par2, par3-1, par4) == AtumBlocks.fertileSoil.blockID; - - Block soil = blocksList[par1World.getBlockId(par2, par3 - 1, par4)]; - return (par1World.getFullBlockLightValue(par2, par3, par4) >= 8 || par1World.canBlockSeeTheSky(par2, par3, par4)) && - (soil != null && soil.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this)); - } - - /** - * Gets passed in the blockID of the block below and supposed to return true if its allowed to grow on the type of - * blockID passed in. Args: blockID - */ - @Override - protected boolean canThisPlantGrowOnThisBlockID(int par1) - { - return par1 == Block.tilledField.blockID || par1 == AtumBlocks.fertileSoilTilled.blockID; - } - - /** - * Ticks the block if it's been scheduled - */ - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - super.updateTick(par1World, par2, par3, par4, par5Random); - - if ((par1World.getBlockLightValue(par2, par3 + 1, par4) & 0x0111) >= 9) - { - int l = par1World.getBlockMetadata(par2, par3, par4); - - if ((l & 7) < 5) - { - float f = this.getGrowthRate(par1World, par2, par3, par4); - - if (par5Random.nextInt((int)(25.0F / f) + 1) == 0) - { - ++l; - par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); - } - } - } - } - - /** - * Apply bonemeal to the crops. - */ - public void fertilize(World par1World, int par2, int par3, int par4) - { - int l = par1World.getBlockMetadata(par2, par3, par4) + MathHelper.getRandomIntegerInRange(par1World.rand, 2, 3); - - if ((l & 7) > 5) - { - l -= (l & 7) - 5; - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); - } - - /** - * Gets the growth rate for the crop. Setup to encourage rows by halving growth rate if there is diagonals, crops on - * different sides that aren't opposing, and by adding growth for every crop next to this one (and for crop below - * this one). Args: x, y, z - */ - private float getGrowthRate(World par1World, int par2, int par3, int par4) - { - float f = 1.0F; - int l = par1World.getBlockId(par2, par3, par4 - 1); - int i1 = par1World.getBlockId(par2, par3, par4 + 1); - int j1 = par1World.getBlockId(par2 - 1, par3, par4); - int k1 = par1World.getBlockId(par2 + 1, par3, par4); - int l1 = par1World.getBlockId(par2 - 1, par3, par4 - 1); - int i2 = par1World.getBlockId(par2 + 1, par3, par4 - 1); - int j2 = par1World.getBlockId(par2 + 1, par3, par4 + 1); - int k2 = par1World.getBlockId(par2 - 1, par3, par4 + 1); - boolean flag = j1 == this.blockID || k1 == this.blockID; - boolean flag1 = l == this.blockID || i1 == this.blockID; - boolean flag2 = l1 == this.blockID || i2 == this.blockID || j2 == this.blockID || k2 == this.blockID; - - for (int l2 = par2 - 1; l2 <= par2 + 1; ++l2) - { - for (int i3 = par4 - 1; i3 <= par4 + 1; ++i3) - { - int j3 = par1World.getBlockId(l2, par3 - 1, i3); - float f1 = 0.0F; - - if (blocksList[j3] != null && blocksList[j3].canSustainPlant(par1World, l2, par3 - 1, i3, ForgeDirection.UP, this)) - { - f1 = 1.0F; - - if (blocksList[j3].isFertile(par1World, l2, par3 - 1, i3)) - { - f1 = 3.0F; - } - } - - if (l2 != par2 || i3 != par4) - { - f1 /= 4.0F; - } - - f += f1; - } - } - - if (flag2 || flag && flag1) - { - f /= 2.0F; - } - - return f; - } - - @SideOnly(Side.CLIENT) - - /** - * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata - */ - @Override - public Icon getIcon(int par1, int par2) - { - int meta = par2 & 7; - if (meta < 0 || meta > 5) - { - meta = 5; - } - - return this.iconArray[meta]; - } - - /** - * The type of render function that is called for this block - */ - @Override - public int getRenderType() - { - return 1; - } - - /** - * Generate a seed ItemStack for this crop. - */ - protected int getSeedItem() - { - return AtumItems.flaxSeeds.itemID; - } - - /** - * Generate a crop produce ItemStack for this crop. - */ - protected int getCropItem() - { - return AtumItems.flax.itemID; - } - - /** - * Drops the block items with a specified chance of dropping the specified items - */ - @Override - public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) - { - super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, 0); - } - - @Override - public ArrayList getBlockDropped(World world, int x, int y, int z, int metadata, int fortune) - { - ArrayList ret = super.getBlockDropped(world, x, y, z, metadata, fortune); - - if ((metadata & 7) >= 5) - { - for (int n = 0; n < 3 + fortune; n++) - { - if (world.rand.nextInt(15) <= (metadata & 7)) - { - ret.add(new ItemStack(this.getSeedItem(), 1, 0)); - } - } - } - - return ret; - } - - /** - * Returns the ID of the items to drop on destruction. - */ - @Override - public int idDropped(int par1, Random par2Random, int par3) - { - return par1 == 5 ? this.getCropItem() : this.getSeedItem(); - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - @Override - public int quantityDropped(Random par1Random) - { - return 1; - } - - @SideOnly(Side.CLIENT) - - /** - * only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem (along with isCreative) - */ - @Override - public int idPicked(World par1World, int par2, int par3, int par4) - { - return this.getSeedItem(); - } - - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) - { - this.iconArray = new Icon[6]; - - for (int i = 0; i < this.iconArray.length; ++i) - { - this.iconArray[i] = par1IconRegister.registerIcon("Atum:Flax_" + i); - } - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockPalmLog.java b/common/rebelkeithy/mods/atum/blocks/BlockPalmLog.java deleted file mode 100644 index 5e2e98b..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockPalmLog.java +++ /dev/null @@ -1,172 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.List; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import net.minecraft.world.World; - -public class BlockPalmLog extends Block -{ - /** The type of tree this log came from. */ - public static final String[] woodType = new String[] {"oak", "spruce", "birch", "jungle"}; - public static final String[] treeTextureTypes = new String[] {"tree_side", "tree_spruce", "tree_birch", "tree_jungle"}; - @SideOnly(Side.CLIENT) - private Icon[] iconArray; - @SideOnly(Side.CLIENT) - private Icon tree_top; - private Icon tree_side; - - public BlockPalmLog(int par1) - { - super(par1, Material.wood); - this.setCreativeTab(CreativeTabs.tabBlock); - this.setBurnProperties(this.blockID, 5, 5); - } - - /** - * The type of render function that is called for this block - */ - @Override - public int getRenderType() - { - return 31; - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - @Override - public int quantityDropped(Random par1Random) - { - return 1; - } - - /** - * 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, int par5, int par6) - { - byte b0 = 4; - int j1 = b0 + 1; - - if (par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) - { - for (int k1 = -b0; k1 <= b0; ++k1) - { - for (int l1 = -b0; l1 <= b0; ++l1) - { - for (int i2 = -b0; i2 <= b0; ++i2) - { - int j2 = par1World.getBlockId(par2 + k1, par3 + l1, par4 + i2); - - if (Block.blocksList[j2] != null) - { - Block.blocksList[j2].beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); - } - } - } - } - } - } - - /** - * Called when a block is placed using its ItemBlock. Args: World, X, Y, Z, side, hitX, hitY, hitZ, block metadata - */ - @Override - public int onBlockPlaced(World par1World, int par2, int par3, int par4, int par5, float par6, float par7, float par8, int par9) - { - int j1 = par9 & 3; - byte b0 = 0; - - switch (par5) - { - case 0: - case 1: - b0 = 0; - break; - case 2: - case 3: - b0 = 8; - break; - case 4: - case 5: - b0 = 4; - } - - return j1 | b0; - } - - @SideOnly(Side.CLIENT) - - /** - * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata - */ - @Override - public Icon getIcon(int par1, int par2) - { - int k = par2 & 12; - int l = par2 & 3; - return k == 0 && (par1 == 1 || par1 == 0) ? this.tree_top : (k == 4 && (par1 == 5 || par1 == 4) ? this.tree_top : (k == 8 && (par1 == 2 || par1 == 3) ? this.tree_top : this.tree_side)); - } - - /** - * Determines the damage on the item the block drops. Used in cloth and wood. - */ - @Override - public int damageDropped(int par1) - { - return par1 & 3; - } - - /** - * returns a number between 0 and 3 - */ - public static int limitToValidMetadata(int par0) - { - return par0 & 3; - } - - /** - * Returns an item stack containing a single instance of the current block type. 'i' is the block's subtype/damage - * and is ignored for blocks which do not support subtypes. Blocks which cannot be harvested should return null. - */ - @Override - protected ItemStack createStackedBlock(int par1) - { - return new ItemStack(this.blockID, 1, limitToValidMetadata(par1)); - } - - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) - { - this.tree_top = par1IconRegister.registerIcon("Atum:tree_top"); - this.tree_side = par1IconRegister.registerIcon("Atum:tree_side"); - } - - @Override - public boolean canSustainLeaves(World world, int x, int y, int z) - { - return true; - } - - @Override - public boolean isWood(World world, int x, int y, int z) - { - return true; - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockPalmSapling.java b/common/rebelkeithy/mods/atum/blocks/BlockPalmSapling.java deleted file mode 100644 index 6011e33..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockPalmSapling.java +++ /dev/null @@ -1,113 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockFlower; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumBlocks; - -public class BlockPalmSapling extends BlockFlower -{ - public BlockPalmSapling(int par1) - { - super(par1); - float f = 0.4F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f); - } - - @Override - public void updateTick(World world, int x, int y, int z, Random rand) - { - if (!world.isRemote) - { - super.updateTick(world, x, y, z, rand); - - if (world.getBlockLightValue(x, y + 1, z) > 9 && rand.nextInt(20) == 0) - { - growTree(world, x, y, z, rand); - } - } - } - - public void growTree(World world, int x, int y, int z, Random rand) - { - // TODO Auto-generated method stub - - int height = rand.nextInt(4) + 5; - - //world.setBlock(x, y, z, AtumBlocks.atumLog.blockID, 0, 0x02); - for(int i = 0; i < height; ++i) - { - world.setBlock(x, y + i, z, AtumBlocks.log.blockID, 0, 0x02); - } - - world.setBlock(x, y + height, z, AtumBlocks.leaves.blockID, 0, 0x02); - - for(int i = -1; i < 2; ++i) - { - for(int j = -1; j < 2; ++j) - { - if(i == 0 && j == 0) - { - continue; - } - - world.setBlock(x + i, y + height - 1, z + j, AtumBlocks.leaves.blockID, 0, 0x02); - } - } - - world.setBlock(x + 2, y + height - 1, z, AtumBlocks.leaves.blockID, 0, 0x02); - world.setBlock(x + 2, y + height - 2, z, AtumBlocks.leaves.blockID, 0, 0x02); - world.setBlock(x + 3, y + height - 2, z, AtumBlocks.leaves.blockID, 0, 0x02); - if (rand.nextInt(100) < 15) - { - world.setBlock(x + 1, y + height - 2, z, AtumBlocks.dateBlock.blockID, 0, 0x02); - } - - world.setBlock(x - 2, y + height - 1, z, AtumBlocks.leaves.blockID, 0, 0x02); - world.setBlock(x - 2, y + height - 2, z, AtumBlocks.leaves.blockID, 0, 0x02); - world.setBlock(x - 3, y + height - 2, z, AtumBlocks.leaves.blockID, 0, 0x02); - if (rand.nextInt(100) < 15) - { - world.setBlock(x - 1, y + height - 2, z, AtumBlocks.dateBlock.blockID, 0, 0x02); - } - - world.setBlock(x, y + height - 1, z + 2, AtumBlocks.leaves.blockID, 0, 0x02); - world.setBlock(x, y + height - 2, z + 2, AtumBlocks.leaves.blockID, 0, 0x02); - world.setBlock(x, y + height - 2, z + 3, AtumBlocks.leaves.blockID, 0, 0x02); - if (rand.nextInt(100) < 15) - { - world.setBlock(x, y + height - 2, z + 1, AtumBlocks.dateBlock.blockID, 0, 0x02); - } - - world.setBlock(x, y + height - 1, z - 2, AtumBlocks.leaves.blockID, 0, 0x02); - world.setBlock(x, y + height - 2, z - 2, AtumBlocks.leaves.blockID, 0, 0x02); - world.setBlock(x, y + height - 2, z - 3, AtumBlocks.leaves.blockID, 0, 0x02); - if (rand.nextInt(100) < 15) - { - world.setBlock(x, y + height - 2, z - 1, AtumBlocks.dateBlock.blockID, 0, 0x02); - } - } - - @Override - protected boolean canThisPlantGrowOnThisBlockID(int id) - { - if(id == AtumBlocks.sand.blockID || id == Block.grass.blockID || id == Block.dirt.blockID) - { - return true; - } - return false; - } - - @Override - public boolean canBlockStay(World world, int x, int y, int z) - { - if(world.getBlockId(x, y - 1, z) == AtumBlocks.sand.blockID || world.getBlockId(x, y - 1, z) == Block.grass.blockID || world.getBlockId(x, y - 1, z) == Block.dirt.blockID) - { - return true; - } - - return false; - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockPapyrus.java b/common/rebelkeithy/mods/atum/blocks/BlockPapyrus.java deleted file mode 100644 index 5ad5f82..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockPapyrus.java +++ /dev/null @@ -1,285 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.Icon; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.common.ForgeDirection; -import net.minecraftforge.common.IPlantable; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumItems; -import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockPapyrus extends Block implements IPlantable -{ - Icon iconPapyrus; - Icon iconPapyrusTop; - public int renderID = RenderingRegistry.getNextAvailableRenderId(); - - public BlockPapyrus(int par1) - { - super(par1, Material.plants); - float f = 0.375F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 1.0F, 0.5F + f); - this.setTickRandomly(true); - } - - - @Override - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) - { - if(par5EntityPlayer.capabilities.isCreativeMode) - { - updateTick(par1World, par2, par3, par4, new Random()); - } - return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9); - } - - /** - * Ticks the block if it's been scheduled - */ - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - if(par5Random.nextFloat() > 0.75) - return; - - if (par1World.isAirBlock(par2, par3 + 1, par4)) - { - int l; - - for (l = 1; par1World.getBlockId(par2, par3 - l, par4) == this.blockID; ++l) - { - ; - } - - if (l < 5) - { - int i1 = par1World.getBlockMetadata(par2, par3, par4); - int reqHeight = 0; - - if(l == 1) - reqHeight = 2; - else if(l == 2) - reqHeight = 4; - else if(l == 3) - reqHeight = 8; - else if(l == 4) - reqHeight = 15; - - if (i1 >= reqHeight) - { - par1World.setBlock(par2, par3 + 1, par4, this.blockID); - par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 4); - } - else - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 + 1, 4); - } - } - } - } - - @Override - public Icon getIcon(int par1, int par2) - { - return iconPapyrus; - } - - @SideOnly(Side.CLIENT) - - /** - * Retrieves the block texture to use based on the display side. Args: iBlockAccess, x, y, z, side - */ - @Override - public Icon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) - { - boolean top = par1IBlockAccess.getBlockId(par2, par3+1, par4) != this.blockID; - if(top) - return iconPapyrusTop; - - return iconPapyrus; - } - - /** - * Checks to see if its valid to put this block at the specified coordinates. Args: world, x, y, z - */ - @Override - public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) - { - Block block = Block.blocksList[par1World.getBlockId(par2, par3 - 1, par4)]; - return (block != null && block.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this)); - } - - /** - * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are - * their own) Args: x, y, z, neighbor blockID - */ - @Override - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) - { - this.checkBlockCoordValid(par1World, par2, par3, par4); - } - - /** - * Checks if current block pos is valid, if not, breaks the block as dropable item. Used for reed and cactus. - */ - protected final void checkBlockCoordValid(World par1World, int par2, int par3, int par4) - { - if (!this.canBlockStay(par1World, par2, par3, par4)) - { - this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0); - par1World.setBlockToAir(par2, par3, par4); - } - } - - /** - * Can this block stay at this position. Similar to canPlaceBlockAt except gets checked often with plants. - */ - @Override - public boolean canBlockStay(World par1World, int par2, int par3, int par4) - { - return this.canPlaceBlockAt(par1World, par2, par3, par4); - } - - /** - * Determines if this block can support the passed in plant, allowing it to be planted and grow. - * Some examples: - * Reeds check if its a reed, or if its sand/dirt/grass and adjacent to water - * Cacti checks if its a cacti, or if its sand - * Nether types check for soul sand - * Crops check for tilled soil - * Caves check if it's a colid surface - * Plains check if its grass or dirt - * Water check if its still water - * - * @param world The current world - * @param x X Position - * @param y Y Position - * @param z Z position - * @param direction The direction relative to the given position the plant wants to be, typically its UP - * @param plant The plant that wants to check - * @return True to allow the plant to be planted/stay. - */ - @Override - public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) - { - int plantID = plant.getPlantID(world, x, y + 1, z); - EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); - - if (plantID == AtumBlocks.papyrus.blockID && blockID == AtumBlocks.papyrus.blockID) - { - return true; - } - - if(plantType == EnumPlantType.Beach) - { - boolean isBeach = (blockID == Block.grass.blockID || blockID == Block.dirt.blockID || blockID == Block.sand.blockID); - boolean hasWater = (world.getBlockMaterial(x - 1, y, z ) == Material.water || - world.getBlockMaterial(x + 1, y, z ) == Material.water || - world.getBlockMaterial(x, y, z - 1) == Material.water || - world.getBlockMaterial(x, y, z + 1) == Material.water); - return isBeach && hasWater; - } - - return false; - } - - /** - * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been - * cleared to be reused) - */ - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) - { - return null; - } - - /** - * Returns the ID of the items to drop on destruction. - */ - @Override - public int idDropped(int par1, Random par2Random, int par3) - { - return AtumItems.papyrusPlant.itemID; - } - - /** - * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two - * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block. - */ - @Override - public boolean isOpaqueCube() - { - return false; - } - - /** - * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc) - */ - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - /** - * The type of render function that is called for this block - */ - @Override - public int getRenderType() - { - return renderID; - } - - @SideOnly(Side.CLIENT) - - /** - * only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem (along with isCreative) - */ - @Override - public int idPicked(World par1World, int par2, int par3, int par4) - { - return AtumItems.papyrusPlant.itemID; - } - - @Override - public EnumPlantType getPlantType(World world, int x, int y, int z) - { - return EnumPlantType.Beach; - } - - @Override - public int getPlantID(World world, int x, int y, int z) - { - return blockID; - } - - @Override - public int getPlantMetadata(World world, int x, int y, int z) - { - return world.getBlockMetadata(x, y, z); - } - - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) - { - this.iconPapyrus = par1IconRegister.registerIcon("Atum:AtumPapyrus"); - this.iconPapyrusTop = par1IconRegister.registerIcon("Atum:AtumPapyrusTop"); - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockSandLayered.java b/common/rebelkeithy/mods/atum/blocks/BlockSandLayered.java deleted file mode 100644 index b190521..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockSandLayered.java +++ /dev/null @@ -1,197 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.EnumSkyBlock; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumBlocks; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockSandLayered extends Block -{ - public BlockSandLayered(int par1) - { - super(par1, Material.sand); - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F); - this.setTickRandomly(true); - this.func_96478_d(0); - } - - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) - { - this.blockIcon = par1IconRegister.registerIcon("Atum:AtumSand"); - } - - /** - * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been - * cleared to be reused) - */ - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) - { - return null; - /* - int l = par1World.getBlockMetadata(par2, par3, par4) & 7; - float f = 0.125F; - return AxisAlignedBB.getAABBPool().getAABB((double)par2 + this.minX, (double)par3 + this.minY, (double)par4 + this.minZ, (double)par2 + this.maxX, (double)((float)par3 + (float)l * f), (double)par4 + this.maxZ); - */ - } - - /** - * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two - * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block. - */ - @Override - public boolean isOpaqueCube() - { - return false; - } - - /** - * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc) - */ - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - /** - * Sets the block's bounds for rendering it as an item - */ - @Override - public void setBlockBoundsForItemRender() - { - this.func_96478_d(0); - } - - /** - * Updates the blocks bounds based on its current state. Args: world, x, y, z - */ - @Override - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) - { - this.func_96478_d(par1IBlockAccess.getBlockMetadata(par2, par3, par4)); - } - - protected void func_96478_d(int par1) - { - int j = par1 & 7; - float f = (float)(2 * (1 + j)) / 16.0F; - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, f, 1.0F); - } - - /** - * Checks to see if its valid to put this block at the specified coordinates. Args: world, x, y, z - */ - @Override - public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) - { - int l = par1World.getBlockId(par2, par3 - 1, par4); - Block block = Block.blocksList[l]; - if (block == null) return false; - if (block.blockID == AtumBlocks.sandLayered.blockID) return true; - if (block == this && (par1World.getBlockMetadata(par2, par3 - 1, par4) & 7) == 7) return true; - if (!block.isLeaves(par1World, par2, par3 - 1, par4) && !Block.blocksList[l].isOpaqueCube()) return false; - return par1World.getBlockMaterial(par2, par3 - 1, par4).blocksMovement(); - } - - /** - * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are - * their own) Args: x, y, z, neighbor blockID - */ - @Override - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) - { - this.canSnowStay(par1World, par2, par3, par4); - } - - /** - * Checks if this snow block can stay at this location. - */ - private boolean canSnowStay(World par1World, int par2, int par3, int par4) - { - if (!this.canPlaceBlockAt(par1World, par2, par3, par4)) - { - par1World.setBlockToAir(par2, par3, par4); - return false; - } - else - { - return false; - } - } - - /** - * Called when the player destroys a block with an item that can harvest it. (i, j, k) are the coordinates of the - * block and l is the block's subtype/damage. - */ - @Override - public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) - { - super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); - par1World.setBlockToAir(par3, par4, par5); - } - - /** - * Returns the ID of the items to drop on destruction. - */ - @Override - public int idDropped(int par1, Random par2Random, int par3) - { - return 0; - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - @Override - public int quantityDropped(Random par1Random) - { - return 0; - } - - /** - * Ticks the block if it's been scheduled - */ - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - if (par1World.getSavedLightValue(EnumSkyBlock.Block, par2, par3, par4) > 11) - { - par1World.setBlockToAir(par2, par3, par4); - } - } - - @SideOnly(Side.CLIENT) - - /** - * Returns true if the given side of this block type should be rendered, if the adjacent block is at the given - * coordinates. Args: blockAccess, x, y, z, side - */ - @Override - public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) - { - return par5 == 1 ? true : super.shouldSideBeRendered(par1IBlockAccess, par2, par3, par4, par5); - } - - @Override - public int quantityDropped(int meta, int fortune, Random random) - { - return (meta & 7) + 1; - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockShrub.java b/common/rebelkeithy/mods/atum/blocks/BlockShrub.java deleted file mode 100644 index dcf1887..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockShrub.java +++ /dev/null @@ -1,57 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import java.util.Random; - -import net.minecraft.block.BlockDeadBush; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.stats.StatList; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.AtumBlocks; - -public class BlockShrub extends BlockDeadBush -{ - public BlockShrub(int par1) - { - super(par1); - } - - /** - * Gets passed in the blockID of the block below and supposed to return true if its allowed to grow on the type of - * blockID passed in. Args: blockID - */ - @Override - public boolean canThisPlantGrowOnThisBlockID(int par1) - { - return par1 == AtumBlocks.sand.blockID; - } - - /** - * Returns the ID of the items to drop on destruction. - */ - @Override - public int idDropped(int par1, Random par2Random, int par3) - { - return -1; - } - - /** - * Called when the player destroys a block with an item that can harvest it. (i, j, k) are the coordinates of the - * block and l is the block's subtype/damage. - */ - @Override - public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) - { - if (!par1World.isRemote && par2EntityPlayer.getCurrentEquippedItem() != null && par2EntityPlayer.getCurrentEquippedItem().itemID == Item.shears.itemID) - { - par2EntityPlayer.addStat(StatList.mineBlockStatArray[this.blockID], 1); - this.dropBlockAsItem_do(par1World, par3, par4, par5, new ItemStack(AtumBlocks.shrub, 1, par6)); - } - else - { - super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); - } - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/ItemBlockAtumSlab.java b/common/rebelkeithy/mods/atum/blocks/ItemBlockAtumSlab.java deleted file mode 100644 index 6f6c28c..0000000 --- a/common/rebelkeithy/mods/atum/blocks/ItemBlockAtumSlab.java +++ /dev/null @@ -1,217 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockHalfSlab; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemBlockAtumSlab extends ItemBlock -{ - private final boolean isFullBlock; - - /** Instance of BlockHalfSlab. */ - private final BlockHalfSlab theHalfSlab; - - /** The double-slab block corresponding to this item. */ - private final BlockHalfSlab doubleSlab; - - public ItemBlockAtumSlab(int par1, BlockHalfSlab par2BlockHalfSlab, BlockHalfSlab par3BlockHalfSlab, boolean par4) - { - super(par1); - this.theHalfSlab = par2BlockHalfSlab; - this.doubleSlab = par3BlockHalfSlab; - this.isFullBlock = par4; - this.setMaxDamage(0); - this.setHasSubtypes(true); - } - - @SideOnly(Side.CLIENT) - - /** - * Gets an icon index based on an item's damage value - */ - @Override - public Icon getIconFromDamage(int par1) - { - return Block.blocksList[this.itemID].getIcon(2, par1); - } - - /** - * Returns the metadata of the block which this Item (ItemBlock) can place - */ - @Override - public int getMetadata(int par1) - { - return par1; - } - - /** - * Returns the unlocalized name of this item. This version accepts an ItemStack so different stacks can have - * different names based on their damage or NBT. - */ - @Override - public String getUnlocalizedName(ItemStack par1ItemStack) - { - return this.theHalfSlab.getFullSlabName(par1ItemStack.getItemDamage()); - } - - /** - * Callback for item usage. If the item does something special on right clicking, he will have one of those. Return - * True if something happen and false if it don't. This is for ITEMS, not BLOCKS - */ - @Override - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) - { - if (this.isFullBlock) - { - return super.onItemUse(par1ItemStack, par2EntityPlayer, par3World, par4, par5, par6, par7, par8, par9, par10); - } - else if (par1ItemStack.stackSize == 0) - { - return false; - } - else if (!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) - { - return false; - } - else - { - int i1 = par3World.getBlockId(par4, par5, par6); - int j1 = par3World.getBlockMetadata(par4, par5, par6); - int k1 = j1 & 7; - boolean flag = (j1 & 8) != 0; - - if ((par7 == 1 && !flag || par7 == 0 && flag) && i1 == this.theHalfSlab.blockID && k1 == par1ItemStack.getItemDamage()) - { - if (par3World.checkNoEntityCollision(this.doubleSlab.getCollisionBoundingBoxFromPool(par3World, par4, par5, par6)) && par3World.setBlock(par4, par5, par6, this.doubleSlab.blockID, k1, 3)) - { - par3World.playSoundEffect((double)((float)par4 + 0.5F), (double)((float)par5 + 0.5F), (double)((float)par6 + 0.5F), this.doubleSlab.stepSound.getPlaceSound(), (this.doubleSlab.stepSound.getVolume() + 1.0F) / 2.0F, this.doubleSlab.stepSound.getPitch() * 0.8F); - --par1ItemStack.stackSize; - } - - return true; - } - else - { - return this.func_77888_a(par1ItemStack, par2EntityPlayer, par3World, par4, par5, par6, par7) ? true : super.onItemUse(par1ItemStack, par2EntityPlayer, par3World, par4, par5, par6, par7, par8, par9, par10); - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Returns true if the given ItemBlock can be placed on the given side of the given block position. - */ - @Override - public boolean canPlaceItemBlockOnSide(World par1World, int par2, int par3, int par4, int par5, EntityPlayer par6EntityPlayer, ItemStack par7ItemStack) - { - int i1 = par2; - int j1 = par3; - int k1 = par4; - int l1 = par1World.getBlockId(par2, par3, par4); - int i2 = par1World.getBlockMetadata(par2, par3, par4); - int j2 = i2 & 7; - boolean flag = (i2 & 8) != 0; - - if ((par5 == 1 && !flag || par5 == 0 && flag) && l1 == this.theHalfSlab.blockID && j2 == par7ItemStack.getItemDamage()) - { - return true; - } - else - { - if (par5 == 0) - { - --par3; - } - - if (par5 == 1) - { - ++par3; - } - - if (par5 == 2) - { - --par4; - } - - if (par5 == 3) - { - ++par4; - } - - if (par5 == 4) - { - --par2; - } - - if (par5 == 5) - { - ++par2; - } - - l1 = par1World.getBlockId(par2, par3, par4); - i2 = par1World.getBlockMetadata(par2, par3, par4); - j2 = i2 & 7; - flag = (i2 & 8) != 0; - return l1 == this.theHalfSlab.blockID && j2 == par7ItemStack.getItemDamage() ? true : super.canPlaceItemBlockOnSide(par1World, i1, j1, k1, par5, par6EntityPlayer, par7ItemStack); - } - } - - private boolean func_77888_a(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7) - { - if (par7 == 0) - { - --par5; - } - - if (par7 == 1) - { - ++par5; - } - - if (par7 == 2) - { - --par6; - } - - if (par7 == 3) - { - ++par6; - } - - if (par7 == 4) - { - --par4; - } - - if (par7 == 5) - { - ++par4; - } - - int i1 = par3World.getBlockId(par4, par5, par6); - int j1 = par3World.getBlockMetadata(par4, par5, par6); - int k1 = j1 & 7; - - if (i1 == this.theHalfSlab.blockID && k1 == par1ItemStack.getItemDamage()) - { - if (par3World.checkNoEntityCollision(this.doubleSlab.getCollisionBoundingBoxFromPool(par3World, par4, par5, par6)) && par3World.setBlock(par4, par5, par6, this.doubleSlab.blockID, k1, 3)) - { - par3World.playSoundEffect((double)((float)par4 + 0.5F), (double)((float)par5 + 0.5F), (double)((float)par6 + 0.5F), this.doubleSlab.stepSound.getPlaceSound(), (this.doubleSlab.stepSound.getVolume() + 1.0F) / 2.0F, this.doubleSlab.stepSound.getPitch() * 0.8F); - --par1ItemStack.stackSize; - } - - return true; - } - else - { - return false; - } - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/ItemBlockAtumWall.java b/common/rebelkeithy/mods/atum/blocks/ItemBlockAtumWall.java deleted file mode 100644 index f76fb35..0000000 --- a/common/rebelkeithy/mods/atum/blocks/ItemBlockAtumWall.java +++ /dev/null @@ -1,46 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import net.minecraft.block.Block; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; - -public class ItemBlockAtumWall extends ItemBlock -{ - public ItemBlockAtumWall(int par1) - { - super(par1); - this.setMaxDamage(0); - this.setHasSubtypes(true); - } - - @Override - public int getMetadata(int meta) - { - return meta; - } - - @Override - public Icon getIconFromDamage(int meta) - { - return Block.blocksList[this.itemID].getIcon(2, meta); - } - - @Override - public String getUnlocalizedName(ItemStack itemstack) - { - switch(itemstack.getItemDamage()) - { - case 0: - return "Atum:AtumStoneWall"; - case 1: - return "Atum:AtumCobble"; - case 2: - return "Atum:AtumBrickLarge"; - case 3: - return "Atum:AtumBrickSmall"; - default: - return "Atum:Default"; - } - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/ItemPapyrusPlant.java b/common/rebelkeithy/mods/atum/blocks/ItemPapyrusPlant.java deleted file mode 100644 index 23dbec3..0000000 --- a/common/rebelkeithy/mods/atum/blocks/ItemPapyrusPlant.java +++ /dev/null @@ -1,98 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import net.minecraft.block.Block; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public class ItemPapyrusPlant extends Item -{ - /** The ID of the block the reed will spawn when used from inventory bar. */ - private int spawnID; - - public ItemPapyrusPlant(int par1, Block par2Block) - { - super(par1); - this.spawnID = par2Block.blockID; - } - - /** - * Callback for item usage. If the item does something special on right clicking, he will have one of those. Return - * True if something happen and false if it don't. This is for ITEMS, not BLOCKS - */ - @Override - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) - { - int i1 = par3World.getBlockId(par4, par5, par6); - - if (i1 == Block.snow.blockID && (par3World.getBlockMetadata(par4, par5, par6) & 7) < 1) - { - par7 = 1; - } - else if (i1 != Block.vine.blockID && i1 != Block.tallGrass.blockID && i1 != Block.deadBush.blockID) - { - if (par7 == 0) - { - --par5; - } - - if (par7 == 1) - { - ++par5; - } - - if (par7 == 2) - { - --par6; - } - - if (par7 == 3) - { - ++par6; - } - - if (par7 == 4) - { - --par4; - } - - if (par7 == 5) - { - ++par4; - } - } - - if (!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) - { - return false; - } - else if (par1ItemStack.stackSize == 0) - { - return false; - } - else - { - if (par3World.canPlaceEntityOnSide(this.spawnID, par4, par5, par6, false, par7, (Entity)null, par1ItemStack)) - { - Block block = Block.blocksList[this.spawnID]; - int j1 = block.onBlockPlaced(par3World, par4, par5, par6, par7, par8, par9, par10, 0); - - if (par3World.setBlock(par4, par5, par6, this.spawnID, j1, 3)) - { - if (par3World.getBlockId(par4, par5, par6) == this.spawnID) - { - Block.blocksList[this.spawnID].onBlockPlacedBy(par3World, par4, par5, par6, par2EntityPlayer, par1ItemStack); - Block.blocksList[this.spawnID].onPostBlockPlaced(par3World, par4, par5, par6, j1); - } - - par3World.playSoundEffect((double)((float)par4 + 0.5F), (double)((float)par5 + 0.5F), (double)((float)par6 + 0.5F), block.stepSound.getPlaceSound(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); - --par1ItemStack.stackSize; - } - } - - return true; - } - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/ItemSandLayered.java b/common/rebelkeithy/mods/atum/blocks/ItemSandLayered.java deleted file mode 100644 index e8d0c77..0000000 --- a/common/rebelkeithy/mods/atum/blocks/ItemSandLayered.java +++ /dev/null @@ -1,53 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemBlockWithMetadata; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumBlocks; - -public class ItemSandLayered extends ItemBlockWithMetadata -{ - public ItemSandLayered(int par1) - { - super(par1, AtumBlocks.sandLayered); - } - - /** - * Callback for item usage. If the item does something special on right clicking, he will have one of those. Return - * True if something happen and false if it don't. This is for ITEMS, not BLOCKS - */ - @Override - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) - { - if (par1ItemStack.stackSize == 0) - { - return false; - } - else if (!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) - { - return false; - } - else - { - int i1 = par3World.getBlockId(par4, par5, par6); - - if (i1 == AtumBlocks.sandLayered.blockID) - { - Block block = Block.blocksList[this.getBlockID()]; - int j1 = par3World.getBlockMetadata(par4, par5, par6); - int k1 = j1 & 7; - - if (k1 <= 6 && par3World.setBlockMetadataWithNotify(par4, par5, par6, k1 + 1 | j1 & -8, 2)) - { - par3World.playSoundEffect((double)((float)par4 + 0.5F), (double)((float)par5 + 0.5F), (double)((float)par6 + 0.5F), block.stepSound.getPlaceSound(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); - --par1ItemStack.stackSize; - return true; - } - } - - return super.onItemUse(par1ItemStack, par2EntityPlayer, par3World, par4, par5, par6, par7, par8, par9, par10); - } - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/TileEntityArrowTrap.java b/common/rebelkeithy/mods/atum/blocks/TileEntityArrowTrap.java deleted file mode 100644 index 6c8740b..0000000 --- a/common/rebelkeithy/mods/atum/blocks/TileEntityArrowTrap.java +++ /dev/null @@ -1,121 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import java.util.List; -import java.util.Random; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.Vec3; - -public class TileEntityArrowTrap extends TileEntity -{ - private ItemStack[] dispenserContents = new ItemStack[9]; - - /** - * random number generator for instance. Used in random item stack selection. - */ - private Random dispenserRandom = new Random(); - protected String field_94050_c; - - - @Override - public void updateEntity() - { - EntityPlayer p = worldObj.getClosestPlayer(xCoord, yCoord, zCoord, 4); - int range = 1; - int xMin = xCoord; - int xMax = xCoord+range; - int yMin = yCoord; - int yMax = yCoord+range; - int zMin = zCoord; - int zMax = zCoord+range; - - EnumFacing facing = EnumFacing.getFront(worldObj.getBlockMetadata(xCoord, yCoord, zCoord)); - xMin += facing.getFrontOffsetX()*range; - xMax += facing.getFrontOffsetX()*range; - yMin += facing.getFrontOffsetY()*range; - yMax += facing.getFrontOffsetY()*range; - zMin += facing.getFrontOffsetZ()*range; - zMax += facing.getFrontOffsetZ()*range; - - - AxisAlignedBB bb = AxisAlignedBB.getAABBPool().getAABB((double)xMin, (double)yMin, (double)zMin, (double)xMax, (double)yMax, (double)zMax); - - List list = this.worldObj.getEntitiesWithinAABB(EntityMob.class, bb); - - if(p != null) - { - if(bb.isVecInside(Vec3.createVectorHelper(p.posX, p.posY+0.5, p.posZ))) - { - p.setFire(2); - spawnFlames(); - /* - if(facing == EnumFacing.EAST) - worldObj.spawnParticle("flame", xCoord - 0.5D, yCoord + 0.5D, zCoord + 0.5D, 0.0D, 0.1D, 0.0D); - if(facing == EnumFacing.WEST) - worldObj.spawnParticle("flame", xCoord + 2.5D, yCoord + 0.5D, zCoord + 0.5D, 0.0D, 0.1D, 0.0D); - if(facing == EnumFacing.NORTH) - worldObj.spawnParticle("flame", xCoord + 0.5D, yCoord + 0.5D, zCoord - 0.5D, 0.0D, 0.1D, 0.0D); - if(facing == EnumFacing.SOUTH) - worldObj.spawnParticle("flame", xCoord + 0.5D, yCoord + 0.5D, zCoord + 1.5D, 0.0D, 0.1D, 0.0D); - if(facing == EnumFacing.DOWN) - worldObj.spawnParticle("flame", xCoord + 1.5D, yCoord - 0.5D, zCoord + 1.5D, 0.0D, 0.1D, 0.0D); - if(facing == EnumFacing.UP) - worldObj.spawnParticle("flame", xCoord + 0.5D, yCoord + 1.5D, zCoord + 0.5D, 0.0D, 0.1D, 0.0D); - */ - } - } - - for(Entity e : list) - { - if(e instanceof EntityLiving) - { - e.setFire(2); - } - } - } - - public void spawnFlames() - { - Random par5Random = new Random(); - int l = worldObj.getBlockMetadata(xCoord, yCoord, zCoord); - float f = (float)xCoord + 0.5F; - float f1 = (float)yCoord + 3.0F/16.0F + par5Random.nextFloat() * 10.0F / 16.0F; - float f2 = (float)zCoord + 0.5F; - float f3 = 0.52F; - float f4 = par5Random.nextFloat() * 0.6F - 0.3F; - double mx = par5Random.nextDouble() * 0.08-0.04D; - double my = par5Random.nextDouble() * 0.08-0.04D; - double mz = par5Random.nextDouble() * 0.08-0.04D; - - if (l == 4) - { - worldObj.spawnParticle("smoke", (double)(f - f3), (double)f1, (double)(f2 + f4), mx-0.1D, my, mz); - worldObj.spawnParticle("flame", (double)(f - f3), (double)f1, (double)(f2 + f4), mx-0.1D, my, mz); - } - else if (l == 5) - { - worldObj.spawnParticle("smoke", (double)(f + f3), (double)f1, (double)(f2 + f4), mx+0.1D, my, mz); - worldObj.spawnParticle("flame", (double)(f + f3), (double)f1, (double)(f2 + f4), mx+0.1D, my, mz); - } - else if (l == 2) - { - worldObj.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 - f3), mx, my, mz-0.1D); - worldObj.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 - f3), mx, my, mz-0.1D); - } - else if (l == 3) - { - worldObj.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 + f3), mx, my, mz+0.1D); - worldObj.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 + f3), mx, my, mz+0.1D); - } - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/models/ModelDate.java b/common/rebelkeithy/mods/atum/blocks/models/ModelDate.java deleted file mode 100644 index 59b8437..0000000 --- a/common/rebelkeithy/mods/atum/blocks/models/ModelDate.java +++ /dev/null @@ -1,60 +0,0 @@ -// Date: 4/11/2013 12:08:25 AM -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package rebelkeithy.mods.atum.blocks.models; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelDate extends ModelBase -{ - // fields - ModelRenderer Fruit; - ModelRenderer Stem; - - public ModelDate() - { - textureWidth = 32; - textureHeight = 32; - - Fruit = new ModelRenderer(this, 0, 0); - Fruit.addBox(0F, 0F, 0F, 6, 8, 6); - Fruit.setRotationPoint(-1F, 3F, -1F); - Fruit.setTextureSize(32, 32); - Fruit.mirror = true; - setRotation(Fruit, 0F, 0F, 0F); - Stem = new ModelRenderer(this, 0, 14); - Stem.addBox(0F, 0F, 0F, 2, 6, 2); - Stem.setRotationPoint(1F, -3F, 1F); - Stem.setTextureSize(32, 32); - Stem.mirror = true; - setRotation(Stem, 0F, 0F, 0F); - } - - @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - //setRotationAngles(f, f1, f2, f3, f4, f5); - Fruit.render(f5); - Stem.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity par7Entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, par7Entity); - } - -} diff --git a/common/rebelkeithy/mods/atum/blocks/ores/BlockAtumOre.java b/common/rebelkeithy/mods/atum/blocks/ores/BlockAtumOre.java deleted file mode 100644 index 0087475..0000000 --- a/common/rebelkeithy/mods/atum/blocks/ores/BlockAtumOre.java +++ /dev/null @@ -1,104 +0,0 @@ -package rebelkeithy.mods.atum.blocks.ores; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.item.Item; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumBlocks; - -public class BlockAtumOre extends Block -{ - public BlockAtumOre(int par1) - { - super(par1, Material.rock); - } - - /** - * Returns the ID of the items to drop on destruction. - */ - @Override - public int idDropped(int par1, Random par2Random, int par3) - { - if(this.blockID == AtumBlocks.coalOre.blockID) - return Item.coal.itemID; - else if(this.blockID == AtumBlocks.diamondOre.blockID) - return Item.diamond.itemID; - else if(this.blockID == AtumBlocks.lapisOre.blockID) - return Item.dyePowder.itemID; - else - return this.blockID; - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - @Override - public int quantityDropped(Random par1Random) - { - return this.blockID == AtumBlocks.lapisOre.blockID ? 4 + par1Random.nextInt(5) : 1; - } - - /** - * Returns the usual quantity dropped by the block plus a bonus of 1 to 'i' (inclusive). - */ - @Override - public int quantityDroppedWithBonus(int par1, Random par2Random) - { - if (par1 > 0 && this.blockID != this.idDropped(0, par2Random, par1)) - { - int j = par2Random.nextInt(par1 + 2) - 1; - - if (j < 0) - { - j = 0; - } - - return this.quantityDropped(par2Random) * (j + 1); - } - else - { - return this.quantityDropped(par2Random); - } - } - - /** - * Drops the block items with a specified chance of dropping the specified items - */ - @Override - public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) - { - super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, par7); - - if (this.idDropped(par5, par1World.rand, par7) != this.blockID) - { - int j1 = 0; - - if (this.blockID == AtumBlocks.coalOre.blockID) - { - j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 0, 2); - } - else if (this.blockID == AtumBlocks.diamondOre.blockID) - { - j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 3, 7); - } - else if (this.blockID == AtumBlocks.lapisOre.blockID) - { - j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 2, 5); - } - - this.dropXpOnBlockBreak(par1World, par2, par3, par4, j1); - } - } - - /** - * Determines the damage on the item the block drops. Used in cloth and wood. - */ - @Override - public int damageDropped(int par1) - { - return this.blockID == AtumBlocks.lapisOre.blockID ? 4 : 0; - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/ores/BlockAtumRedstone.java b/common/rebelkeithy/mods/atum/blocks/ores/BlockAtumRedstone.java deleted file mode 100644 index 2eecec7..0000000 --- a/common/rebelkeithy/mods/atum/blocks/ores/BlockAtumRedstone.java +++ /dev/null @@ -1,165 +0,0 @@ -package rebelkeithy.mods.atum.blocks.ores; - -import java.util.Random; - -import net.minecraft.block.BlockRedstoneOre; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumBlocks; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockAtumRedstone extends BlockRedstoneOre -{ - - public BlockAtumRedstone(int par1) - { - super(par1, true); - } - - @Override - public int getLightValue(IBlockAccess world, int x, int y, int z) - { - if(world.getBlockMetadata(x, y, z) == 1) - return (int)(15*0.625); - else - return 0; - } - - /** - * Called when the block is clicked by a player. Args: x, y, z, entityPlayer - */ - @Override - public void onBlockClicked(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer) - { - this.glow(par1World, par2, par3, par4); - super.onBlockClicked(par1World, par2, par3, par4, par5EntityPlayer); - } - - /** - * Called whenever an entity is walking on top of this block. Args: world, x, y, z, entity - */ - @Override - public void onEntityWalking(World par1World, int par2, int par3, int par4, Entity par5Entity) - { - this.glow(par1World, par2, par3, par4); - super.onEntityWalking(par1World, par2, par3, par4, par5Entity); - } - - /** - * Called upon block activation (right click on the block.) - */ - @Override - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) - { - this.glow(par1World, par2, par3, par4); - return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9); - } - - /** - * The redstone ore glows. - */ - private void glow(World par1World, int par2, int par3, int par4) - { - this.sparkle(par1World, par2, par3, par4); - - int meta = par1World.getBlockId(par2, par3, par4); - if (meta != 1) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); - } - } - - /** - * Ticks the block if it's been scheduled - */ - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - int meta = par1World.getBlockMetadata(par2, par3, par4); - if (meta == 1) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); - } - } - - @SideOnly(Side.CLIENT) - - /** - * A randomly called display update to be able to add particles or other items for display - */ - @Override - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - int meta = par1World.getBlockMetadata(par2, par3, par4); - if (meta == 1) - { - this.sparkle(par1World, par2, par3, par4); - } - } - - /** - * The redstone ore sparkles. - */ - private void sparkle(World par1World, int par2, int par3, int par4) - { - Random random = par1World.rand; - double d0 = 0.0625D; - - for (int l = 0; l < 6; ++l) - { - double d1 = (double)((float)par2 + random.nextFloat()); - double d2 = (double)((float)par3 + random.nextFloat()); - double d3 = (double)((float)par4 + random.nextFloat()); - - if (l == 0 && !par1World.isBlockOpaqueCube(par2, par3 + 1, par4)) - { - d2 = (double)(par3 + 1) + d0; - } - - if (l == 1 && !par1World.isBlockOpaqueCube(par2, par3 - 1, par4)) - { - d2 = (double)(par3 + 0) - d0; - } - - if (l == 2 && !par1World.isBlockOpaqueCube(par2, par3, par4 + 1)) - { - d3 = (double)(par4 + 1) + d0; - } - - if (l == 3 && !par1World.isBlockOpaqueCube(par2, par3, par4 - 1)) - { - d3 = (double)(par4 + 0) - d0; - } - - if (l == 4 && !par1World.isBlockOpaqueCube(par2 + 1, par3, par4)) - { - d1 = (double)(par2 + 1) + d0; - } - - if (l == 5 && !par1World.isBlockOpaqueCube(par2 - 1, par3, par4)) - { - d1 = (double)(par2 + 0) - d0; - } - - if (d1 < (double)par2 || d1 > (double)(par2 + 1) || d2 < 0.0D || d2 > (double)(par3 + 1) || d3 < (double)par4 || d3 > (double)(par4 + 1)) - { - par1World.spawnParticle("reddust", d1, d2, d3, 0.0D, 0.0D, 0.0D); - } - } - } - - /** - * Returns an item stack containing a single instance of the current block type. 'i' is the block's subtype/damage - * and is ignored for blocks which do not support subtypes. Blocks which cannot be harvested should return null. - */ - @Override - protected ItemStack createStackedBlock(int par1) - { - return new ItemStack(AtumBlocks.redstoneOre); - } - -} diff --git a/common/rebelkeithy/mods/atum/blocks/renderers/DateBlockRenderer.java b/common/rebelkeithy/mods/atum/blocks/renderers/DateBlockRenderer.java deleted file mode 100644 index d079236..0000000 --- a/common/rebelkeithy/mods/atum/blocks/renderers/DateBlockRenderer.java +++ /dev/null @@ -1,293 +0,0 @@ -package rebelkeithy.mods.atum.blocks.renderers; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.util.Icon; -import net.minecraft.world.IBlockAccess; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.blocks.BlockDate; -import rebelkeithy.mods.atum.blocks.models.ModelDate; -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; - -public class DateBlockRenderer implements ISimpleBlockRenderingHandler -{ - ModelDate modelDate = new ModelDate(); - - @Override - public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) - { - //renderWorldBlock(null, 0, 0, 0, block, modelID, renderer); - } - - @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) - { - //BlockDate block = (BlockDate) Atum.atumDateBlock; - Tessellator tessellator = Tessellator.instance; - if(world != null) - tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); - else - tessellator.setBrightness(1); - - tessellator.setColorOpaque_F(1.0F, 1.0F, 1.0F); - Icon icon = block.getIcon(0, 0); - - double sideu1 = icon.getInterpolatedU(0); - double sideu2 = icon.getInterpolatedU(6); - double sidev1 = icon.getInterpolatedV(14); - double sidev2 = icon.getInterpolatedV(6); - - double topu1 = icon.getInterpolatedU(0); - double topu2 = icon.getInterpolatedU(6); - double topv1 = icon.getInterpolatedV(6); - double topv2 = icon.getInterpolatedV(0); - - double fx1 = 5/16.0D; - double fx2 = 11/16.0D; - double fz = 11/16.0D; - double y1 = 2/16.0D; - double y2 = 10/16.0D; - - - double bz = 5/16.0D; - - tessellator.addVertexWithUV(x+fx1, y+y1, z+fz, sideu1, sidev1); - tessellator.addVertexWithUV(x+fx2, y+y1, z+fz, sideu2, sidev1); - tessellator.addVertexWithUV(x+fx2, y+y2, z+fz, sideu2, sidev2); - tessellator.addVertexWithUV(x+fx1, y+y2, z+fz, sideu1, sidev2); - - tessellator.addVertexWithUV(x+fx1, y+y1, z+bz, sideu1, sidev1); - tessellator.addVertexWithUV(x+fx1, y+y2, z+bz, sideu1, sidev2); - tessellator.addVertexWithUV(x+fx2, y+y2, z+bz, sideu2, sidev2); - tessellator.addVertexWithUV(x+fx2, y+y1, z+bz, sideu2, sidev1); - - tessellator.addVertexWithUV(x+fz, y+y1, z+fx1, sideu1, sidev1); - tessellator.addVertexWithUV(x+fz, y+y2, z+fx1, sideu1, sidev2); - tessellator.addVertexWithUV(x+fz, y+y2, z+fx2, sideu2, sidev2); - tessellator.addVertexWithUV(x+fz, y+y1, z+fx2, sideu2, sidev1); - - tessellator.addVertexWithUV(x+bz, y+y1, z+fx1, sideu1, sidev1); - tessellator.addVertexWithUV(x+bz, y+y1, z+fx2, sideu2, sidev1); - tessellator.addVertexWithUV(x+bz, y+y2, z+fx2, sideu2, sidev2); - tessellator.addVertexWithUV(x+bz, y+y2, z+fx1, sideu1, sidev2); - - tessellator.addVertexWithUV(x+bz, y+y2, z+fx1, topu1, topv1); - tessellator.addVertexWithUV(x+bz, y+y2, z+fx2, topu1, topv2); - tessellator.addVertexWithUV(x+fz, y+y2, z+fx2, topu2, topv2); - tessellator.addVertexWithUV(x+fz, y+y2, z+fx1, topu2, topv1); - - tessellator.addVertexWithUV(x+bz, y+y1, z+fx1, topu1, topv1); - tessellator.addVertexWithUV(x+fz, y+y1, z+fx1, topu2, topv1); - tessellator.addVertexWithUV(x+fz, y+y1, z+fx2, topu2, topv2); - tessellator.addVertexWithUV(x+bz, y+y1, z+fx2, topu1, topv2); - - - sideu1 = icon.getInterpolatedU(6); - sideu2 = icon.getInterpolatedU(8); - sidev1 = icon.getInterpolatedV(12); - sidev2 = icon.getInterpolatedV(6); - - topu1 = icon.getInterpolatedU(6); - topu2 = icon.getInterpolatedU(8); - topv1 = icon.getInterpolatedV(2); - topv2 = icon.getInterpolatedV(0); - - fx1 = 7/16.0D; - fx2 = 9/16.0D; - bz = 7/16.0D; - fz = 9/16.0D; - y1 = 10/16.0D; - y2 = 16/16.0D; - - tessellator.addVertexWithUV(x+fx1, y+y1, z+fz, sideu1, sidev1); - tessellator.addVertexWithUV(x+fx2, y+y1, z+fz, sideu2, sidev1); - tessellator.addVertexWithUV(x+fx2, y+y2, z+fz, sideu2, sidev2); - tessellator.addVertexWithUV(x+fx1, y+y2, z+fz, sideu1, sidev2); - - tessellator.addVertexWithUV(x+fx1, y+y1, z+bz, sideu1, sidev1); - tessellator.addVertexWithUV(x+fx1, y+y2, z+bz, sideu1, sidev2); - tessellator.addVertexWithUV(x+fx2, y+y2, z+bz, sideu2, sidev2); - tessellator.addVertexWithUV(x+fx2, y+y1, z+bz, sideu2, sidev1); - - tessellator.addVertexWithUV(x+fz, y+y1, z+fx1, sideu1, sidev1); - tessellator.addVertexWithUV(x+fz, y+y2, z+fx1, sideu1, sidev2); - tessellator.addVertexWithUV(x+fz, y+y2, z+fx2, sideu2, sidev2); - tessellator.addVertexWithUV(x+fz, y+y1, z+fx2, sideu2, sidev1); - - tessellator.addVertexWithUV(x+bz, y+y1, z+fx1, sideu1, sidev1); - tessellator.addVertexWithUV(x+bz, y+y1, z+fx2, sideu2, sidev1); - tessellator.addVertexWithUV(x+bz, y+y2, z+fx2, sideu2, sidev2); - tessellator.addVertexWithUV(x+bz, y+y2, z+fx1, sideu1, sidev2); - - tessellator.addVertexWithUV(x+bz, y+y2, z+fx1, topu1, topv1); - tessellator.addVertexWithUV(x+bz, y+y2, z+fx2, topu1, topv2); - tessellator.addVertexWithUV(x+fz, y+y2, z+fx2, topu2, topv2); - tessellator.addVertexWithUV(x+fz, y+y2, z+fx1, topu2, topv1); - - tessellator.addVertexWithUV(x+bz, y+y1, z+fx1, topu1, topv1); - tessellator.addVertexWithUV(x+fz, y+y1, z+fx1, topu2, topv1); - tessellator.addVertexWithUV(x+fz, y+y1, z+fx2, topu2, topv2); - tessellator.addVertexWithUV(x+bz, y+y1, z+fx2, topu1, topv2); - - - /* - int l = world.getBlockMetadata(x, y, z); - int i1 = BlockDirectional.getDirection(l); - int j1 = BlockCocoa.func_72219_c(l); - Icon icon = block.getBlockTextureFromSide(j1); - int k1 = 4 + j1 * 2; - int l1 = 5 + j1 * 2; - double d0 = 15.0D - (double)k1; - double d1 = 15.0D; - double d2 = 4.0D; - double d3 = 4.0D + (double)l1; - double d4 = (double)icon.getInterpolatedU(d0); - double d5 = (double)icon.getInterpolatedU(d1); - double d6 = (double)icon.getInterpolatedV(d2); - double d7 = (double)icon.getInterpolatedV(d3); - double d8 = 0.0D; - double d9 = 0.0D; - - switch (i1) - { - case 0: - d8 = 8.0D - (double)(k1 / 2); - d9 = 15.0D - (double)k1; - break; - case 1: - d8 = 1.0D; - d9 = 8.0D - (double)(k1 / 2); - break; - case 2: - d8 = 8.0D - (double)(k1 / 2); - d9 = 1.0D; - break; - case 3: - d8 = 15.0D - (double)k1; - d9 = 8.0D - (double)(k1 / 2); - } - - double d10 = (double)x + d8 / 16.0D; - double d11 = (double)x + (d8 + (double)k1) / 16.0D; - double d12 = (double)y + (12.0D - (double)l1) / 16.0D; - double d13 = (double)y + 0.75D; - double d14 = (double)z + d9 / 16.0D; - double d15 = (double)z + (d9 + (double)k1) / 16.0D; - tessellator.addVertexWithUV(d10, d12, d14, d4, d7); - tessellator.addVertexWithUV(d10, d12, d15, d5, d7); - tessellator.addVertexWithUV(d10, d13, d15, d5, d6); - tessellator.addVertexWithUV(d10, d13, d14, d4, d6); - tessellator.addVertexWithUV(d11, d12, d15, d4, d7); - tessellator.addVertexWithUV(d11, d12, d14, d5, d7); - tessellator.addVertexWithUV(d11, d13, d14, d5, d6); - tessellator.addVertexWithUV(d11, d13, d15, d4, d6); - tessellator.addVertexWithUV(d11, d12, d14, d4, d7); - tessellator.addVertexWithUV(d10, d12, d14, d5, d7); - tessellator.addVertexWithUV(d10, d13, d14, d5, d6); - tessellator.addVertexWithUV(d11, d13, d14, d4, d6); - tessellator.addVertexWithUV(d10, d12, d15, d4, d7); - tessellator.addVertexWithUV(d11, d12, d15, d5, d7); - tessellator.addVertexWithUV(d11, d13, d15, d5, d6); - tessellator.addVertexWithUV(d10, d13, d15, d4, d6); - int i2 = k1; - - if (j1 >= 2) - { - i2 = k1 - 1; - } - - d4 = (double)icon.getMinU(); - d5 = (double)icon.getInterpolatedU((double)i2); - d6 = (double)icon.getMinV(); - d7 = (double)icon.getInterpolatedV((double)i2); - tessellator.addVertexWithUV(d10, d13, d15, d4, d7); - tessellator.addVertexWithUV(d11, d13, d15, d5, d7); - tessellator.addVertexWithUV(d11, d13, d14, d5, d6); - tessellator.addVertexWithUV(d10, d13, d14, d4, d6); - tessellator.addVertexWithUV(d10, d12, d14, d4, d6); - tessellator.addVertexWithUV(d11, d12, d14, d5, d6); - tessellator.addVertexWithUV(d11, d12, d15, d5, d7); - tessellator.addVertexWithUV(d10, d12, d15, d4, d7); - d4 = (double)icon.getInterpolatedU(12.0D); - d5 = (double)icon.getMaxU(); - d6 = (double)icon.getMinV(); - d7 = (double)icon.getInterpolatedV(4.0D); - d8 = 8.0D; - d9 = 0.0D; - double d16; - - switch (i1) - { - case 0: - d8 = 8.0D; - d9 = 12.0D; - d16 = d4; - d4 = d5; - d5 = d16; - break; - case 1: - d8 = 0.0D; - d9 = 8.0D; - break; - case 2: - d8 = 8.0D; - d9 = 0.0D; - break; - case 3: - d8 = 12.0D; - d9 = 8.0D; - d16 = d4; - d4 = d5; - d5 = d16; - } - - d10 = (double)x + d8 / 16.0D; - d11 = (double)x + (d8 + 4.0D) / 16.0D; - d12 = (double)y + 0.75D; - d13 = (double)y + 1.0D; - d14 = (double)z + d9 / 16.0D; - d15 = (double)z + (d9 + 4.0D) / 16.0D; - - if (i1 != 2 && i1 != 0) - { - if (i1 == 1 || i1 == 3) - { - tessellator.addVertexWithUV(d11, d12, d14, d4, d7); - tessellator.addVertexWithUV(d10, d12, d14, d5, d7); - tessellator.addVertexWithUV(d10, d13, d14, d5, d6); - tessellator.addVertexWithUV(d11, d13, d14, d4, d6); - tessellator.addVertexWithUV(d10, d12, d14, d5, d7); - tessellator.addVertexWithUV(d11, d12, d14, d4, d7); - tessellator.addVertexWithUV(d11, d13, d14, d4, d6); - tessellator.addVertexWithUV(d10, d13, d14, d5, d6); - } - } - else - { - tessellator.addVertexWithUV(d10, d12, d14, d5, d7); - tessellator.addVertexWithUV(d10, d12, d15, d4, d7); - tessellator.addVertexWithUV(d10, d13, d15, d4, d6); - tessellator.addVertexWithUV(d10, d13, d14, d5, d6); - tessellator.addVertexWithUV(d10, d12, d15, d4, d7); - tessellator.addVertexWithUV(d10, d12, d14, d5, d7); - tessellator.addVertexWithUV(d10, d13, d14, d5, d6); - tessellator.addVertexWithUV(d10, d13, d15, d4, d6); - } - */ - return true; - } - - @Override - public boolean shouldRender3DInInventory() - { - return false; - } - - @Override - public int getRenderId() - { - return ((BlockDate)(AtumBlocks.dateBlock)).renderID; - } - -} diff --git a/common/rebelkeithy/mods/atum/blocks/renderers/PapyrusBlockRenderer.java b/common/rebelkeithy/mods/atum/blocks/renderers/PapyrusBlockRenderer.java deleted file mode 100644 index 9c2a1b8..0000000 --- a/common/rebelkeithy/mods/atum/blocks/renderers/PapyrusBlockRenderer.java +++ /dev/null @@ -1,112 +0,0 @@ -package rebelkeithy.mods.atum.blocks.renderers; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.EntityRenderer; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.util.Icon; -import net.minecraft.world.IBlockAccess; -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; -import cpw.mods.fml.client.registry.RenderingRegistry; - -public class PapyrusBlockRenderer implements ISimpleBlockRenderingHandler -{ - - - @Override - public void renderInventoryBlock(Block block, int metadata, int modelID, - RenderBlocks renderer) - { - // TODO Auto-generated method stub - - } - - @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) - { - Tessellator tessellator = Tessellator.instance; - tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); - float f = 1.0F; - int l = block.colorMultiplier(world, x, y, z); - float f1 = (float)(l >> 16 & 255) / 255.0F; - float f2 = (float)(l >> 8 & 255) / 255.0F; - float f3 = (float)(l & 255) / 255.0F; - - if (EntityRenderer.anaglyphEnable) - { - float f4 = (f1 * 30.0F + f2 * 59.0F + f3 * 11.0F) / 100.0F; - float f5 = (f1 * 30.0F + f2 * 70.0F) / 100.0F; - float f6 = (f1 * 30.0F + f3 * 70.0F) / 100.0F; - f1 = f4; - f2 = f5; - f3 = f6; - } - - tessellator.setColorOpaque_F(f * f1, f * f2, f * f3); - double d0 = (double)x; - double d1 = (double)y; - double d2 = (double)z; - - if (block == Block.tallGrass) - { - long i1 = (long)(x * 3129871) ^ (long)z * 116129781L ^ (long)y; - i1 = i1 * i1 * 42317861L + i1 * 11L; - d0 += ((double)((float)(i1 >> 16 & 15L) / 15.0F) - 0.5D) * 0.5D; - d1 += ((double)((float)(i1 >> 20 & 15L) / 15.0F) - 1.0D) * 0.2D; - d2 += ((double)((float)(i1 >> 24 & 15L) / 15.0F) - 0.5D) * 0.5D; - } - - Icon icon = block.getBlockTexture(world, x, y, z, 0); - this.drawCrossedSquares(icon, block, world.getBlockMetadata(x, y, z), d0, d1, d2, 1.0F); - return true; - } - - /** - * Utility function to draw crossed swuares - */ - public void drawCrossedSquares(Icon icon, Block par1Block, int par2, double par3, double par5, double par7, float par9) - { - Tessellator tessellator = Tessellator.instance; - - double d3 = (double)icon.getMinU(); - double d4 = (double)icon.getMinV(); - double d5 = (double)icon.getMaxU(); - double d6 = (double)icon.getMaxV(); - double d7 = 0.45D * (double)par9; - double d8 = par3 + 0.5D - d7; - double d9 = par3 + 0.5D + d7; - double d10 = par7 + 0.5D - d7; - double d11 = par7 + 0.5D + d7; - tessellator.addVertexWithUV(d8, par5 + (double)par9, d10, d3, d4); - tessellator.addVertexWithUV(d8, par5 + 0.0D, d10, d3, d6); - tessellator.addVertexWithUV(d9, par5 + 0.0D, d11, d5, d6); - tessellator.addVertexWithUV(d9, par5 + (double)par9, d11, d5, d4); - tessellator.addVertexWithUV(d9, par5 + (double)par9, d11, d3, d4); - tessellator.addVertexWithUV(d9, par5 + 0.0D, d11, d3, d6); - tessellator.addVertexWithUV(d8, par5 + 0.0D, d10, d5, d6); - tessellator.addVertexWithUV(d8, par5 + (double)par9, d10, d5, d4); - tessellator.addVertexWithUV(d8, par5 + (double)par9, d11, d3, d4); - tessellator.addVertexWithUV(d8, par5 + 0.0D, d11, d3, d6); - tessellator.addVertexWithUV(d9, par5 + 0.0D, d10, d5, d6); - tessellator.addVertexWithUV(d9, par5 + (double)par9, d10, d5, d4); - tessellator.addVertexWithUV(d9, par5 + (double)par9, d10, d3, d4); - tessellator.addVertexWithUV(d9, par5 + 0.0D, d10, d3, d6); - tessellator.addVertexWithUV(d8, par5 + 0.0D, d11, d5, d6); - tessellator.addVertexWithUV(d8, par5 + (double)par9, d11, d5, d4); - } - - @Override - public boolean shouldRender3DInInventory() - { - // TODO Auto-generated method stub - return false; - } - - @Override - public int getRenderId() - { - // TODO Auto-generated method stub - return 0; - } - -} diff --git a/common/rebelkeithy/mods/atum/cursedchest/BlockChestSpawner.java b/common/rebelkeithy/mods/atum/cursedchest/BlockChestSpawner.java deleted file mode 100644 index 70dd317..0000000 --- a/common/rebelkeithy/mods/atum/cursedchest/BlockChestSpawner.java +++ /dev/null @@ -1,320 +0,0 @@ -package rebelkeithy.mods.atum.cursedchest; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.Iterator; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.passive.EntityOcelot; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.InventoryLargeChest; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.MobSpawnerBaseLogic; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.MathHelper; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; - -import static net.minecraftforge.common.ForgeDirection.*; - -public class BlockChestSpawner extends BlockContainer -{ - - private final Random random = new Random(); - public final int field_94443_a; - - public BlockChestSpawner(int par1) - { - super(par1, Material.wood); - this.field_94443_a = 0; - this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); - } - - - @Override - public int idDropped(int par1, Random par2Random, int par3) - { - return Block.chest.blockID; - } - - /** - * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two - * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block. - */ - @Override - public boolean isOpaqueCube() - { - return false; - } - - /** - * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc) - */ - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - /** - * The type of render function that is called for this block - */ - @Override - public int getRenderType() - { - return 22; - } - - /** - * Updates the blocks bounds based on its current state. Args: world, x, y, z - */ - @Override - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) - { - this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); - } - - /** - * Called when the block is placed in the world. - */ - @Override - public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack) - { - int l = par1World.getBlockId(par2, par3, par4 - 1); - int i1 = par1World.getBlockId(par2, par3, par4 + 1); - int j1 = par1World.getBlockId(par2 - 1, par3, par4); - int k1 = par1World.getBlockId(par2 + 1, par3, par4); - byte b0 = 0; - int l1 = MathHelper.floor_double((double)(par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; - - if (l1 == 0) - { - b0 = 2; - } - - if (l1 == 1) - { - b0 = 5; - } - - if (l1 == 2) - { - b0 = 3; - } - - if (l1 == 3) - { - b0 = 4; - } - - if (l != this.blockID && i1 != this.blockID && j1 != this.blockID && k1 != this.blockID) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } - else - { - if ((l == this.blockID || i1 == this.blockID) && (b0 == 4 || b0 == 5)) - { - if (l == this.blockID) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4 - 1, b0, 3); - } - else - { - par1World.setBlockMetadataWithNotify(par2, par3, par4 + 1, b0, 3); - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } - - if ((j1 == this.blockID || k1 == this.blockID) && (b0 == 2 || b0 == 3)) - { - if (j1 == this.blockID) - { - par1World.setBlockMetadataWithNotify(par2 - 1, par3, par4, b0, 3); - } - else - { - par1World.setBlockMetadataWithNotify(par2 + 1, par3, par4, b0, 3); - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } - } - - if (par6ItemStack.hasDisplayName()) - { - ((TileEntityChestSpawner)par1World.getBlockTileEntity(par2, par3, par4)).func_94043_a(par6ItemStack.getDisplayName()); - } - } - - /** - * 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, int par5, int par6) - { - par1World.func_96440_m(par2, par3, par4, par5); - - super.breakBlock(par1World, par2, par3, par4, par5, par6); - } - - /** - * Called upon block activation (right click on the block.) - */ - @Override - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) - { - if (par1World.isRemote) - { - return true; - } - else - { - IInventory iinventory = this.getInventory(par1World, par2, par3, par4); - - if (iinventory != null) - { - par5EntityPlayer.displayGUIChest(iinventory); - } - - return true; - } - } - - public IInventory getInventory(World par1World, int par2, int par3, int par4) - { - Object object = (TileEntityChestSpawner)par1World.getBlockTileEntity(par2, par3, par4); - - if (object == null) - { - return null; - } - else if (par1World.isBlockSolidOnSide(par2, par3 + 1, par4, DOWN)) - { - return null; - } - else if (isOcelotBlockingChest(par1World, par2, par3, par4)) - { - return null; - } - else - { - return (IInventory)object; - } - } - - /** - * Returns a new instance of a block's tile entity class. Called on placing the block. - */ - @Override - public TileEntity createNewTileEntity(World par1World) - { - TileEntityChestSpawner TileEntityChestSpawner = new TileEntityChestSpawner(); - return TileEntityChestSpawner; - } - - /** - * Can this block provide power. Only wire currently seems to have this change based on its state. - */ - @Override - public boolean canProvidePower() - { - return this.field_94443_a == 1; - } - - /** - * Returns true if the block is emitting indirect/weak redstone power on the specified side. If isBlockNormalCube - * returns true, standard redstone propagation rules will apply instead and this will not be called. Args: World, X, - * Y, Z, side. Note that the side is reversed - eg it is 1 (up) when checking the bottom of the block. - */ - @Override - public int isProvidingWeakPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) - { - if (!this.canProvidePower()) - { - return 0; - } - else - { - int i1 = ((TileEntityChestSpawner)par1IBlockAccess.getBlockTileEntity(par2, par3, par4)).numUsingPlayers; - return MathHelper.clamp_int(i1, 0, 15); - } - } - - /** - * Returns true if the block is emitting direct/strong redstone power on the specified side. Args: World, X, Y, Z, - * side. Note that the side is reversed - eg it is 1 (up) when checking the bottom of the block. - */ - public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) - { - return par5 == 1 ? this.isProvidingWeakPower(par1IBlockAccess, par2, par3, par4, par5) : 0; - } - - /** - * Looks for a sitting ocelot within certain bounds. Such an ocelot is considered to be blocking access to the - * chest. - */ - public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) - { - Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getAABBPool().getAABB((double)par1, (double)(par2 + 1), (double)par3, (double)(par1 + 1), (double)(par2 + 2), (double)(par3 + 1))).iterator(); - EntityOcelot entityocelot; - - do - { - if (!iterator.hasNext()) - { - return false; - } - - EntityOcelot entityocelot1 = (EntityOcelot)iterator.next(); - entityocelot = (EntityOcelot)entityocelot1; - } - while (!entityocelot.isSitting()); - - return true; - } - - /** - * If this returns true, then comparators facing away from this block will use the value from - * getComparatorInputOverride instead of the actual redstone signal strength. - */ - @Override - public boolean hasComparatorInputOverride() - { - return true; - } - - /** - * If hasComparatorInputOverride returns true, the return value from this is used instead of the redstone signal - * strength when this block inputs to a comparator. - */ - @Override - public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) - { - return Container.calcRedstoneFromInventory(this.getInventory(par1World, par2, par3, par4)); - } - - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) - { - this.blockIcon = par1IconRegister.registerIcon("wood"); - } -} diff --git a/common/rebelkeithy/mods/atum/cursedchest/CursedChestBaseLogic.java b/common/rebelkeithy/mods/atum/cursedchest/CursedChestBaseLogic.java deleted file mode 100644 index f756d81..0000000 --- a/common/rebelkeithy/mods/atum/cursedchest/CursedChestBaseLogic.java +++ /dev/null @@ -1,364 +0,0 @@ -package rebelkeithy.mods.atum.cursedchest; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityList; -import net.minecraft.entity.EntityLiving; -import net.minecraft.nbt.NBTBase; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.WeightedRandomMinecart; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.WeightedRandom; -import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public abstract class CursedChestBaseLogic -{ - public int timeRemaining = 20; - private String mobID = "Pig"; - private List field_98285_e = null; - private WeightedRandomMinecart field_98282_f = null; - public double field_98287_c; - public double field_98284_d = 0.0D; - public int minSpawnDelay = 200; - public int maxSpawnDelay = 800; - public int numEntities = 4; - private Entity field_98291_j; - public int maxNearbyEntities = 6; - private int field_98289_l = 16; - public int SpawnRange = 1; - public boolean forceSpawn = false; - - public String func_98276_e() - { - if (this.func_98269_i() == null) - { - if (this.mobID.equals("Minecart")) - { - this.mobID = "MinecartRideable"; - } - - return this.mobID; - } - else - { - return this.func_98269_i().minecartName; - } - } - - public void setMobID(String par1Str) - { - this.mobID = par1Str; - } - - /** - * Returns true if there's a player close enough to this mob spawner to activate it. - */ - public boolean canRun() - { - return this.getSpawnerWorld().getClosestPlayer((double)this.getSpawnerX() + 0.5D, (double)this.getSpawnerY() + 0.5D, (double)this.getSpawnerZ() + 0.5D, (double)this.field_98289_l) != null; - } - - public void updateSpawner() - { - if (this.canRun()) - { - double d0; - - if (this.getSpawnerWorld().isRemote) - { - double d1 = (double)((float)this.getSpawnerX() + this.getSpawnerWorld().rand.nextFloat()); - double d2 = (double)((float)this.getSpawnerY() + this.getSpawnerWorld().rand.nextFloat()); - d0 = (double)((float)this.getSpawnerZ() + this.getSpawnerWorld().rand.nextFloat()); - this.getSpawnerWorld().spawnParticle("smoke", d1, d2, d0, 0.0D, 0.0D, 0.0D); - this.getSpawnerWorld().spawnParticle("flame", d1, d2, d0, 0.0D, 0.0D, 0.0D); - - if (this.timeRemaining > 0) - { - --this.timeRemaining; - } - - this.field_98284_d = this.field_98287_c; - this.field_98287_c = (this.field_98287_c + (double)(1000.0F / ((float)this.timeRemaining + 200.0F))) % 360.0D; - } - else - { - if (this.timeRemaining == -1) - { - this.func_98273_j(); - } - - if (this.timeRemaining > 0) - { - --this.timeRemaining; - return; - } - - boolean flag = false; - - - for (int i = 0; i < this.numEntities; ++i) - { - Entity entity = EntityList.createEntityByName(this.func_98276_e(), this.getSpawnerWorld()); - if (entity == null) - { - return; - } - - int j = this.getSpawnerWorld().getEntitiesWithinAABB(entity.getClass(), AxisAlignedBB.getAABBPool().getAABB((double)this.getSpawnerX(), (double)this.getSpawnerY(), (double)this.getSpawnerZ(), (double)(this.getSpawnerX() + 1), (double)(this.getSpawnerY() + 1), (double)(this.getSpawnerZ() + 1)).expand((double)(this.SpawnRange * 2), 4.0D, (double)(this.SpawnRange * 2))).size(); - - if (j >= this.maxNearbyEntities) - { - this.func_98273_j(); - return; - } - - d0 = (double)this.getSpawnerX() + (this.getSpawnerWorld().rand.nextDouble() - this.getSpawnerWorld().rand.nextDouble()) * (double)this.SpawnRange; - double d3 = (double)(this.getSpawnerY() + this.getSpawnerWorld().rand.nextInt(3) - 1); - double d4 = (double)this.getSpawnerZ() + (this.getSpawnerWorld().rand.nextDouble() - this.getSpawnerWorld().rand.nextDouble()) * (double)this.SpawnRange; - EntityLiving entityliving = entity instanceof EntityLiving ? (EntityLiving)entity : null; - entity.setLocationAndAngles(d0, d3, d4, this.getSpawnerWorld().rand.nextFloat() * 360.0F, 0.0F); - - if (entityliving == null || entityliving.getCanSpawnHere()) - { - this.func_98265_a(entity); - this.getSpawnerWorld().playAuxSFX(2004, this.getSpawnerX(), this.getSpawnerY(), this.getSpawnerZ(), 0); - - if (entityliving != null) - { - entityliving.spawnExplosionParticle(); - } - - flag = true; - } - } - - if (flag) - { - this.func_98273_j(); - } - } - } - } - - public Entity func_98265_a(Entity par1Entity) - { - if (this.func_98269_i() != null) - { - NBTTagCompound nbttagcompound = new NBTTagCompound(); - par1Entity.addEntityID(nbttagcompound); - Iterator iterator = this.func_98269_i().field_98222_b.getTags().iterator(); - - while (iterator.hasNext()) - { - NBTBase nbtbase = (NBTBase)iterator.next(); - nbttagcompound.setTag(nbtbase.getName(), nbtbase.copy()); - } - - par1Entity.readFromNBT(nbttagcompound); - - if (par1Entity.worldObj != null) - { - par1Entity.worldObj.spawnEntityInWorld(par1Entity); - } - - NBTTagCompound nbttagcompound1; - - for (Entity entity1 = par1Entity; nbttagcompound.hasKey("Riding"); nbttagcompound = nbttagcompound1) - { - nbttagcompound1 = nbttagcompound.getCompoundTag("Riding"); - Entity entity2 = EntityList.createEntityByName(nbttagcompound1.getString("id"), this.getSpawnerWorld()); - - if (entity2 != null) - { - NBTTagCompound nbttagcompound2 = new NBTTagCompound(); - entity2.addEntityID(nbttagcompound2); - Iterator iterator1 = nbttagcompound1.getTags().iterator(); - - while (iterator1.hasNext()) - { - NBTBase nbtbase1 = (NBTBase)iterator1.next(); - nbttagcompound2.setTag(nbtbase1.getName(), nbtbase1.copy()); - } - - entity2.readFromNBT(nbttagcompound2); - entity2.setLocationAndAngles(entity1.posX, entity1.posY, entity1.posZ, entity1.rotationYaw, entity1.rotationPitch); - this.getSpawnerWorld().spawnEntityInWorld(entity2); - entity1.mountEntity(entity2); - } - - entity1 = entity2; - } - } - else if (par1Entity instanceof EntityLiving && par1Entity.worldObj != null) - { - ((EntityLiving)par1Entity).initCreature(); - this.getSpawnerWorld().spawnEntityInWorld(par1Entity); - } - - return par1Entity; - } - - private void func_98273_j() - { - if (this.maxSpawnDelay <= this.minSpawnDelay) - { - this.timeRemaining = this.minSpawnDelay; - } - else - { - int i = this.maxSpawnDelay - this.minSpawnDelay; - this.timeRemaining = this.minSpawnDelay + this.getSpawnerWorld().rand.nextInt(i); - } - - if (this.field_98285_e != null && this.field_98285_e.size() > 0) - { - this.func_98277_a((WeightedRandomMinecart)WeightedRandom.getRandomItem(this.getSpawnerWorld().rand, this.field_98285_e)); - } - - this.func_98267_a(1); - } - - public void func_98270_a(NBTTagCompound par1NBTTagCompound) - { - this.mobID = par1NBTTagCompound.getString("EntityId"); - this.timeRemaining = par1NBTTagCompound.getShort("Delay"); - - if (par1NBTTagCompound.hasKey("SpawnPotentials")) - { - this.field_98285_e = new ArrayList(); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("SpawnPotentials"); - - for (int i = 0; i < nbttaglist.tagCount(); ++i) - { - //this.field_98285_e.add(new WeightedRandomMinecart(this, (NBTTagCompound)nbttaglist.tagAt(i))); - } - } - else - { - this.field_98285_e = null; - } - - if (par1NBTTagCompound.hasKey("SpawnData")) - { - //this.func_98277_a(new WeightedRandomMinecart(this, par1NBTTagCompound.getCompoundTag("SpawnData"), this.mobID)); - } - else - { - this.func_98277_a((WeightedRandomMinecart)null); - } - - if (par1NBTTagCompound.hasKey("MinSpawnDelay")) - { - this.minSpawnDelay = par1NBTTagCompound.getShort("MinSpawnDelay"); - this.maxSpawnDelay = par1NBTTagCompound.getShort("MaxSpawnDelay"); - this.numEntities = par1NBTTagCompound.getShort("SpawnCount"); - } - - if (par1NBTTagCompound.hasKey("MaxNearbyEntities")) - { - this.maxNearbyEntities = par1NBTTagCompound.getShort("MaxNearbyEntities"); - this.field_98289_l = par1NBTTagCompound.getShort("RequiredPlayerRange"); - } - - if (par1NBTTagCompound.hasKey("SpawnRange")) - { - this.SpawnRange = par1NBTTagCompound.getShort("SpawnRange"); - } - - if (this.getSpawnerWorld() != null && this.getSpawnerWorld().isRemote) - { - this.field_98291_j = null; - } - } - - public void func_98280_b(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setString("EntityId", this.func_98276_e()); - par1NBTTagCompound.setShort("Delay", (short)this.timeRemaining); - par1NBTTagCompound.setShort("MinSpawnDelay", (short)this.minSpawnDelay); - par1NBTTagCompound.setShort("MaxSpawnDelay", (short)this.maxSpawnDelay); - par1NBTTagCompound.setShort("SpawnCount", (short)this.numEntities); - par1NBTTagCompound.setShort("MaxNearbyEntities", (short)this.maxNearbyEntities); - par1NBTTagCompound.setShort("RequiredPlayerRange", (short)this.field_98289_l); - par1NBTTagCompound.setShort("SpawnRange", (short)this.SpawnRange); - - if (this.func_98269_i() != null) - { - par1NBTTagCompound.setCompoundTag("SpawnData", (NBTTagCompound)this.func_98269_i().field_98222_b.copy()); - } - - if (this.func_98269_i() != null || this.field_98285_e != null && this.field_98285_e.size() > 0) - { - NBTTagList nbttaglist = new NBTTagList(); - - if (this.field_98285_e != null && this.field_98285_e.size() > 0) - { - Iterator iterator = this.field_98285_e.iterator(); - - while (iterator.hasNext()) - { - WeightedRandomMinecart weightedrandomminecart = (WeightedRandomMinecart)iterator.next(); - nbttaglist.appendTag(weightedrandomminecart.func_98220_a()); - } - } - else - { - nbttaglist.appendTag(this.func_98269_i().func_98220_a()); - } - - par1NBTTagCompound.setTag("SpawnPotentials", nbttaglist); - } - } - - public boolean func_98268_b(int par1) - { - if (par1 == 1 && this.getSpawnerWorld().isRemote) - { - this.timeRemaining = this.minSpawnDelay; - return true; - } - else - { - return false; - } - } - - @SideOnly(Side.CLIENT) - public Entity func_98281_h() - { - if (this.field_98291_j == null) - { - Entity entity = EntityList.createEntityByName(this.func_98276_e(), (World)null); - entity = this.func_98265_a(entity); - this.field_98291_j = entity; - } - - return this.field_98291_j; - } - - public WeightedRandomMinecart func_98269_i() - { - return this.field_98282_f; - } - - public void func_98277_a(WeightedRandomMinecart par1WeightedRandomMinecart) - { - this.field_98282_f = par1WeightedRandomMinecart; - } - - public abstract void func_98267_a(int i); - - public abstract World getSpawnerWorld(); - - public abstract int getSpawnerX(); - - public abstract int getSpawnerY(); - - public abstract int getSpawnerZ(); -} diff --git a/common/rebelkeithy/mods/atum/cursedchest/CursedChestSpawnerLogic.java b/common/rebelkeithy/mods/atum/cursedchest/CursedChestSpawnerLogic.java deleted file mode 100644 index b7dfa62..0000000 --- a/common/rebelkeithy/mods/atum/cursedchest/CursedChestSpawnerLogic.java +++ /dev/null @@ -1,51 +0,0 @@ -package rebelkeithy.mods.atum.cursedchest; - -import net.minecraft.block.Block; -import net.minecraft.tileentity.MobSpawnerBaseLogic; -import net.minecraft.tileentity.WeightedRandomMinecart; -import net.minecraft.world.World; - -class CursedChestSpawnerLogic extends CursedChestBaseLogic -{ - final TileEntityChestSpawner field_98295_a; - - CursedChestSpawnerLogic(TileEntityChestSpawner tileEntityChestSpawner) - { - this.field_98295_a = tileEntityChestSpawner; - } - - public void func_98267_a(int par1) - { - this.field_98295_a.worldObj.addBlockEvent(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord, Block.mobSpawner.blockID, par1, 0); - } - - public World getSpawnerWorld() - { - return this.field_98295_a.worldObj; - } - - public int getSpawnerX() - { - return this.field_98295_a.xCoord; - } - - public int getSpawnerY() - { - return this.field_98295_a.yCoord; - } - - public int getSpawnerZ() - { - return this.field_98295_a.zCoord; - } - - public void func_98277_a(WeightedRandomMinecart par1WeightedRandomMinecart) - { - super.func_98277_a(par1WeightedRandomMinecart); - - if (this.getSpawnerWorld() != null) - { - this.getSpawnerWorld().markBlockForUpdate(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord); - } - } -} diff --git a/common/rebelkeithy/mods/atum/cursedchest/PharaohChest.java b/common/rebelkeithy/mods/atum/cursedchest/PharaohChest.java deleted file mode 100644 index a9364e3..0000000 --- a/common/rebelkeithy/mods/atum/cursedchest/PharaohChest.java +++ /dev/null @@ -1,342 +0,0 @@ -package rebelkeithy.mods.atum.cursedchest; - -import static net.minecraftforge.common.ForgeDirection.DOWN; - -import java.util.Iterator; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.passive.EntityOcelot; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.MathHelper; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumLoot; -import rebelkeithy.mods.atum.entities.EntityPharaoh; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class PharaohChest extends BlockContainer -{ - - private final Random random = new Random(); - public final int field_94443_a; - - public PharaohChest(int par1) - { - super(par1, Material.wood); - this.field_94443_a = 0; - this.setCreativeTab(CreativeTabs.tabDecorations); - this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); - } - - @Override - public int idDropped(int par1, Random par2Random, int par3) - { - return Block.chest.blockID; - } - - /** - * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two - * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block. - */ - @Override - public boolean isOpaqueCube() - { - return false; - } - - /** - * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc) - */ - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - /** - * The type of render function that is called for this block - */ - @Override - public int getRenderType() - { - return 22; - } - - /** - * Updates the blocks bounds based on its current state. Args: world, x, y, z - */ - @Override - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) - { - this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); - } - - /** - * Called when the block is placed in the world. - */ - @Override - public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack) - { - int l = par1World.getBlockId(par2, par3, par4 - 1); - int i1 = par1World.getBlockId(par2, par3, par4 + 1); - int j1 = par1World.getBlockId(par2 - 1, par3, par4); - int k1 = par1World.getBlockId(par2 + 1, par3, par4); - byte b0 = 0; - int l1 = MathHelper.floor_double((double)(par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; - - if (l1 == 0) - { - b0 = 2; - } - - if (l1 == 1) - { - b0 = 5; - } - - if (l1 == 2) - { - b0 = 3; - } - - if (l1 == 3) - { - b0 = 4; - } - - if (l != this.blockID && i1 != this.blockID && j1 != this.blockID && k1 != this.blockID) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } - else - { - if ((l == this.blockID || i1 == this.blockID) && (b0 == 4 || b0 == 5)) - { - if (l == this.blockID) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4 - 1, b0, 3); - } - else - { - par1World.setBlockMetadataWithNotify(par2, par3, par4 + 1, b0, 3); - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } - - if ((j1 == this.blockID || k1 == this.blockID) && (b0 == 2 || b0 == 3)) - { - if (j1 == this.blockID) - { - par1World.setBlockMetadataWithNotify(par2 - 1, par3, par4, b0, 3); - } - else - { - par1World.setBlockMetadataWithNotify(par2 + 1, par3, par4, b0, 3); - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } - } - - if (par6ItemStack.hasDisplayName()) - { - ((TileEntityPharaohChest)par1World.getBlockTileEntity(par2, par3, par4)).func_94043_a(par6ItemStack.getDisplayName()); - } - - AtumLoot.fillChest(((TileEntityPharaohChest)par1World.getBlockTileEntity(par2, par3, par4)), 15, 0.9f); - } - - /** - * 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, int par5, int par6) - { - TileEntityPharaohChest TileEntityPharaohChest = (TileEntityPharaohChest)par1World.getBlockTileEntity(par2, par3, par4); - - if (TileEntityPharaohChest != null) - { - par1World.func_96440_m(par2, par3, par4, par5); - } - - super.breakBlock(par1World, par2, par3, par4, par5, par6); - } - - /** - * Called upon block activation (right click on the block.) - */ - @Override - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) - { - /*if (par1World.isRemote) - { - return true; - } - else - {*/ - TileEntity te = par1World.getBlockTileEntity(par2, par3, par4); - if(te instanceof TileEntityPharaohChest) - { - TileEntityPharaohChest tepc = (TileEntityPharaohChest) te; - if(!tepc.hasSpawned()) - { - tepc.spawn(par5EntityPlayer); - } - } - - if(par1World.isRemote) - return true; - - IInventory iinventory = this.getInventory(par1World, par2, par3, par4); - - if (iinventory != null) - { - par5EntityPlayer.displayGUIChest(iinventory); - } - - return true; - //} - } - - public IInventory getInventory(World par1World, int par2, int par3, int par4) - { - Object object = (TileEntityPharaohChest)par1World.getBlockTileEntity(par2, par3, par4); - - if (object == null) - { - return null; - } - else if (par1World.isBlockSolidOnSide(par2, par3 + 1, par4, DOWN)) - { - return null; - } - else if (isOcelotBlockingChest(par1World, par2, par3, par4)) - { - return null; - } - else - { - return (IInventory)object; - } - } - - /** - * Returns a new instance of a block's tile entity class. Called on placing the block. - */ - @Override - public TileEntity createNewTileEntity(World par1World) - { - TileEntityPharaohChest TileEntityPharaohChest = new TileEntityPharaohChest(); - return TileEntityPharaohChest; - } - - /** - * Can this block provide power. Only wire currently seems to have this change based on its state. - */ - @Override - public boolean canProvidePower() - { - return this.field_94443_a == 1; - } - - /** - * Returns true if the block is emitting indirect/weak redstone power on the specified side. If isBlockNormalCube - * returns true, standard redstone propagation rules will apply instead and this will not be called. Args: World, X, - * Y, Z, side. Note that the side is reversed - eg it is 1 (up) when checking the bottom of the block. - */ - @Override - public int isProvidingWeakPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) - { - if (!this.canProvidePower()) - { - return 0; - } - else - { - int i1 = ((TileEntityPharaohChest)par1IBlockAccess.getBlockTileEntity(par2, par3, par4)).numUsingPlayers; - return MathHelper.clamp_int(i1, 0, 15); - } - } - - /** - * Returns true if the block is emitting direct/strong redstone power on the specified side. Args: World, X, Y, Z, - * side. Note that the side is reversed - eg it is 1 (up) when checking the bottom of the block. - */ - @Override - public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) - { - return par5 == 1 ? this.isProvidingWeakPower(par1IBlockAccess, par2, par3, par4, par5) : 0; - } - - /** - * Looks for a sitting ocelot within certain bounds. Such an ocelot is considered to be blocking access to the - * chest. - */ - public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) - { - Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getAABBPool().getAABB((double)par1, (double)(par2 + 1), (double)par3, (double)(par1 + 1), (double)(par2 + 2), (double)(par3 + 1))).iterator(); - EntityOcelot entityocelot; - - do - { - if (!iterator.hasNext()) - { - return false; - } - - EntityOcelot entityocelot1 = (EntityOcelot)iterator.next(); - entityocelot = (EntityOcelot)entityocelot1; - } - while (!entityocelot.isSitting()); - - return true; - } - - /** - * If this returns true, then comparators facing away from this block will use the value from - * getComparatorInputOverride instead of the actual redstone signal strength. - */ - @Override - public boolean hasComparatorInputOverride() - { - return true; - } - - /** - * If hasComparatorInputOverride returns true, the return value from this is used instead of the redstone signal - * strength when this block inputs to a comparator. - */ - @Override - public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) - { - return Container.calcRedstoneFromInventory(this.getInventory(par1World, par2, par3, par4)); - } - - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) - { - this.blockIcon = par1IconRegister.registerIcon("wood"); - } -} diff --git a/common/rebelkeithy/mods/atum/cursedchest/TileEntityChestSpawner.java b/common/rebelkeithy/mods/atum/cursedchest/TileEntityChestSpawner.java deleted file mode 100644 index c0dbcbe..0000000 --- a/common/rebelkeithy/mods/atum/cursedchest/TileEntityChestSpawner.java +++ /dev/null @@ -1,454 +0,0 @@ -package rebelkeithy.mods.atum.cursedchest; - -import java.util.Iterator; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockChest; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ContainerChest; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.InventoryLargeChest; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntityChest; -import net.minecraft.util.AxisAlignedBB; - -public class TileEntityChestSpawner extends TileEntityChest implements IInventory -{ - private final CursedChestSpawnerLogic chestSpawner = new CursedChestSpawnerLogic(this); - private ItemStack[] chestContents = new ItemStack[36]; - - /** The current angle of the lid (between 0 and 1) */ - public float lidAngle; - - /** The angle of the lid last tick */ - public float prevLidAngle; - - /** The number of players currently using this chest */ - public int numUsingPlayers; - - /** Server sync counter (once per 20 ticks) */ - private int ticksSinceSync; - private int field_94046_i = -1; - private String field_94045_s; - - public TileEntityChestSpawner() - { - int entityID = (int) (Math.random() * 6); - if(entityID == 0) - chestSpawner.setMobID("AtumMummy"); - if(entityID == 1) - chestSpawner.setMobID("AtumBanditWarrior"); - if(entityID == 2) - chestSpawner.setMobID("AtumBanditArcher"); - if(entityID == 3) - chestSpawner.setMobID("AtumDustySkeleton"); - if(entityID == 4) - chestSpawner.setMobID("AtumDesertGhost"); - if(entityID == 5) - chestSpawner.setMobID("AtumStoneSoldier"); - if(entityID == 6) - chestSpawner.setMobID("AtumDesertWolf"); - - - chestSpawner.minSpawnDelay = 0; - } - - public void setSpawnerEntity(String name) - { - chestSpawner.setMobID(name); - } - - public void setMaxEntities(int max) - { - chestSpawner.numEntities = max; - } - - public void setDelay(int min, int max) - { - chestSpawner.minSpawnDelay = min; - chestSpawner.maxSpawnDelay = max; - } - - public void setRange(int range) - { - chestSpawner.SpawnRange = range; - } - - /** - * Returns the number of slots in the inventory. - */ - @Override - public int getSizeInventory() - { - return 27; - } - - /** - * Returns the stack in slot i - */ - @Override - public ItemStack getStackInSlot(int par1) - { - return this.chestContents[par1]; - } - - /** - * Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a - * new stack. - */ - @Override - public ItemStack decrStackSize(int par1, int par2) - { - if (this.chestContents[par1] != null) - { - ItemStack itemstack; - - if (this.chestContents[par1].stackSize <= par2) - { - itemstack = this.chestContents[par1]; - this.chestContents[par1] = null; - this.onInventoryChanged(); - return itemstack; - } - else - { - itemstack = this.chestContents[par1].splitStack(par2); - - if (this.chestContents[par1].stackSize == 0) - { - this.chestContents[par1] = null; - } - - this.onInventoryChanged(); - return itemstack; - } - } - else - { - return null; - } - } - - /** - * When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - - * like when you close a workbench GUI. - */ - @Override - public ItemStack getStackInSlotOnClosing(int par1) - { - if (this.chestContents[par1] != null) - { - ItemStack itemstack = this.chestContents[par1]; - this.chestContents[par1] = null; - return itemstack; - } - else - { - return null; - } - } - - /** - * Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections). - */ - @Override - public void setInventorySlotContents(int par1, ItemStack par2ItemStack) - { - this.chestContents[par1] = par2ItemStack; - - if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) - { - par2ItemStack.stackSize = this.getInventoryStackLimit(); - } - - this.onInventoryChanged(); - } - - /** - * Returns the name of the inventory. - */ - @Override - public String getInvName() - { - return this.isInvNameLocalized() ? this.field_94045_s : "container.chest"; - } - - /** - * If this returns false, the inventory name will be used as an unlocalized name, and translated into the player's - * language. Otherwise it will be used directly. - */ - @Override - public boolean isInvNameLocalized() - { - return this.field_94045_s != null && this.field_94045_s.length() > 0; - } - - @Override - public void func_94043_a(String par1Str) - { - this.field_94045_s = par1Str; - } - - /** - * Reads a tile entity from NBT. - */ - @Override - public void readFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readFromNBT(par1NBTTagCompound); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items"); - this.chestContents = new ItemStack[this.getSizeInventory()]; - - if (par1NBTTagCompound.hasKey("CustomName")) - { - this.field_94045_s = par1NBTTagCompound.getString("CustomName"); - } - - for (int i = 0; i < nbttaglist.tagCount(); ++i) - { - NBTTagCompound nbttagcompound1 = (NBTTagCompound)nbttaglist.tagAt(i); - int j = nbttagcompound1.getByte("Slot") & 255; - - if (j >= 0 && j < this.chestContents.length) - { - this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); - } - } - this.chestSpawner.func_98270_a(par1NBTTagCompound); - } - - /** - * Writes a tile entity to NBT. - */ - @Override - public void writeToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeToNBT(par1NBTTagCompound); - NBTTagList nbttaglist = new NBTTagList(); - - for (int i = 0; i < this.chestContents.length; ++i) - { - if (this.chestContents[i] != null) - { - NBTTagCompound nbttagcompound1 = new NBTTagCompound(); - nbttagcompound1.setByte("Slot", (byte)i); - this.chestContents[i].writeToNBT(nbttagcompound1); - nbttaglist.appendTag(nbttagcompound1); - } - } - - par1NBTTagCompound.setTag("Items", nbttaglist); - - if (this.isInvNameLocalized()) - { - par1NBTTagCompound.setString("CustomName", this.field_94045_s); - } - this.chestSpawner.func_98280_b(par1NBTTagCompound); - } - - /** - * Returns the maximum stack size for a inventory slot. Seems to always be 64, possibly will be extended. *Isn't - * this more of a set than a get?* - */ - @Override - public int getInventoryStackLimit() - { - return 64; - } - - /** - * Do not make give this method the name canInteractWith because it clashes with Container - */ - @Override - public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) - { - - double d0 = 4.0D; - double d1 = 3.0D; - List list = this.worldObj.getEntitiesWithinAABB(EntityMob.class, AxisAlignedBB.getAABBPool().getAABB((double)xCoord - d0, (double)yCoord - d1, (double)zCoord - d0, (double)xCoord + d0, (double)yCoord + d1, (double)zCoord + d0)); - - if(!list.isEmpty()) - { - if(!this.worldObj.isRemote) - par1EntityPlayer.sendChatToPlayer("There are too many enemies nearby to search this chest"); - return false; - } - - return this.worldObj.getBlockTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double)this.xCoord + 0.5D, (double)this.yCoord + 0.5D, (double)this.zCoord + 0.5D) <= 64.0D; - } - - private boolean func_94044_a(int par1, int par2, int par3) - { - Block block = Block.blocksList[this.worldObj.getBlockId(par1, par2, par3)]; - return block != null && block instanceof BlockChest ? ((BlockChest)block).isTrapped == this.func_98041_l() : false; - } - - /** - * Allows the entity to update its state. Overridden in most subclasses, e.g. the mob spawner uses this to count - * ticks and creates a new spawn inside its implementation. - */ - @Override - public void updateEntity() - { - super.updateEntity(); - this.chestSpawner.updateSpawner(); - ++this.ticksSinceSync; - float f; - - if (!this.worldObj.isRemote && this.numUsingPlayers != 0 && (this.ticksSinceSync + this.xCoord + this.yCoord + this.zCoord) % 200 == 0) - { - this.numUsingPlayers = 0; - f = 5.0F; - List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getAABBPool().getAABB((double)((float)this.xCoord - f), (double)((float)this.yCoord - f), (double)((float)this.zCoord - f), (double)((float)(this.xCoord + 1) + f), (double)((float)(this.yCoord + 1) + f), (double)((float)(this.zCoord + 1) + f))); - Iterator iterator = list.iterator(); - - while (iterator.hasNext()) - { - EntityPlayer entityplayer = (EntityPlayer)iterator.next(); - - if (entityplayer.openContainer instanceof ContainerChest) - { - IInventory iinventory = ((ContainerChest)entityplayer.openContainer).getLowerChestInventory(); - - if (iinventory == this || iinventory instanceof InventoryLargeChest && ((InventoryLargeChest)iinventory).isPartOfLargeChest(this)) - { - ++this.numUsingPlayers; - } - } - } - } - - this.prevLidAngle = this.lidAngle; - f = 0.1F; - double d0; - - if (this.numUsingPlayers > 0 && this.lidAngle == 0.0F) - { - double d1 = (double)this.xCoord + 0.5D; - d0 = (double)this.zCoord + 0.5D; - - this.worldObj.playSoundEffect(d1, (double)this.yCoord + 0.5D, d0, "random.chestopen", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if (this.numUsingPlayers == 0 && this.lidAngle > 0.0F || this.numUsingPlayers > 0 && this.lidAngle < 1.0F) - { - float f1 = this.lidAngle; - - if (this.numUsingPlayers > 0) - { - this.lidAngle += f; - } - else - { - this.lidAngle -= f; - } - - if (this.lidAngle > 1.0F) - { - this.lidAngle = 1.0F; - } - - float f2 = 0.5F; - - if (this.lidAngle < f2 && f1 >= f2) - { - d0 = (double)this.xCoord + 0.5D; - double d2 = (double)this.zCoord + 0.5D; - - this.worldObj.playSoundEffect(d0, (double)this.yCoord + 0.5D, d2, "random.chestclosed", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if (this.lidAngle < 0.0F) - { - this.lidAngle = 0.0F; - } - } - } - - /** - * Called when a client event is received with the event number and argument, see World.sendClientEvent - */ - @Override - public boolean receiveClientEvent(int par1, int par2) - { - if (par1 == 1) - { - this.numUsingPlayers = par2; - return true; - } - else - { - return super.receiveClientEvent(par1, par2); - } - } - - @Override - public void openChest() - { - if (this.numUsingPlayers < 0) - { - this.numUsingPlayers = 0; - } - - ++this.numUsingPlayers; - this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType().blockID, 1, this.numUsingPlayers); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType().blockID); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType().blockID); - } - - @Override - public void closeChest() - { - if (this.getBlockType() != null && this.getBlockType() instanceof BlockChest) - { - --this.numUsingPlayers; - this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType().blockID, 1, this.numUsingPlayers); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType().blockID); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType().blockID); - } - } - - /** - * Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot. - */ - @Override - public boolean isStackValidForSlot(int par1, ItemStack par2ItemStack) - { - return true; - } - - /** - * invalidates a tile entity - */ - @Override - public void invalidate() - { - super.invalidate(); - this.updateContainingBlockInfo(); - } - - @Override - public int func_98041_l() - { - if (this.field_94046_i == -1) - { - if (this.worldObj == null || !(this.getBlockType() instanceof BlockChest)) - { - return 0; - } - - this.field_94046_i = ((BlockChest)this.getBlockType()).isTrapped; - } - - return this.field_94046_i; - } - - public void forceSpawn() - { - chestSpawner.forceSpawn = true; - } -} diff --git a/common/rebelkeithy/mods/atum/cursedchest/TileEntityPharaohChest.java b/common/rebelkeithy/mods/atum/cursedchest/TileEntityPharaohChest.java deleted file mode 100644 index 55ec0e0..0000000 --- a/common/rebelkeithy/mods/atum/cursedchest/TileEntityPharaohChest.java +++ /dev/null @@ -1,487 +0,0 @@ -package rebelkeithy.mods.atum.cursedchest; - -import java.util.Iterator; -import java.util.List; - -import cpw.mods.fml.common.FMLCommonHandler; - -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.entities.EntityMummy; -import rebelkeithy.mods.atum.entities.EntityPharaoh; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockChest; -import net.minecraft.entity.Entity; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ContainerChest; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.InventoryLargeChest; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntityChest; -import net.minecraft.util.AxisAlignedBB; - -public class TileEntityPharaohChest extends TileEntityChest implements IInventory -{ - private ItemStack[] chestContents = new ItemStack[36]; - - /** The current angle of the lid (between 0 and 1) */ - public float lidAngle; - - /** The angle of the lid last tick */ - public float prevLidAngle; - - /** The number of players currently using this chest */ - public int numUsingPlayers; - - /** Server sync counter (once per 20 ticks) */ - private int ticksSinceSync; - private int field_94046_i = -1; - private String field_94045_s; - - private boolean hasSpawned; - private boolean isOpenable; - - public TileEntityPharaohChest() - { - hasSpawned = false; - isOpenable = false; - } - - /** - * Returns the number of slots in the inventory. - */ - @Override - public int getSizeInventory() - { - return 27; - } - - /** - * Returns the stack in slot i - */ - @Override - public ItemStack getStackInSlot(int par1) - { - return this.chestContents[par1]; - } - - /** - * Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a - * new stack. - */ - @Override - public ItemStack decrStackSize(int par1, int par2) - { - if (this.chestContents[par1] != null) - { - ItemStack itemstack; - - if (this.chestContents[par1].stackSize <= par2) - { - itemstack = this.chestContents[par1]; - this.chestContents[par1] = null; - this.onInventoryChanged(); - return itemstack; - } - else - { - itemstack = this.chestContents[par1].splitStack(par2); - - if (this.chestContents[par1].stackSize == 0) - { - this.chestContents[par1] = null; - } - - this.onInventoryChanged(); - return itemstack; - } - } - else - { - return null; - } - } - - /** - * When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - - * like when you close a workbench GUI. - */ - @Override - public ItemStack getStackInSlotOnClosing(int par1) - { - if (this.chestContents[par1] != null) - { - ItemStack itemstack = this.chestContents[par1]; - this.chestContents[par1] = null; - return itemstack; - } - else - { - return null; - } - } - - /** - * Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections). - */ - @Override - public void setInventorySlotContents(int par1, ItemStack par2ItemStack) - { - this.chestContents[par1] = par2ItemStack; - - if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) - { - par2ItemStack.stackSize = this.getInventoryStackLimit(); - } - - this.onInventoryChanged(); - } - - /** - * Returns the name of the inventory. - */ - @Override - public String getInvName() - { - return this.isInvNameLocalized() ? this.field_94045_s : "container.chest"; - } - - /** - * If this returns false, the inventory name will be used as an unlocalized name, and translated into the player's - * language. Otherwise it will be used directly. - */ - @Override - public boolean isInvNameLocalized() - { - return this.field_94045_s != null && this.field_94045_s.length() > 0; - } - - @Override - public void func_94043_a(String par1Str) - { - this.field_94045_s = par1Str; - } - - /** - * Reads a tile entity from NBT. - */ - @Override - public void readFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readFromNBT(par1NBTTagCompound); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items"); - this.chestContents = new ItemStack[this.getSizeInventory()]; - - if (par1NBTTagCompound.hasKey("CustomName")) - { - this.field_94045_s = par1NBTTagCompound.getString("CustomName"); - } - - for (int i = 0; i < nbttaglist.tagCount(); ++i) - { - NBTTagCompound nbttagcompound1 = (NBTTagCompound)nbttaglist.tagAt(i); - int j = nbttagcompound1.getByte("Slot") & 255; - - if (j >= 0 && j < this.chestContents.length) - { - this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); - } - } - - this.hasSpawned = par1NBTTagCompound.getBoolean("spawned"); - this.isOpenable = par1NBTTagCompound.getBoolean("openable"); - } - - /** - * Writes a tile entity to NBT. - */ - @Override - public void writeToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeToNBT(par1NBTTagCompound); - NBTTagList nbttaglist = new NBTTagList(); - - for (int i = 0; i < this.chestContents.length; ++i) - { - if (this.chestContents[i] != null) - { - NBTTagCompound nbttagcompound1 = new NBTTagCompound(); - nbttagcompound1.setByte("Slot", (byte)i); - this.chestContents[i].writeToNBT(nbttagcompound1); - nbttaglist.appendTag(nbttagcompound1); - } - } - - par1NBTTagCompound.setTag("Items", nbttaglist); - - if (this.isInvNameLocalized()) - { - par1NBTTagCompound.setString("CustomName", this.field_94045_s); - } - - par1NBTTagCompound.setBoolean("spawned", this.hasSpawned); - par1NBTTagCompound.setBoolean("openable", this.isOpenable); - } - - /** - * Returns the maximum stack size for a inventory slot. Seems to always be 64, possibly will be extended. *Isn't - * this more of a set than a get?* - */ - @Override - public int getInventoryStackLimit() - { - return 64; - } - - /** - * Do not make give this method the name canInteractWith because it clashes with Container - */ - @Override - public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) - { - if(this.isOpenable == false) - return false; - - return this.isOpenable && this.worldObj.getBlockTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double)this.xCoord + 0.5D, (double)this.yCoord + 0.5D, (double)this.zCoord + 0.5D) <= 64.0D; - } - - private boolean func_94044_a(int par1, int par2, int par3) - { - Block block = Block.blocksList[this.worldObj.getBlockId(par1, par2, par3)]; - return block != null && block instanceof BlockChest ? ((BlockChest)block).isTrapped == this.func_98041_l() : false; - } - - /** - * Allows the entity to update its state. Overridden in most subclasses, e.g. the mob spawner uses this to count - * ticks and creates a new spawn inside its implementation. - */ - @Override - public void updateEntity() - { - super.updateEntity(); - ++this.ticksSinceSync; - float f; - - if (!this.worldObj.isRemote && this.numUsingPlayers != 0 && (this.ticksSinceSync + this.xCoord + this.yCoord + this.zCoord) % 200 == 0) - { - this.numUsingPlayers = 0; - f = 5.0F; - List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getAABBPool().getAABB((double)((float)this.xCoord - f), (double)((float)this.yCoord - f), (double)((float)this.zCoord - f), (double)((float)(this.xCoord + 1) + f), (double)((float)(this.yCoord + 1) + f), (double)((float)(this.zCoord + 1) + f))); - Iterator iterator = list.iterator(); - - while (iterator.hasNext()) - { - EntityPlayer entityplayer = (EntityPlayer)iterator.next(); - - if (entityplayer.openContainer instanceof ContainerChest) - { - IInventory iinventory = ((ContainerChest)entityplayer.openContainer).getLowerChestInventory(); - - if (iinventory == this || iinventory instanceof InventoryLargeChest && ((InventoryLargeChest)iinventory).isPartOfLargeChest(this)) - { - ++this.numUsingPlayers; - } - } - } - } - - this.prevLidAngle = this.lidAngle; - f = 0.1F; - double d0; - - if (this.numUsingPlayers > 0 && this.lidAngle == 0.0F) - { - double d1 = (double)this.xCoord + 0.5D; - d0 = (double)this.zCoord + 0.5D; - - this.worldObj.playSoundEffect(d1, (double)this.yCoord + 0.5D, d0, "random.chestopen", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if (this.numUsingPlayers == 0 && this.lidAngle > 0.0F || this.numUsingPlayers > 0 && this.lidAngle < 1.0F) - { - float f1 = this.lidAngle; - - if (this.numUsingPlayers > 0) - { - this.lidAngle += f; - } - else - { - this.lidAngle -= f; - } - - if (this.lidAngle > 1.0F) - { - this.lidAngle = 1.0F; - } - - float f2 = 0.5F; - - if (this.lidAngle < f2 && f1 >= f2) - { - d0 = (double)this.xCoord + 0.5D; - double d2 = (double)this.zCoord + 0.5D; - - this.worldObj.playSoundEffect(d0, (double)this.yCoord + 0.5D, d2, "random.chestclosed", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if (this.lidAngle < 0.0F) - { - this.lidAngle = 0.0F; - } - } - } - - /** - * Called when a client event is received with the event number and argument, see World.sendClientEvent - */ - @Override - public boolean receiveClientEvent(int par1, int par2) - { - if (par1 == 1) - { - this.numUsingPlayers = par2; - return true; - } - else - { - return super.receiveClientEvent(par1, par2); - } - } - - @Override - public void openChest() - { - if (this.numUsingPlayers < 0) - { - this.numUsingPlayers = 0; - } - - ++this.numUsingPlayers; - this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType().blockID, 1, this.numUsingPlayers); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType().blockID); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType().blockID); - } - - @Override - public void closeChest() - { - if (this.getBlockType() != null && this.getBlockType() instanceof BlockChest) - { - --this.numUsingPlayers; - this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType().blockID, 1, this.numUsingPlayers); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType().blockID); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType().blockID); - } - } - - /** - * Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot. - */ - @Override - public boolean isStackValidForSlot(int par1, ItemStack par2ItemStack) - { - return true; - } - - /** - * invalidates a tile entity - */ - @Override - public void invalidate() - { - super.invalidate(); - this.updateContainingBlockInfo(); - } - - @Override - public int func_98041_l() - { - if (this.field_94046_i == -1) - { - if (this.worldObj == null || !(this.getBlockType() instanceof BlockChest)) - { - return 0; - } - - this.field_94046_i = ((BlockChest)this.getBlockType()).isTrapped; - } - - return this.field_94046_i; - } - - public void setOpenable() - { - isOpenable = true; - - /*if(worldObj.isRemote) - return; - - for(int x = this.xCoord - 15; x < this.xCoord + 15; x++) - { - for(int z = this.zCoord - 15; z < this.zCoord + 15; x++) - { - for(int y = this.yCoord - 10; y < this.yCoord + 5; y++) - { - if(worldObj.getBlockId(x, y, z) == Atum.atumStone.blockID) - { - worldObj.setBlockMetadataWithNotify(x, y, z, 0, 0); - } - } - } - }*/ - } - - public boolean hasSpawned() - { - return hasSpawned; - } - - public void spawn(EntityPlayer player) - { - EntityPharaoh pharaoh = new EntityPharaoh(worldObj); - pharaoh.setPosition(this.xCoord+0.5, yCoord+1, zCoord+0.5); - pharaoh.link(xCoord, yCoord, zCoord); - pharaoh.initCreature(); - if(!worldObj.isRemote) - worldObj.spawnEntityInWorld(pharaoh); - pharaoh.spawnExplosionParticle(); - hasSpawned = true; - - EntityMummy mummy1 = new EntityMummy(worldObj); - mummy1.setPosition(this.xCoord+0.5, yCoord, zCoord-0.5); - mummy1.initCreature(); - if(!worldObj.isRemote) - worldObj.spawnEntityInWorld(mummy1); - mummy1.spawnExplosionParticle(); - - EntityMummy mummy2 = new EntityMummy(worldObj); - mummy2.setPosition(this.xCoord+0.5, yCoord, zCoord+1.5); - mummy2.initCreature(); - if(!worldObj.isRemote) - worldObj.spawnEntityInWorld(mummy2); - mummy2.spawnExplosionParticle(); - - if(!worldObj.isRemote) - { - List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; - for(EntityPlayer p : players) - { - p.sendChatToPlayer(pharaoh.getEntityName() + " was summoned by " + player.getEntityName()); - } - } - - if(!worldObj.isRemote) - { - System.out.println("Playing Sound"); - worldObj.playSoundAtEntity(pharaoh, "Atum.pharaohspawn", 1, 1); - } - } - - public void setPharaohDespawned() { - hasSpawned = false; - } -} diff --git a/common/rebelkeithy/mods/atum/entities/EntityBanditArcher.java b/common/rebelkeithy/mods/atum/entities/EntityBanditArcher.java deleted file mode 100644 index 8616b00..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityBanditArcher.java +++ /dev/null @@ -1,258 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.IRangedAttackMob; -import net.minecraft.entity.ai.EntityAIArrowAttack; -import net.minecraft.entity.ai.EntityAIAttackOnCollide; -import net.minecraft.entity.ai.EntityAIHurtByTarget; -import net.minecraft.entity.ai.EntityAILookIdle; -import net.minecraft.entity.ai.EntityAINearestAttackableTarget; -import net.minecraft.entity.ai.EntityAIRestrictSun; -import net.minecraft.entity.ai.EntityAISwimming; -import net.minecraft.entity.ai.EntityAIWander; -import net.minecraft.entity.ai.EntityAIWatchClosest; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.atum.AtumConfig; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EntityBanditArcher extends EntityMob implements IRangedAttackMob, IAtumDayMob -{ - private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 0.25F, 20, 60, 15.0F); - private EntityAIAttackOnCollide aiAttackOnCollide = new EntityAIAttackOnCollide(this, EntityPlayer.class, 0.31F, false); - - public EntityBanditArcher(World par1World) - { - super(par1World); - this.moveSpeed = 0.25F; - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, new EntityAIRestrictSun(this)); - this.tasks.addTask(5, new EntityAIWander(this, this.moveSpeed)); - this.tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(6, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false)); - this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 16.0F, 0, true)); - - if (par1World != null && !par1World.isRemote) - { - this.setCombatTask(); - } - this.experienceValue = 6; - } - - - /** - * Checks if the entity's current position is a valid location to spawn this entity. - */ - @Override - public boolean getCanSpawnHere() - { - //System.out.println("light level mummy " + this.isValidLightLevel() + " " + super.getCanSpawnHere()); - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - //return true || super.getCanSpawnHere(); - } - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() - { - return true; - } - - @Override - protected void entityInit() - { - super.entityInit(); - } - - /** - * Returns true if the newer Entity AI code should be run - */ - @Override - public boolean isAIEnabled() - { - return true; - } - - @Override - public int getMaxHealth() - { - return 20; - } - - - @Override - public boolean attackEntityAsMob(Entity par1Entity) - { - if (super.attackEntityAsMob(par1Entity)) - { - return true; - } - else - { - return false; - } - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() - { - return EnumCreatureAttribute.UNDEFINED; - } - - /** - * Makes entity wear random armor based on difficulty - */ - @Override - protected void addRandomArmor() - { - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.bow)); - - - for (int i = 0; i < this.equipmentDropChances.length; ++i) - { - this.equipmentDropChances[i] = 0F; - } - } - - @SideOnly(Side.CLIENT) - - /** - * Returns the texture's file path as a String. - */ - @Override - public String getTexture() - { - return "/mods/Atum/textures/mobs/BanditArcher.png"; - } - - /** - * Initialize this creature. - */ - @Override - public void initCreature() - { - this.tasks.addTask(4, this.aiArrowAttack); - this.addRandomArmor(); - this.func_82162_bC(); - - - this.setCanPickUpLoot(this.rand.nextFloat() < pickUpLootProability[this.worldObj.difficultySetting]); - } - - /** - * sets this entity's combat AI. - */ - public void setCombatTask() - { - this.tasks.removeTask(this.aiAttackOnCollide); - this.tasks.removeTask(this.aiArrowAttack); - ItemStack itemstack = this.getHeldItem(); - - if (itemstack != null && itemstack.itemID == AtumItems.bow.itemID) - { - this.tasks.addTask(4, this.aiArrowAttack); - } - else - { - this.tasks.addTask(4, this.aiAttackOnCollide); - } - } - - /** - * Attack the specified entity using a ranged attack. - */ - @Override - public void attackEntityWithRangedAttack(EntityLiving par1EntityLiving, float par2) - { - EntityArrow entityarrow = new EntityArrow(this.worldObj, this, par1EntityLiving, 1.6F, (float)(14 - this.worldObj.difficultySetting * 4)); - int i = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, this.getHeldItem()); - int j = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, this.getHeldItem()); - entityarrow.setDamage((double)(par2 * 2.0F) + this.rand.nextGaussian() * 0.25D + (double)((float)this.worldObj.difficultySetting * 0.11F)); - - if (i > 0) - { - entityarrow.setDamage(entityarrow.getDamage() + (double)i * 0.5D + 0.5D); - } - - if (j > 0) - { - entityarrow.setKnockbackStrength(j); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, this.getHeldItem()) > 0) - { - entityarrow.setFire(100); - } - - this.playSound("random.bow", 1.0F, 1.0F / (this.getRNG().nextFloat() * 0.4F + 0.8F)); - this.worldObj.spawnEntityInWorld(entityarrow); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readEntityFromNBT(par1NBTTagCompound); - - this.setCombatTask(); - } - - /** - * Sets the held item, or an armor slot. Slot 0 is held item. Slot 1-4 is armor. Params: Item, slot - */ - @Override - public void setCurrentItemOrArmor(int par1, ItemStack par2ItemStack) - { - super.setCurrentItemOrArmor(par1, par2ItemStack); - - if (!this.worldObj.isRemote && par1 == 0) - { - this.setCombatTask(); - } - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) - { - if (rand.nextInt(20) == 0) - { - int damage = (int) (AtumItems.bow.getMaxDamage() - rand.nextInt(AtumItems.bow.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumConfig.bowID, 1, damage), 0.0F); - } - - if (rand.nextInt(10) == 0) - { - int amount = rand.nextInt(2) + 1; - this.dropItem(Item.goldNugget.itemID, amount); - } - - if (rand.nextInt(4) == 0) - { - int amount = rand.nextInt(3) + 1; - this.dropItem(Item.arrow.itemID, amount); - } - } -} \ No newline at end of file diff --git a/common/rebelkeithy/mods/atum/entities/EntityBanditWarlord.java b/common/rebelkeithy/mods/atum/entities/EntityBanditWarlord.java deleted file mode 100644 index d5432de..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityBanditWarlord.java +++ /dev/null @@ -1,142 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.atum.AtumConfig; - -public class EntityBanditWarlord extends EntityMob implements IAtumDayMob -{ - - public EntityBanditWarlord(World par1World) - { - super(par1World); - this.experienceValue = 16; - } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/mobs/BanditWarlord.png"; - } - - @Override - public int getMaxHealth() - { - return 80; - } - - @Override - protected void addRandomArmor() { } - - @Override - public float getSpeedModifier() - { - return super.getSpeedModifier(); - } - - /** - * Checks if the entity's current position is a valid location to spawn this entity. - */ - @Override - public boolean getCanSpawnHere() - { - //System.out.println("light level mummy " + this.isValidLightLevel() + " " + super.getCanSpawnHere()); - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - //return true || super.getCanSpawnHere(); - } - - /** - * Will return how many at most can spawn in a chunk at once. - */ - @Override - public int getMaxSpawnedInChunk() - { - return 1; - } - - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() - { - return true; - } - - @Override - public void initCreature() - { - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.scimitar)); - EnchantmentHelper.addRandomEnchantment(this.rand, this.getHeldItem(), 5 + this.worldObj.difficultySetting * this.rand.nextInt(6)); - - for (int i = 0; i < this.equipmentDropChances.length; ++i) - { - this.equipmentDropChances[i] = 0.05F; - } - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() - { - return EnumCreatureAttribute.UNDEFINED; - } - - /** - * Returns the amount of damage a mob should deal. - */ - @Override - public int getAttackStrength(Entity par1Entity) - { - return 4; - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) - { - if(rand.nextInt(20) == 0) - { - int damage = (int) (AtumItems.scimitar.getMaxDamage() - rand.nextInt(AtumItems.scimitar.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumConfig.scimitarID, 1, damage), 0.0F); - } - - if(rand.nextInt(4) == 0) - { - int amount = rand.nextInt(3) + 3; - this.dropItem(Item.goldNugget.itemID, amount); - } - - if(rand.nextInt(4) == 0) - { - int choice = rand.nextInt(4); - if(choice == 0) - { - this.dropItem(AtumItems.wandererHelmet.itemID, 1); - } - else if(choice == 1) - { - this.dropItem(AtumItems.wandererChest.itemID, 1); - } - else if(choice == 2) - { - this.dropItem(AtumItems.wandererLegs.itemID, 1); - } - else if(choice == 3) - { - this.dropItem(AtumItems.wandererBoots.itemID, 1); - } - } - } -} diff --git a/common/rebelkeithy/mods/atum/entities/EntityBanditWarrior.java b/common/rebelkeithy/mods/atum/entities/EntityBanditWarrior.java deleted file mode 100644 index bc99a19..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityBanditWarrior.java +++ /dev/null @@ -1,131 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.atum.AtumConfig; - -public class EntityBanditWarrior extends EntityMob implements IAtumDayMob -{ - - public EntityBanditWarrior(World par1World) - { - super(par1World); - this.experienceValue = 8; - } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/mobs/BanditWarrior.png"; - } - - @Override - public int getMaxHealth() - { - return 30; - } - - @Override - protected void addRandomArmor() { } - - @Override - public float getSpeedModifier() - { - return super.getSpeedModifier() * 1.25F; - } - - /** - * Checks if the entity's current position is a valid location to spawn this entity. - */ - @Override - public boolean getCanSpawnHere() - { - //System.out.println("light level mummy " + this.isValidLightLevel() + " " + super.getCanSpawnHere()); - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - //return true || super.getCanSpawnHere(); - } - - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() - { - return true; - } - - @Override - public void initCreature() - { - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.scimitar)); - this.func_82162_bC(); - - for (int i = 0; i < this.equipmentDropChances.length; ++i) - { - this.equipmentDropChances[i] = 0F; - } - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() - { - return EnumCreatureAttribute.UNDEFINED; - } - - - /** - * Returns the amount of damage a mob should deal. - */ - /* - @Override - public int getAttackStrength(Entity par1Entity) - { - return 3; - }*/ - - /** - * Returns the amount of damage a mob should deal. - */ - public int getAttackStrength(Entity par1Entity) - { - ItemStack itemstack = this.getHeldItem(); - float f = (float)(this.getMaxHealth() - this.getHealth()) / (float)this.getMaxHealth(); - int i = 3 + MathHelper.floor_float(f * 4.0F); - - /*if (itemstack != null) - { - i += itemstack.getDamageVsEntity(this); - }*/ - - return i; - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) - { - if(rand.nextInt(20) == 0) - { - int damage = (int) (AtumItems.scimitar.getMaxDamage() - rand.nextInt(AtumItems.scimitar.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumConfig.scimitarID, 1, damage), 0.0F); - } - - if(rand.nextInt(10) == 0) - { - int amount = rand.nextInt(2) + 1; - this.dropItem(Item.goldNugget.itemID, amount); - } - } -} diff --git a/common/rebelkeithy/mods/atum/entities/EntityBarbarian.java b/common/rebelkeithy/mods/atum/entities/EntityBarbarian.java deleted file mode 100644 index 10f6ad8..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityBarbarian.java +++ /dev/null @@ -1,132 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.atum.AtumConfig; - -public class EntityBarbarian extends EntityMob implements IAtumDayMob -{ - - public EntityBarbarian(World par1World) - { - super(par1World); - this.experienceValue = 9; - } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/mobs/Barbarian.png"; - } - - @Override - public int getMaxHealth() - { - return 30; - } - - @Override - protected void addRandomArmor() { } - - @Override - public float getSpeedModifier() - { - return super.getSpeedModifier() * 1.5F; - } - - /** - * Checks if the entity's current position is a valid location to spawn this entity. - */ - @Override - public boolean getCanSpawnHere() - { - //System.out.println("light level mummy " + this.isValidLightLevel() + " " + super.getCanSpawnHere()); - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - //return true || super.getCanSpawnHere(); - } - - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() - { - return true; - } - - @Override - public void initCreature() - { - ItemStack weapon = new ItemStack(AtumItems.greatsword); - - this.setCurrentItemOrArmor(0, weapon); - this.func_82162_bC(); - - for (int i = 0; i < this.equipmentDropChances.length; ++i) - { - this.equipmentDropChances[i] = 0F; - } - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() - { - return EnumCreatureAttribute.UNDEFINED; - } - - - /** - * Returns the amount of damage a mob should deal. - */ - @Override - public int getAttackStrength(Entity par1Entity) - { - return 4; - } - - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) - { - if(rand.nextInt(20) == 0) - { - int damage = (int) (AtumItems.greatsword.getMaxDamage() - rand.nextInt(AtumItems.greatsword.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumConfig.greatswordID, 1, damage), 0.0F); - } - - if(rand.nextInt(4) == 0) - { - int amount = rand.nextInt(2) + 1; - this.dropItem(Item.goldNugget.itemID, amount); - } - } - - /** - * Basic mob attack. Default to touch of death in EntityCreature. Overridden by each mob to define their attack. - */ - @Override - protected void attackEntity(Entity mob, float par2) - { - - if(!(mob instanceof EntityStoneSoldier || mob instanceof EntityPharaoh)) - { - float j = 1.2f; - mob.addVelocity((double)(-MathHelper.sin(this.rotationYaw * (float)Math.PI / 180.0F) * (float)j * 0.5F), 0.1D, (double)(MathHelper.cos(this.rotationYaw * (float)Math.PI / 180.0F) * (float)j * 0.5F)); - } - super.attackEntity(mob, par2); - } -} diff --git a/common/rebelkeithy/mods/atum/entities/EntityBonestorm.java b/common/rebelkeithy/mods/atum/entities/EntityBonestorm.java deleted file mode 100644 index 7bcde5a..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityBonestorm.java +++ /dev/null @@ -1,254 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntitySmallFireball; -import net.minecraft.item.Item; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EntityBonestorm extends EntityMob -{ - /** Random offset used in floating behaviour */ - private float heightOffset = 0.5F; - - /** ticks until heightOffset is randomized */ - private int heightOffsetUpdateTime; - private int field_70846_g; - - public EntityBonestorm(World par1World) - { - super(par1World); - this.texture = "/mob/fire.png"; - this.isImmuneToFire = true; - this.experienceValue = 10; - } - - public int getMaxHealth() - { - return 20; - } - - protected void entityInit() - { - super.entityInit(); - this.dataWatcher.addObject(16, new Byte((byte)0)); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - protected String getLivingSound() - { - return "mob.blaze.breathe"; - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - protected String getHurtSound() - { - return "mob.blaze.hit"; - } - - /** - * Returns the sound this mob makes on death. - */ - protected String getDeathSound() - { - return "mob.blaze.death"; - } - - @SideOnly(Side.CLIENT) - public int getBrightnessForRender(float par1) - { - return 15728880; - } - - /** - * Gets how bright this entity is. - */ - public float getBrightness(float par1) - { - return 1.0F; - } - - /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons - * use this to react to sunlight and start to burn. - */ - public void onLivingUpdate() - { - if (!this.worldObj.isRemote) - { - if (this.isWet()) - { - this.attackEntityFrom(DamageSource.drown, 1); - } - - --this.heightOffsetUpdateTime; - - if (this.heightOffsetUpdateTime <= 0) - { - this.heightOffsetUpdateTime = 100; - this.heightOffset = 0.5F + (float)this.rand.nextGaussian() * 3.0F; - } - - if (this.getEntityToAttack() != null && this.getEntityToAttack().posY + (double)this.getEntityToAttack().getEyeHeight() > this.posY + (double)this.getEyeHeight() + (double)this.heightOffset) - { - this.motionY += (0.30000001192092896D - this.motionY) * 0.30000001192092896D; - } - } - - if (this.rand.nextInt(24) == 0) - { - this.worldObj.playSoundEffect(this.posX + 0.5D, this.posY + 0.5D, this.posZ + 0.5D, "fire.fire", 1.0F + this.rand.nextFloat(), this.rand.nextFloat() * 0.7F + 0.3F); - } - - if (!this.onGround && this.motionY < 0.0D) - { - this.motionY *= 0.6D; - } - - for (int i = 0; i < 2; ++i) - { - this.worldObj.spawnParticle("largesmoke", this.posX + (this.rand.nextDouble() - 0.5D) * (double)this.width, this.posY + this.rand.nextDouble() * (double)this.height, this.posZ + (this.rand.nextDouble() - 0.5D) * (double)this.width, 0.0D, 0.0D, 0.0D); - } - - super.onLivingUpdate(); - } - - /** - * Basic mob attack. Default to touch of death in EntityCreature. Overridden by each mob to define their attack. - */ - protected void attackEntity(Entity par1Entity, float par2) - { - if (this.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > this.boundingBox.minY && par1Entity.boundingBox.minY < this.boundingBox.maxY) - { - this.attackTime = 20; - this.attackEntityAsMob(par1Entity); - } - else if (par2 < 30.0F) - { - double d0 = par1Entity.posX - this.posX; - double d1 = par1Entity.boundingBox.minY + (double)(par1Entity.height / 2.0F) - (this.posY + (double)(this.height / 2.0F)); - double d2 = par1Entity.posZ - this.posZ; - - if (this.attackTime == 0) - { - ++this.field_70846_g; - - if (this.field_70846_g == 1) - { - this.attackTime = 60; - this.func_70844_e(true); - } - else if (this.field_70846_g <= 4) - { - this.attackTime = 6; - } - else - { - this.attackTime = 100; - this.field_70846_g = 0; - this.func_70844_e(false); - } - - if (this.field_70846_g > 1) - { - float f1 = MathHelper.sqrt_float(par2) * 0.5F; - this.worldObj.playAuxSFXAtEntity((EntityPlayer)null, 1009, (int)this.posX, (int)this.posY, (int)this.posZ, 0); - - for (int i = 0; i < 1; ++i) - { - EntitySmallFireball entitysmallfireball = new EntitySmallFireball(this.worldObj, this, d0 + this.rand.nextGaussian() * (double)f1, d1, d2 + this.rand.nextGaussian() * (double)f1); - entitysmallfireball.posY = this.posY + (double)(this.height / 2.0F) + 0.5D; - this.worldObj.spawnEntityInWorld(entitysmallfireball); - } - } - } - - this.rotationYaw = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - this.hasAttacked = true; - } - } - - /** - * Called when the mob is falling. Calculates and applies fall damage. - */ - protected void fall(float par1) {} - - /** - * Returns the item ID for the item the mob drops on death. - */ - protected int getDropItemId() - { - return Item.blazeRod.itemID; - } - - /** - * Returns true if the entity is on fire. Used by render to add the fire effect on rendering. - */ - public boolean isBurning() - { - return this.func_70845_n(); - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - protected void dropFewItems(boolean par1, int par2) - { - if (par1) - { - int j = this.rand.nextInt(2 + par2); - - for (int k = 0; k < j; ++k) - { - this.dropItem(Item.blazeRod.itemID, 1); - } - } - } - - public boolean func_70845_n() - { - return (this.dataWatcher.getWatchableObjectByte(16) & 1) != 0; - } - - public void func_70844_e(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - b0 = (byte)(b0 | 1); - } - else - { - b0 &= -2; - } - - this.dataWatcher.updateObject(16, Byte.valueOf(b0)); - } - - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - protected boolean isValidLightLevel() - { - return true; - } - - /** - * Returns the amount of damage a mob should deal. - */ - public int getAttackStrength(Entity par1Entity) - { - return 6; - } -} diff --git a/common/rebelkeithy/mods/atum/entities/EntityDesertWolf.java b/common/rebelkeithy/mods/atum/entities/EntityDesertWolf.java deleted file mode 100644 index 7649c96..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityDesertWolf.java +++ /dev/null @@ -1,676 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.block.BlockCloth; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityAgeable; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.ai.EntityAIAttackOnCollide; -import net.minecraft.entity.ai.EntityAIFollowOwner; -import net.minecraft.entity.ai.EntityAIHurtByTarget; -import net.minecraft.entity.ai.EntityAILeapAtTarget; -import net.minecraft.entity.ai.EntityAILookIdle; -import net.minecraft.entity.ai.EntityAIMate; -import net.minecraft.entity.ai.EntityAIOwnerHurtByTarget; -import net.minecraft.entity.ai.EntityAIOwnerHurtTarget; -import net.minecraft.entity.ai.EntityAISwimming; -import net.minecraft.entity.ai.EntityAITargetNonTamed; -import net.minecraft.entity.ai.EntityAIWander; -import net.minecraft.entity.ai.EntityAIWatchClosest; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntityTameable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.Item; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.pathfinding.PathEntity; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EntityDesertWolf extends EntityTameable implements IAtumDayMob -{ - private float field_70926_e; - private float field_70924_f; - - /** true is the wolf is wet else false */ - private boolean isShaking; - private boolean field_70928_h; - - /** - * This time increases while wolf is shaking and emitting water particles. - */ - private float timeWolfIsShaking; - private float prevTimeWolfIsShaking; - - public EntityDesertWolf(World par1World) - { - super(par1World); - this.texture = "/mob/wolf.png"; - this.setSize(0.6F, 0.8F); - this.moveSpeed = 0.3F; - this.getNavigator().setAvoidsWater(true); - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, this.aiSit); - this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); - this.tasks.addTask(4, new EntityAIAttackOnCollide(this, this.moveSpeed, true)); - this.tasks.addTask(5, new EntityAIFollowOwner(this, this.moveSpeed, 10.0F, 2.0F)); - this.tasks.addTask(6, new EntityAIMate(this, this.moveSpeed)); - this.tasks.addTask(7, new EntityAIWander(this, this.moveSpeed)); - //this.tasks.addTask(8, new EntityAIBeg(this, 8.0F)); - this.tasks.addTask(9, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(9, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); - this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); - this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); - //this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntityMummy.class, 16.0F, 200, false)); - this.targetTasks.addTask(5, new EntityAITargetNonTamed(this, EntityPlayer.class, 16.0F, 0, true)); - } - - /** - * Returns true if the newer Entity AI code should be run - */ - @Override - public boolean isAIEnabled() - { - return true; - } - - /** - * Finds the closest player within 16 blocks to attack, or null if this Entity isn't interested in attacking - * (Animals, Spiders at day, peaceful PigZombies). - */ - @Override - protected Entity findPlayerToAttack() - { - EntityPlayer entityplayer = this.worldObj.getClosestVulnerablePlayerToEntity(this, 16.0D); - return entityplayer != null && this.canEntityBeSeen(entityplayer) ? entityplayer : null; - } - - /** - * Sets the active target the Task system uses for tracking - */ - @Override - public void setAttackTarget(EntityLiving par1EntityLiving) - { - super.setAttackTarget(par1EntityLiving); - - if (par1EntityLiving instanceof EntityPlayer) - { - this.setAngry(true); - } - } - - /** - * main AI tick function, replaces updateEntityActionState - */ - @Override - protected void updateAITick() - { - this.dataWatcher.updateObject(18, Integer.valueOf(this.getHealth())); - } - - @Override - public int getMaxHealth() - { - return this.isTamed() ? 20 : 8; - } - - @Override - protected void entityInit() - { - super.entityInit(); - this.dataWatcher.addObject(18, new Integer(this.getHealth())); - this.dataWatcher.addObject(19, new Byte((byte)0)); - this.dataWatcher.addObject(20, new Byte((byte)BlockCloth.getBlockFromDye(1))); - this.setAngry(true); - this.experienceValue = 6; - } - - /** - * Checks if the entity's current position is a valid location to spawn this entity. - */ - @Override - public boolean getCanSpawnHere() - { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } - - @Override - public float getSpeedModifier() - { - return super.getSpeedModifier() * 1.5F; - } - - /** - * Plays step sound at given x, y, z for the entity - */ - @Override - protected void playStepSound(int par1, int par2, int par3, int par4) - { - this.playSound("mob.wolf.step", 0.15F, 1.0F); - } - - @SideOnly(Side.CLIENT) - - /** - * Returns the texture's file path as a String. - */ - @Override - public String getTexture() - { - return this.isTamed() ? "/mods/Atum/textures/mobs/DesertWolf_tame.png" : (this.isAngry() ? "/mods/Atum/textures/mobs/DesertWolf_angry.png" : "/mods/Atum/textures/mobs/DesertWolf"); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setBoolean("Angry", this.isAngry()); - par1NBTTagCompound.setByte("CollarColor", (byte)this.getCollarColor()); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readEntityFromNBT(par1NBTTagCompound); - this.setAngry(par1NBTTagCompound.getBoolean("Angry")); - - if (par1NBTTagCompound.hasKey("CollarColor")) - { - this.setCollarColor(par1NBTTagCompound.getByte("CollarColor")); - } - } - - /** - * Determines if an entity can be despawned, used on idle far away entities - */ - @Override - protected boolean canDespawn() - { - return this.isAngry(); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - @Override - protected String getLivingSound() - { - return this.isAngry() ? "mob.wolf.growl" : (this.rand.nextInt(3) == 0 ? (this.isTamed() && this.dataWatcher.getWatchableObjectInt(18) < 10 ? "mob.wolf.whine" : "mob.wolf.panting") : "mob.wolf.bark"); - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - @Override - protected String getHurtSound() - { - return "mob.wolf.hurt"; - } - - /** - * Returns the sound this mob makes on death. - */ - @Override - protected String getDeathSound() - { - return "mob.wolf.death"; - } - - /** - * Returns the volume for the sounds this mob makes. - */ - @Override - protected float getSoundVolume() - { - return 0.4F; - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) - { - if(rand.nextInt(10) == 0) - { - this.dropItem(Item.bone.itemID, 1); - } - if(rand.nextInt(4) == 0) - { - int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.pelt.itemID, amount); - } - } - - /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons - * use this to react to sunlight and start to burn. - */ - @Override - public void onLivingUpdate() - { - super.onLivingUpdate(); - - if (!this.worldObj.isRemote && this.isShaking && !this.field_70928_h && !this.hasPath() && this.onGround) - { - this.field_70928_h = true; - this.timeWolfIsShaking = 0.0F; - this.prevTimeWolfIsShaking = 0.0F; - this.worldObj.setEntityState(this, (byte)8); - } - } - - /** - * Called to update the entity's position/logic. - */ - @Override - public void onUpdate() - { - super.onUpdate(); - - if (!this.worldObj.isRemote && this.worldObj.difficultySetting == 0) - { - this.setDead(); - return; - } - - this.field_70924_f = this.field_70926_e; - - if (this.func_70922_bv()) - { - this.field_70926_e += (1.0F - this.field_70926_e) * 0.4F; - } - else - { - this.field_70926_e += (0.0F - this.field_70926_e) * 0.4F; - } - - if (this.func_70922_bv()) - { - this.numTicksToChaseTarget = 10; - } - - if (this.isWet()) - { - this.isShaking = true; - this.field_70928_h = false; - this.timeWolfIsShaking = 0.0F; - this.prevTimeWolfIsShaking = 0.0F; - } - else if ((this.isShaking || this.field_70928_h) && this.field_70928_h) - { - if (this.timeWolfIsShaking == 0.0F) - { - this.playSound("mob.wolf.shake", this.getSoundVolume(), (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); - } - - this.prevTimeWolfIsShaking = this.timeWolfIsShaking; - this.timeWolfIsShaking += 0.05F; - - if (this.prevTimeWolfIsShaking >= 2.0F) - { - this.isShaking = false; - this.field_70928_h = false; - this.prevTimeWolfIsShaking = 0.0F; - this.timeWolfIsShaking = 0.0F; - } - - if (this.timeWolfIsShaking > 0.4F) - { - float f = (float)this.boundingBox.minY; - int i = (int)(MathHelper.sin((this.timeWolfIsShaking - 0.4F) * (float)Math.PI) * 7.0F); - - for (int j = 0; j < i; ++j) - { - float f1 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; - float f2 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; - this.worldObj.spawnParticle("splash", this.posX + (double)f1, (double)(f + 0.8F), this.posZ + (double)f2, this.motionX, this.motionY, this.motionZ); - } - } - } - } - - @SideOnly(Side.CLIENT) - public boolean getWolfShaking() - { - return this.isShaking; - } - - @SideOnly(Side.CLIENT) - - /** - * Used when calculating the amount of shading to apply while the wolf is shaking. - */ - public float getShadingWhileShaking(float par1) - { - return 0.75F + (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1) / 2.0F * 0.25F; - } - - @SideOnly(Side.CLIENT) - public float getShakeAngle(float par1, float par2) - { - float f2 = (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1 + par2) / 1.8F; - - if (f2 < 0.0F) - { - f2 = 0.0F; - } - else if (f2 > 1.0F) - { - f2 = 1.0F; - } - - return MathHelper.sin(f2 * (float)Math.PI) * MathHelper.sin(f2 * (float)Math.PI * 11.0F) * 0.15F * (float)Math.PI; - } - - @SideOnly(Side.CLIENT) - public float getInterestedAngle(float par1) - { - return (this.field_70924_f + (this.field_70926_e - this.field_70924_f) * par1) * 0.15F * (float)Math.PI; - } - - @Override - public float getEyeHeight() - { - return this.height * 0.8F; - } - - /** - * The speed it takes to move the entityliving's rotationPitch through the faceEntity method. This is only currently - * use in wolves. - */ - @Override - public int getVerticalFaceSpeed() - { - return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); - } - - /** - * Called when the entity is attacked. - */ - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) - { - if (this.isEntityInvulnerable()) - { - return false; - } - else - { - Entity entity = par1DamageSource.getEntity(); - this.aiSit.setSitting(false); - - if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) - { - par2 = (par2 + 1) / 2; - } - - return super.attackEntityFrom(par1DamageSource, par2); - } - } - - @Override - public boolean attackEntityAsMob(Entity par1Entity) - { - int i = this.isTamed() ? 4 : 2; - return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), i); - } - - /** - * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig. - */ - @Override - public boolean interact(EntityPlayer par1EntityPlayer) - { - ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); - - if (this.isTamed()) - { - if (itemstack != null) - { - if (Item.itemsList[itemstack.itemID] instanceof ItemFood) - { - ItemFood itemfood = (ItemFood)Item.itemsList[itemstack.itemID]; - - if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectInt(18) < 20) - { - if (!par1EntityPlayer.capabilities.isCreativeMode) - { - --itemstack.stackSize; - } - - this.heal(itemfood.getHealAmount()); - - if (itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack)null); - } - - return true; - } - } - else if (itemstack.itemID == Item.dyePowder.itemID) - { - int i = BlockCloth.getBlockFromDye(itemstack.getItemDamage()); - - if (i != this.getCollarColor()) - { - this.setCollarColor(i); - - if (!par1EntityPlayer.capabilities.isCreativeMode && --itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack)null); - } - - return true; - } - } - } - - if (par1EntityPlayer.username.equalsIgnoreCase(this.getOwnerName()) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) - { - this.aiSit.setSitting(!this.isSitting()); - this.isJumping = false; - this.setPathToEntity((PathEntity)null); - } - } - else if (itemstack != null && itemstack.itemID == Item.bone.itemID && !this.isAngry()) - { - if (!par1EntityPlayer.capabilities.isCreativeMode) - { - --itemstack.stackSize; - } - - if (itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack)null); - } - - if (!this.worldObj.isRemote) - { - if (this.rand.nextInt(3) == 0) - { - this.setTamed(true); - this.setPathToEntity((PathEntity)null); - this.setAttackTarget((EntityLiving)null); - this.aiSit.setSitting(true); - this.setEntityHealth(20); - this.setOwner(par1EntityPlayer.username); - this.playTameEffect(true); - this.worldObj.setEntityState(this, (byte)7); - } - else - { - this.playTameEffect(false); - this.worldObj.setEntityState(this, (byte)6); - } - } - - return true; - } - - return super.interact(par1EntityPlayer); - } - - @SideOnly(Side.CLIENT) - @Override - public void handleHealthUpdate(byte par1) - { - if (par1 == 8) - { - this.field_70928_h = true; - this.timeWolfIsShaking = 0.0F; - this.prevTimeWolfIsShaking = 0.0F; - } - else - { - super.handleHealthUpdate(par1); - } - } - - @SideOnly(Side.CLIENT) - public float getTailRotation() - { - return this.isAngry() ? 1.5393804F : (this.isTamed() ? (0.55F - (float)(20 - this.dataWatcher.getWatchableObjectInt(18)) * 0.02F) * (float)Math.PI : ((float)Math.PI / 5F)); - } - - /** - * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on - * the animal type) - */ - @Override - public boolean isBreedingItem(ItemStack par1ItemStack) - { - return par1ItemStack == null ? false : (!(Item.itemsList[par1ItemStack.itemID] instanceof ItemFood) ? false : ((ItemFood)Item.itemsList[par1ItemStack.itemID]).isWolfsFavoriteMeat()); - } - - /** - * Will return how many at most can spawn in a chunk at once. - */ - @Override - public int getMaxSpawnedInChunk() - { - return 8; - } - - /** - * Determines whether this wolf is angry or not. - */ - public boolean isAngry() - { - return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; - } - - /** - * Sets whether this wolf is angry or not. - */ - public void setAngry(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 2))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -3))); - } - } - - /** - * Return this wolf's collar color. - */ - public int getCollarColor() - { - return this.dataWatcher.getWatchableObjectByte(20) & 15; - } - - /** - * Set this wolf's collar color. - */ - public void setCollarColor(int par1) - { - this.dataWatcher.updateObject(20, Byte.valueOf((byte)(par1 & 15))); - } - - /** - * This function is used when two same-species animals in 'love mode' breed to generate the new baby animal. - */ - public EntityDesertWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) - { - EntityDesertWolf entitywolf = new EntityDesertWolf(this.worldObj); - String s = this.getOwnerName(); - - if (s != null && s.trim().length() > 0) - { - entitywolf.setOwner(s); - entitywolf.setTamed(true); - } - - return entitywolf; - } - - public void func_70918_i(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(19); - - if (par1) - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte)1)); - } - else - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte)0)); - } - } - - /** - * Returns true if the mob is currently able to mate with the specified mob. - */ - @Override - public boolean canMateWith(EntityAnimal par1EntityAnimal) - { - if (par1EntityAnimal == this) - { - return false; - } - else if (!this.isTamed()) - { - return false; - } - else if (!(par1EntityAnimal instanceof EntityDesertWolf)) - { - return false; - } - else - { - EntityDesertWolf entitywolf = (EntityDesertWolf)par1EntityAnimal; - return !entitywolf.isTamed() ? false : (entitywolf.isSitting() ? false : this.isInLove() && entitywolf.isInLove()); - } - } - - public boolean func_70922_bv() - { - return this.dataWatcher.getWatchableObjectByte(19) == 1; - } - - @Override - public EntityAgeable createChild(EntityAgeable par1EntityAgeable) - { - return this.spawnBabyAnimal(par1EntityAgeable); - } -} diff --git a/common/rebelkeithy/mods/atum/entities/EntityDustySkeleton.java b/common/rebelkeithy/mods/atum/entities/EntityDustySkeleton.java deleted file mode 100644 index b36bf04..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityDustySkeleton.java +++ /dev/null @@ -1,109 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; - -public class EntityDustySkeleton extends EntityMob implements IAtumNightMob -{ - - public EntityDustySkeleton(World par1World) - { - super(par1World); - this.isImmuneToFire = true; - this.experienceValue = 6; - } - - @Override - public int getMaxHealth() - { - return 20; - } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/mobs/DustySkeleton.png"; - } - - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) - { - return super.attackEntityFrom(par1DamageSource, par2); - } - - - /** - * Checks if the entity's current position is a valid location to spawn this entity. - */ - @Override - public boolean getCanSpawnHere() - { - //System.out.println("light level mummy " + this.isValidLightLevel() + " " + super.getCanSpawnHere()); - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - //return true || super.getCanSpawnHere(); - } - - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() - { - return true; - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() - { - return EnumCreatureAttribute.UNDEAD; - } - - /** - * Returns the amount of damage a mob should deal. - */ - @Override - public int getAttackStrength(Entity par1Entity) - { - ItemStack itemstack = this.getHeldItem(); - float f = (float)(this.getMaxHealth() - this.getHealth()) / (float)this.getMaxHealth(); - int i = 3 + MathHelper.floor_float(f * 4.0F); - - if (itemstack != null) - { - i += itemstack.getDamageVsEntity(this); - } - - return i; - } - - @Override - public float getSpeedModifier() - { - return super.getSpeedModifier() * 1.5F; - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) - { - switch (this.rand.nextInt(4)) - { - case 0: - int amount = rand.nextInt(2) + 1; - this.dropItem(Item.bone.itemID, amount); - break; - } - } -} diff --git a/common/rebelkeithy/mods/atum/entities/EntityGhost.java b/common/rebelkeithy/mods/atum/entities/EntityGhost.java deleted file mode 100644 index 09d95b8..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityGhost.java +++ /dev/null @@ -1,176 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import net.minecraftforge.common.ForgeHooks; -import rebelkeithy.mods.atum.AtumItems; - -public class EntityGhost extends EntityMob implements IAtumNightMob -{ - private int cycleHeight = 0; - private int cycleTime = 100; - - public EntityGhost(World par1World) - { - super(par1World); - this.experienceValue = 6; - cycleTime = (int) ((Math.random() * 40) + 80); - cycleHeight = (int) (Math.random() * cycleTime); - } - - - /** - * Returns true if the newer Entity AI code should be run - */ - @Override - public boolean isAIEnabled() - { - return false; - } - - @Override - public int getMaxHealth() - { - return 10; - } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/mobs/DesertGhost.png"; - } - - @Override - public float getSpeedModifier() - { - if(this.entityToAttack == null) - return super.getSpeedModifier() * 1.5F; - else - return super.getSpeedModifier() * 2F; - } - - - public void onLivingUpdate() - { - cycleHeight = (cycleHeight + 1) % cycleTime; - - super.onLivingUpdate(); - } - - /** - * Checks if the entity's current position is a valid location to spawn this entity. - */ - @Override - public boolean getCanSpawnHere() - { - //System.out.println("light level mummy " + this.isValidLightLevel() + " " + super.getCanSpawnHere()); - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - //return true || super.getCanSpawnHere(); - } - - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() - { - return true; - } - - @Override - protected void jump() - { - this.motionY = 0.56999998688697815D; - - if (this.isPotionActive(Potion.jump)) - { - this.motionY += (double)((float)(this.getActivePotionEffect(Potion.jump).getAmplifier() + 1) * 0.1F); - } - - if (this.isSprinting()) - { - float f = this.rotationYaw * 0.017453292F; - this.motionX -= (double)(MathHelper.sin(f) * 0.2F); - this.motionZ += (double)(MathHelper.cos(f) * 0.2F); - } - - this.isAirBorne = true; - ForgeHooks.onLivingJump(this); - } - - /** - * Plays step sound at given x, y, z for the entity - */ - @Override - protected void playStepSound(int par1, int par2, int par3, int par4) {} - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() - { - return EnumCreatureAttribute.UNDEAD; - } - - - - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) - { - return super.attackEntityFrom(par1DamageSource, par2); - } - - /** - * Basic mob attack. Default to touch of death in EntityCreature. Overridden by each mob to define their attack. - */ - @Override - protected void attackEntity(Entity par1Entity, float par2) - { - if (this.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > this.boundingBox.minY && par1Entity.boundingBox.minY < this.boundingBox.maxY) - { - this.attackTime = 20; - this.attackEntityAsMob(par1Entity); - if(Math.random() > 0.75 && par1Entity instanceof EntityLiving) - { - EntityLiving e = (EntityLiving) par1Entity; - e.addPotionEffect(new PotionEffect(2, 100, 2)); - } - } - } - - /** - * Returns the amount of damage a mob should deal. - */ - @Override - public int getAttackStrength(Entity par1Entity) - { - return 2; - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) - { - if (this.rand.nextInt(4) == 0) - { - int amount = rand.nextInt(3) + 1; - this.dropItem(AtumItems.ectoplasm.itemID, amount); - } - } - - - public double getFloatingHeight() { - return Math.cos(2*Math.PI*(cycleHeight / (double)cycleTime)) / 3.0F; - } -} diff --git a/common/rebelkeithy/mods/atum/entities/EntityMummy.java b/common/rebelkeithy/mods/atum/entities/EntityMummy.java deleted file mode 100644 index debbc8a..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityMummy.java +++ /dev/null @@ -1,124 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.item.Item; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumItems; - -public class EntityMummy extends EntityMob implements IAtumNightMob -{ - - public EntityMummy(World par1World) - { - super(par1World); - this.experienceValue = 8; - } - - @Override - public int getMaxHealth() - { - return 40; - } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/mobs/Mummy.png"; - } - - @Override - public float getSpeedModifier() - { - if(this.isBurning()) - return super.getSpeedModifier() * 1.4F; - - return super.getSpeedModifier(); - } - - /** - * Checks if the entity's current position is a valid location to spawn this entity. - */ - @Override - public boolean getCanSpawnHere() - { - //System.out.println("light level mummy " + this.isValidLightLevel() + " " + super.getCanSpawnHere()); - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - //return true || super.getCanSpawnHere(); - } - - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() - { - return true; - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() - { - return EnumCreatureAttribute.UNDEAD; - } - - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) - { - if(par1DamageSource.isFireDamage()) - { - par2 += 1; - } - if(this.isBurning()) - { - par2 = (int) (par2 * 1.5); - } - - return super.attackEntityFrom(par1DamageSource, par2); - } - - @Override - public boolean attackEntityAsMob(Entity par1Entity) - { - boolean flag = super.attackEntityAsMob(par1Entity); - - if (flag && this.isBurning() && this.rand.nextFloat() < (float)this.worldObj.difficultySetting * 0.4F) - { - par1Entity.setFire(2 * this.worldObj.difficultySetting); - } - - return flag; - } - - /** - * Returns the amount of damage a mob should deal. - */ - @Override - public int getAttackStrength(Entity par1Entity) - { - return 2; - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) - { - if(rand.nextInt(4) == 0) - { - this.dropItem(Item.rottenFlesh.itemID, 1); - } - if(rand.nextInt(4) == 0) - { - int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.scrap.itemID, amount); - } - } -} diff --git a/common/rebelkeithy/mods/atum/entities/EntityStoneSoldier.java b/common/rebelkeithy/mods/atum/entities/EntityStoneSoldier.java deleted file mode 100644 index 03d1d3f..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityStoneSoldier.java +++ /dev/null @@ -1,154 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumItems; - -public class EntityStoneSoldier extends EntityStone implements IAtumNightMob, IAtumDayMob -{ - - public EntityStoneSoldier(World par1World) - { - super(par1World); - this.isImmuneToFire = true; - this.experienceValue = 8; - } - - @Override - public int getMaxHealth() - { - return 80; - } - - @Override - public void initCreature() - { - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.stoneSoldierSword)); - - for (int i = 0; i < this.equipmentDropChances.length; ++i) - { - this.equipmentDropChances[i] = 0F; - } - } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/mobs/StoneSoldier.png"; - } - - @Override - public float getSpeedModifier() - { - return super.getSpeedModifier() * 0.5F; - } - - /** - * Checks if the entity's current position is a valid location to spawn this entity. - */ - @Override - public boolean getCanSpawnHere() - { - //System.out.println("light level mummy " + this.isValidLightLevel() + " " + super.getCanSpawnHere()); - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - //return true || super.getCanSpawnHere(); - } - - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() - { - return true; - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() - { - return EnumCreatureAttribute.UNDEFINED; - } - - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) - { - if(super.attackEntityFrom(par1DamageSource, par2)) - { - if(par1DamageSource.getEntity() != null) - { - Entity par1Entity = par1DamageSource.getEntity(); - int j = 0; - if (par1Entity instanceof EntityLiving) - { - j += EnchantmentHelper.getKnockbackModifier((EntityLiving)par1Entity, this); - - if (j > 0) - { - this.motionX /= 0.6D; - this.motionZ /= 0.6D; - this.addVelocity((double)(MathHelper.sin(par1Entity.rotationYaw * (float)Math.PI / 180.0F) * (float)j * 0.5F), -0.1D, (double)(-MathHelper.cos(par1Entity.rotationYaw * (float)Math.PI / 180.0F) * (float)j * 0.5F)); - } - } - - } - return true; - } - - return false; - } - - /** - * knocks back this entity - */ - @Override - public void knockBack(Entity par1Entity, int par2, double par3, double par5) - { - this.isAirBorne = true; - float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); - float f1 = 0.2F; - this.motionX /= 2.0D; - this.motionY /= 2.0D; - this.motionZ /= 2.0D; - this.motionX -= par3 / (double)f * (double)f1; - //this.motionY += (double)f1; - this.motionZ -= par5 / (double)f * (double)f1; - - if (this.motionY > 0.4000000059604645D) - { - this.motionY = 0.4000000059604645D; - } - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) - { - if (this.rand.nextInt(4) == 0) - { - int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.stoneChunk.itemID, amount); - } - } - - /** - * Returns the amount of damage a mob should deal. - */ - @Override - public int getAttackStrength(Entity par1Entity) - { - return 4; - } -} diff --git a/common/rebelkeithy/mods/atum/entities/IAtumDayMob.java b/common/rebelkeithy/mods/atum/entities/IAtumDayMob.java deleted file mode 100644 index de980aa..0000000 --- a/common/rebelkeithy/mods/atum/entities/IAtumDayMob.java +++ /dev/null @@ -1,5 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -public interface IAtumDayMob -{ -} diff --git a/common/rebelkeithy/mods/atum/entities/IAtumNightMob.java b/common/rebelkeithy/mods/atum/entities/IAtumNightMob.java deleted file mode 100644 index 0373dbc..0000000 --- a/common/rebelkeithy/mods/atum/entities/IAtumNightMob.java +++ /dev/null @@ -1,5 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -public interface IAtumNightMob { - -} diff --git a/common/rebelkeithy/mods/atum/entities/RenderBandit.java b/common/rebelkeithy/mods/atum/entities/RenderBandit.java deleted file mode 100644 index 6d7a3f8..0000000 --- a/common/rebelkeithy/mods/atum/entities/RenderBandit.java +++ /dev/null @@ -1,153 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import static net.minecraftforge.client.IItemRenderer.ItemRenderType.EQUIPPED; -import static net.minecraftforge.client.IItemRenderer.ItemRendererHelper.BLOCK_3D; -import net.minecraft.block.Block; -import net.minecraft.client.model.ModelBiped; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.entity.RenderBiped; -import net.minecraft.client.renderer.tileentity.TileEntitySkullRenderer; -import net.minecraft.entity.EntityLiving; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; - -import org.lwjgl.opengl.GL11; - -import rebelkeithy.mods.atum.AtumItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class RenderBandit extends RenderBiped -{ - - public RenderBandit(ModelBiped par1ModelBiped, float par2) - { - super(par1ModelBiped, par2); - } - - @Override - protected void renderEquippedItems(EntityLiving par1EntityLiving, float par2) - { - float f1 = 1.0F; - GL11.glColor3f(f1, f1, f1); - //super.renderEquippedItems(par1EntityLiving, par2); - ItemStack itemstack = par1EntityLiving.getHeldItem(); - ItemStack itemstack1 = par1EntityLiving.getCurrentArmor(3); - float f2; - - if (itemstack1 != null) - { - GL11.glPushMatrix(); - this.modelBipedMain.bipedHead.postRender(0.0625F); - - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemstack1, EQUIPPED); - boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack1, BLOCK_3D)); - - if (itemstack1.getItem() instanceof ItemBlock) - { - if (is3D || RenderBlocks.renderItemIn3d(Block.blocksList[itemstack1.itemID].getRenderType())) - { - f2 = 0.625F; - GL11.glTranslatef(0.0F, -0.25F, 0.0F); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(f2, -f2, -f2); - } - - this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack1, 0); - } - else if (itemstack1.getItem().itemID == Item.skull.itemID) - { - f2 = 1.0625F; - GL11.glScalef(f2, -f2, -f2); - String s = ""; - - if (itemstack1.hasTagCompound() && itemstack1.getTagCompound().hasKey("SkullOwner")) - { - s = itemstack1.getTagCompound().getString("SkullOwner"); - } - - TileEntitySkullRenderer.skullRenderer.func_82393_a(-0.5F, 0.0F, -0.5F, 1, 180.0F, itemstack1.getItemDamage(), s); - } - - GL11.glPopMatrix(); - } - - if (itemstack != null) - { - GL11.glPushMatrix(); - - if (this.mainModel.isChild) - { - f2 = 0.5F; - GL11.glTranslatef(0.0F, 0.625F, 0.0F); - GL11.glRotatef(-20.0F, -1.0F, 0.0F, 0.0F); - GL11.glScalef(f2, f2, f2); - } - - this.modelBipedMain.bipedRightArm.postRender(0.0625F); - GL11.glTranslatef(-0.0625F, 0.4375F, 0.0625F); - - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemstack, EQUIPPED); - boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack, BLOCK_3D)); - - if (itemstack.getItem() instanceof ItemBlock && (is3D || RenderBlocks.renderItemIn3d(Block.blocksList[itemstack.itemID].getRenderType()))) - { - f2 = 0.5F; - GL11.glTranslatef(0.0F, 0.1875F, -0.3125F); - f2 *= 0.75F; - GL11.glRotatef(20.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(-f2, -f2, f2); - } - else if (itemstack.itemID == AtumItems.bow.itemID && false) - { - f2 = 0.625F; - GL11.glTranslatef(0.0F, 0.125F, 0.3125F); - GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(f2, -f2, f2); - GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - } - else if (Item.itemsList[itemstack.itemID].isFull3D()) - { - f2 = 0.625F; - - if (Item.itemsList[itemstack.itemID].shouldRotateAroundWhenRendering()) - { - GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.0F, -0.125F, 0.0F); - } - - this.func_82422_c(); - GL11.glScalef(f2, -f2, f2); - GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - } - else - { - f2 = 0.375F; - GL11.glTranslatef(0.25F, 0.1875F, -0.1875F); - GL11.glScalef(f2, f2, f2); - GL11.glRotatef(60.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-90.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(20.0F, 0.0F, 0.0F, 1.0F); - } - - this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack, 0); - - if (itemstack.getItem().requiresMultipleRenderPasses()) - { - for (int x = 1; x < itemstack.getItem().getRenderPasses(itemstack.getItemDamage()); x++) - { - this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack, x); - } - } - - GL11.glPopMatrix(); - } - } -} diff --git a/common/rebelkeithy/mods/atum/entities/RenderDesertWolf.java b/common/rebelkeithy/mods/atum/entities/RenderDesertWolf.java deleted file mode 100644 index 6baa6af..0000000 --- a/common/rebelkeithy/mods/atum/entities/RenderDesertWolf.java +++ /dev/null @@ -1,69 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.passive.EntitySheep; - -import org.lwjgl.opengl.GL11; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class RenderDesertWolf extends RenderLiving -{ - public RenderDesertWolf(ModelBase par1ModelBase, ModelBase par2ModelBase, float par3) - { - super(par1ModelBase, par3); - this.setRenderPassModel(par2ModelBase); - } - - protected float getTailRotation(EntityDesertWolf par1EntityDesertWolf, float par2) - { - return par1EntityDesertWolf.getTailRotation(); - } - - protected int func_82447_a(EntityDesertWolf par1EntityDesertWolf, int par2, float par3) - { - float f1; - - if (par2 == 0 && par1EntityDesertWolf.getWolfShaking()) - { - f1 = par1EntityDesertWolf.getBrightness(par3) * par1EntityDesertWolf.getShadingWhileShaking(par3); - this.loadTexture(par1EntityDesertWolf.getTexture()); - GL11.glColor3f(f1, f1, f1); - return 1; - } - else if (par2 == 1 && par1EntityDesertWolf.isTamed()) - { - this.loadTexture("/mob/wolf_collar.png"); - f1 = 1.0F; - int j = par1EntityDesertWolf.getCollarColor(); - GL11.glColor3f(f1 * EntitySheep.fleeceColorTable[j][0], f1 * EntitySheep.fleeceColorTable[j][1], f1 * EntitySheep.fleeceColorTable[j][2]); - return 1; - } - else - { - return -1; - } - } - - /** - * Queries whether should render the specified pass or not. - */ - @Override - protected int shouldRenderPass(EntityLiving par1EntityLiving, int par2, float par3) - { - return this.func_82447_a((EntityDesertWolf)par1EntityLiving, par2, par3); - } - - /** - * Defines what float the third param in setRotationAngles of ModelBase is - */ - @Override - protected float handleRotationFloat(EntityLiving par1EntityLiving, float par2) - { - return this.getTailRotation((EntityDesertWolf)par1EntityLiving, par2); - } -} diff --git a/common/rebelkeithy/mods/atum/entities/RenderPharaoh.java b/common/rebelkeithy/mods/atum/entities/RenderPharaoh.java deleted file mode 100644 index c5d4357..0000000 --- a/common/rebelkeithy/mods/atum/entities/RenderPharaoh.java +++ /dev/null @@ -1,164 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import static net.minecraftforge.client.IItemRenderer.ItemRenderType.EQUIPPED; -import static net.minecraftforge.client.IItemRenderer.ItemRendererHelper.BLOCK_3D; -import net.minecraft.block.Block; -import net.minecraft.client.model.ModelBiped; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.entity.RenderBiped; -import net.minecraft.client.renderer.tileentity.TileEntitySkullRenderer; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.boss.BossStatus; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; - -import org.lwjgl.opengl.GL11; - -import rebelkeithy.mods.atum.AtumItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class RenderPharaoh extends RenderBiped -{ - - public RenderPharaoh(ModelBiped par1ModelBiped, float par2) - { - super(par1ModelBiped, par2); - } - - - @Override - public void doRenderLiving(EntityLiving par1EntityLiving, double par2, double par4, double par6, float par8, float par9) - { - BossStatus.func_82824_a((EntityPharaoh)par1EntityLiving, false); - - super.doRenderLiving(par1EntityLiving, par2, par4, par6, par8, par9); - } - - - @Override - protected void renderEquippedItems(EntityLiving par1EntityLiving, float par2) - { - float f1 = 1.0F; - GL11.glColor3f(f1, f1, f1); - //super.renderEquippedItems(par1EntityLiving, par2); - ItemStack itemstack = par1EntityLiving.getHeldItem(); - ItemStack itemstack1 = par1EntityLiving.getCurrentArmor(3); - float f2; - - if (itemstack1 != null) - { - GL11.glPushMatrix(); - this.modelBipedMain.bipedHead.postRender(0.0625F); - - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemstack1, EQUIPPED); - boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack1, BLOCK_3D)); - - if (itemstack1.getItem() instanceof ItemBlock) - { - if (is3D || RenderBlocks.renderItemIn3d(Block.blocksList[itemstack1.itemID].getRenderType())) - { - f2 = 0.625F; - GL11.glTranslatef(0.0F, -0.25F, 0.0F); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(f2, -f2, -f2); - } - - this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack1, 0); - } - else if (itemstack1.getItem().itemID == Item.skull.itemID) - { - f2 = 1.0625F; - GL11.glScalef(f2, -f2, -f2); - String s = ""; - - if (itemstack1.hasTagCompound() && itemstack1.getTagCompound().hasKey("SkullOwner")) - { - s = itemstack1.getTagCompound().getString("SkullOwner"); - } - - TileEntitySkullRenderer.skullRenderer.func_82393_a(-0.5F, 0.0F, -0.5F, 1, 180.0F, itemstack1.getItemDamage(), s); - } - - GL11.glPopMatrix(); - } - - if (itemstack != null) - { - GL11.glPushMatrix(); - - if (this.mainModel.isChild) - { - f2 = 0.5F; - GL11.glTranslatef(0.0F, 0.625F, 0.0F); - GL11.glRotatef(-20.0F, -1.0F, 0.0F, 0.0F); - GL11.glScalef(f2, f2, f2); - } - - this.modelBipedMain.bipedRightArm.postRender(0.0625F); - GL11.glTranslatef(-0.0625F, 0.4375F, 0.0625F); - - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemstack, EQUIPPED); - boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack, BLOCK_3D)); - - if (itemstack.getItem() instanceof ItemBlock && (is3D || RenderBlocks.renderItemIn3d(Block.blocksList[itemstack.itemID].getRenderType()))) - { - f2 = 0.5F; - GL11.glTranslatef(0.0F, 0.1875F, -0.3125F); - f2 *= 0.75F; - GL11.glRotatef(20.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(-f2, -f2, f2); - } - else if (itemstack.itemID == AtumItems.bow.itemID) - { - f2 = 0.625F; - GL11.glTranslatef(0.0F, 0.125F, 0.3125F); - GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(f2, -f2, f2); - GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - } - else if (Item.itemsList[itemstack.itemID].isFull3D()) - { - f2 = 0.625F; - - if (Item.itemsList[itemstack.itemID].shouldRotateAroundWhenRendering()) - { - GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.0F, -0.125F, 0.0F); - } - - this.func_82422_c(); - GL11.glScalef(f2, -f2, f2); - GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - } - else - { - f2 = 0.375F; - GL11.glTranslatef(0.25F, 0.1875F, -0.1875F); - GL11.glScalef(f2, f2, f2); - GL11.glRotatef(60.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-90.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(20.0F, 0.0F, 0.0F, 1.0F); - } - - this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack, 0); - - if (itemstack.getItem().requiresMultipleRenderPasses()) - { - for (int x = 1; x < itemstack.getItem().getRenderPasses(itemstack.getItemDamage()); x++) - { - this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack, x); - } - } - - GL11.glPopMatrix(); - } - } -} diff --git a/common/rebelkeithy/mods/atum/entities/projectiles/EntityFireSpearCombined.java b/common/rebelkeithy/mods/atum/entities/projectiles/EntityFireSpearCombined.java deleted file mode 100644 index a11e4ec..0000000 --- a/common/rebelkeithy/mods/atum/entities/projectiles/EntityFireSpearCombined.java +++ /dev/null @@ -1,634 +0,0 @@ -package rebelkeithy.mods.atum.entities.projectiles; - -import java.util.List; - -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.enchantment.EnchantmentThorns; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class EntityFireSpearCombined extends Entity implements IProjectile, IThrowableEntity -{ - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - - /** The amount of knockback an arrow applies when it hits a mob. */ - private int knockbackStrength; - - public EntityFireSpearCombined(World par1World) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityFireSpearCombined(World par1World, double par2, double par4, double par6) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityFireSpearCombined(World par1World, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - } - - public EntityFireSpearCombined(World par1World, EntityLiving par2EntityLiving, float par3) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) - { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); - } - - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { - this.inGround = true; - } - } - - if (this.arrowShake > 0) - { - --this.arrowShake; - } - - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) - { - ++this.ticksInGround; - - if (this.ticksInGround == 1200) - { - this.setDead(); - } - } - else - { - this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } - else - { - ++this.ticksInAir; - Vec3 position = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 new_position = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(position, new_position, false, true); - position = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - new_position = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - new_position = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(position, new_position); - - if (movingobjectposition1 != null) - { - double d1 = position.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) - { - entity = entity1; - d0 = d1; - } - } - } - } - - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); - } - - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; - - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).func_96122_a(entityplayer)) - { - movingobjectposition = null; - } - } - - float f2; - float f3; - - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); - - if (this.getIsCritical()) - { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) - { - damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { - movingobjectposition.entityHit.setFire(5); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) - { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if (this.knockbackStrength > 0) - { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); - } - } - - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { - this.setDead(); - } - } - else - { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } - else - { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05D; - this.posY -= this.motionY / (double)f2 * 0.05D; - this.posZ -= this.motionZ / (double)f2 * 0.05D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if (this.getIsCritical()) - { - for (l = 0; l < 4; ++l) - { - this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - } - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; - } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.05F; - - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.8F; - } - - double prevMotionY = motionY; - - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)f1; - this.setPosition(this.posX, this.posY, this.posZ); - - if(Math.random() > 0.0) - { - worldObj.spawnParticle("flame", (double)(this.posX + Math.random() * 0.5 - 0.25), (double)(this.posY + Math.random() * 0.5 - 0.25), (double)(this.posZ + Math.random() * 0.5 - 0.25), 0.0D, 0.0D, 0.0D); - worldObj.spawnParticle("smoke", (double)(this.posX + Math.random() * 0.5 - 0.25), (double)(this.posY + Math.random() * 0.5 - 0.25), (double)(this.posZ + Math.random() * 0.5 - 0.25), 0.0D, 0.0D, 0.0D); - } - - if(this.ticksInAir > 10 && motionY < 0) - { - EntityFireSpearSeperated spear1 = new EntityFireSpearSeperated(this, 0.1F, 0.0F, 0.1F); - EntityFireSpearSeperated spear2 = new EntityFireSpearSeperated(this, -0.1F, 0.0F, -0.1F); - EntityFireSpearSeperated spear3 = new EntityFireSpearSeperated(this, 0.0F, 0.0F, 0.0F); - - if(!worldObj.isRemote) - { - worldObj.spawnEntityInWorld(spear1); - worldObj.spawnEntityInWorld(spear2); - worldObj.spawnEntityInWorld(spear3); - this.setDead(); - } - } - - this.doBlockCollisions(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) - { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) - { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) - { - flag = false; - } - - if (flag) - { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - protected boolean canTriggerWalking() - { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public void setDamage(double par1) - { - this.damage = par1; - } - - public double getDamage() - { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) - { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - @Override - public Entity getThrower() - { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; - } - -} diff --git a/common/rebelkeithy/mods/atum/entities/projectiles/EntityFireSpearSeperated.java b/common/rebelkeithy/mods/atum/entities/projectiles/EntityFireSpearSeperated.java deleted file mode 100644 index d955708..0000000 --- a/common/rebelkeithy/mods/atum/entities/projectiles/EntityFireSpearSeperated.java +++ /dev/null @@ -1,639 +0,0 @@ -package rebelkeithy.mods.atum.entities.projectiles; - -import java.util.List; - -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.enchantment.EnchantmentThorns; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class EntityFireSpearSeperated extends Entity implements IProjectile, IThrowableEntity -{ - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - - /** The amount of knockback an arrow applies when it hits a mob. */ - private int knockbackStrength; - - public EntityFireSpearSeperated(EntityFireSpearCombined spear, float dmx, float dmy, float dmz) - { - super(spear.worldObj); - this.setPosition(spear.posX, spear.posY, spear.posZ); - this.renderDistanceWeight = spear.renderDistanceWeight; - this.shootingEntity = spear.shootingEntity; - this.canBePickedUp = spear.canBePickedUp; - - // Set location and angles - this.lastTickPosX = spear.lastTickPosX; - this.lastTickPosY = spear.lastTickPosY; - this.lastTickPosZ = spear.lastTickPosZ; - this.rotationYaw = spear.rotationYaw; - this.rotationPitch = spear.rotationPitch; - - this.motionX = spear.motionX + dmx; - this.motionY = spear.motionY + dmy; - this.motionZ = spear.motionZ + dmz; - //this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, 0.9F * 1.5F, 1.0F); - } - - public EntityFireSpearSeperated(World par1World) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - - this.setSize(0.5F, 0.5F); - } - - public EntityFireSpearSeperated(World par1World, double par2, double par4, double par6) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityFireSpearSeperated(World par1World, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - } - - public EntityFireSpearSeperated(World par1World, EntityLiving par2EntityLiving, float par3) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) - { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); - } - - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { - this.inGround = true; - } - } - - if (this.arrowShake > 0) - { - --this.arrowShake; - } - - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) - { - ++this.ticksInGround; - - if (this.ticksInGround == 1200) - { - this.setDead(); - } - } - else - { - this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } - else - { - ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) - { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) - { - entity = entity1; - d0 = d1; - } - } - } - } - - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); - } - - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; - - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).func_96122_a(entityplayer)) - { - movingobjectposition = null; - } - } - - float f2; - float f3; - - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); - - if (this.getIsCritical()) - { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) - { - damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { - movingobjectposition.entityHit.setFire(5); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) - { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if (this.knockbackStrength > 0) - { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); - } - } - - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { - this.setDead(); - } - } - else - { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } - else - { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if (this.getIsCritical()) - { - for (l = 0; l < 4; ++l) - { - this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - } - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; - } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.05F; - - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.8F; - } - - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)f1; - this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); - - if(Math.random() > 0.0) - { - worldObj.spawnParticle("flame", (double)(this.posX + Math.random() * 0.5 - 0.25), (double)(this.posY + Math.random() * 0.5 - 0.25), (double)(this.posZ + Math.random() * 0.5 - 0.25), 0.0D, 0.0D, 0.0D); - worldObj.spawnParticle("smoke", (double)(this.posX + Math.random() * 0.5 - 0.25), (double)(this.posY + Math.random() * 0.5 - 0.25), (double)(this.posZ + Math.random() * 0.5 - 0.25), 0.0D, 0.0D, 0.0D); - } - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) - { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) - { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) - { - flag = false; - } - - if (flag) - { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - protected boolean canTriggerWalking() - { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public void setDamage(double par1) - { - this.damage = par1; - } - - public double getDamage() - { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) - { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - @Override - public Entity getThrower() - { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; - } - -} diff --git a/common/rebelkeithy/mods/atum/entities/projectiles/RenderFireSpear.java b/common/rebelkeithy/mods/atum/entities/projectiles/RenderFireSpear.java deleted file mode 100644 index a9b9241..0000000 --- a/common/rebelkeithy/mods/atum/entities/projectiles/RenderFireSpear.java +++ /dev/null @@ -1,88 +0,0 @@ -package rebelkeithy.mods.atum.entities.projectiles; - -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.MathHelper; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class RenderFireSpear extends Render -{ - public void renderArrow(EntityFireSpearCombined par1EntityFireSpearCombined, double par2, double par4, double par6, float par8, float par9) - { - this.loadTexture("/mods/Atum/textures/items/ArrowEntity.png"); - GL11.glPushMatrix(); - GL11.glTranslatef((float)par2, (float)par4, (float)par6); - GL11.glRotatef(par1EntityFireSpearCombined.prevRotationYaw + (par1EntityFireSpearCombined.rotationYaw - par1EntityFireSpearCombined.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(par1EntityFireSpearCombined.prevRotationPitch + (par1EntityFireSpearCombined.rotationPitch - par1EntityFireSpearCombined.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F); - Tessellator tessellator = Tessellator.instance; - byte b0 = 0; - float f2 = 0.0F; - float f3 = 0.5F; - float f4 = (float)(0 + b0 * 10) / 32.0F; - float f5 = (float)(5 + b0 * 10) / 32.0F; - float f6 = 0.0F; - float f7 = 0.15625F; - float f8 = (float)(5 + b0 * 10) / 32.0F; - float f9 = (float)(10 + b0 * 10) / 32.0F; - float f10 = 0.05625F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f11 = (float)par1EntityFireSpearCombined.arrowShake - par9; - - if (f11 > 0.0F) - { - float f12 = -MathHelper.sin(f11 * 3.0F) * f11; - GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); - } - - GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); - GL11.glScalef(f10, f10, f10); - GL11.glTranslatef(-4.0F, 0.0F, 0.0F); - GL11.glNormal3f(f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f9); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f9); - tessellator.draw(); - GL11.glNormal3f(-f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f9); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f9); - tessellator.draw(); - - for (int i = 0; i < 4; ++i) - { - GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - GL11.glNormal3f(0.0F, 0.0F, f10); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double)f2, (double)f4); - tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double)f3, (double)f4); - tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double)f3, (double)f5); - tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double)f2, (double)f5); - tessellator.draw(); - } - - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - } - - /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then - * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic - * (Render 0.0F) - { - float f12 = -MathHelper.sin(f11 * 3.0F) * f11; - GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); - } - - GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); - GL11.glScalef(f10, f10, f10); - GL11.glTranslatef(-4.0F, 0.0F, 0.0F); - GL11.glNormal3f(f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f9); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f9); - tessellator.draw(); - GL11.glNormal3f(-f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f9); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f9); - tessellator.draw(); - - for (int i = 0; i < 4; ++i) - { - GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - GL11.glNormal3f(0.0F, 0.0F, f10); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double)f2, (double)f4); - tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double)f3, (double)f4); - tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double)f3, (double)f5); - tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double)f2, (double)f5); - tessellator.draw(); - } - - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - } - - /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then - * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic - * (Render 0) - { - int k1 = this.furnaceRand.nextInt(21) + 10; - - if (k1 > itemstack.stackSize) - { - k1 = itemstack.stackSize; - } - - itemstack.stackSize -= k1; - EntityItem entityitem = new EntityItem(par1World, (double)((float)par2 + f), (double)((float)par3 + f1), (double)((float)par4 + f2), new ItemStack(itemstack.itemID, k1, itemstack.getItemDamage())); - - if (itemstack.hasTagCompound()) - { - entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); - } - - float f3 = 0.05F; - entityitem.motionX = (double)((float)this.furnaceRand.nextGaussian() * f3); - entityitem.motionY = (double)((float)this.furnaceRand.nextGaussian() * f3 + 0.2F); - entityitem.motionZ = (double)((float)this.furnaceRand.nextGaussian() * f3); - par1World.spawnEntityInWorld(entityitem); - } - } - } - - par1World.func_96440_m(par2, par3, par4, par5); - } - } - - super.breakBlock(par1World, par2, par3, par4, par5, par6); - } - - /** - * If this returns true, then comparators facing away from this block will use the value from - * getComparatorInputOverride instead of the actual redstone signal strength. - */ - @Override - public boolean hasComparatorInputOverride() - { - return true; - } - - /** - * If hasComparatorInputOverride returns true, the return value from this is used instead of the redstone signal - * strength when this block inputs to a comparator. - */ - @Override - public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) - { - return Container.calcRedstoneFromInventory((IInventory)par1World.getBlockTileEntity(par2, par3, par4)); - } -} diff --git a/common/rebelkeithy/mods/atum/items/ItemAtumBow.java b/common/rebelkeithy/mods/atum/items/ItemAtumBow.java deleted file mode 100644 index ab6885e..0000000 --- a/common/rebelkeithy/mods/atum/items/ItemAtumBow.java +++ /dev/null @@ -1,86 +0,0 @@ -package rebelkeithy.mods.atum.items; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBow; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; - -public class ItemAtumBow extends ItemBow -{ - public static final String[] bowPullIconNameArray = new String[] - { "bow_pull_0", "bow_pull_1", "bow_pull_2" }; - Icon[] iconArray; - - public ItemAtumBow(int par1) - { - super(par1); - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IconRegister par1IconRegister) - { - super.registerIcons(par1IconRegister); - this.iconArray = new Icon[bowPullIconNameArray.length]; - - for (int i = 0; i < this.iconArray.length; ++i) - { - this.iconArray[i] = par1IconRegister.registerIcon("Atum:" - + bowPullIconNameArray[i]); - } - } - - /** - * Player, Render pass, and item usage sensitive version of getIconIndex. - * - * @param stack - * The item stack to get the icon for. (Usually this, and - * usingItem will be the same if usingItem is not null) - * @param renderPass - * The pass to get the icon for, 0 is default. - * @param player - * The player holding the item - * @param usingItem - * The item the player is actively using. Can be null if not - * using anything. - * @param useRemaining - * The ticks remaining for the active item. - * @return The icon index - */ - @Override - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, - ItemStack usingItem, int useRemaining) - { - if (usingItem != null) - { - int j = getMaxItemUseDuration(stack) - useRemaining; - - if (j >= 18) - { - return getItemIconForUseDuration(2); - } - - if (j > 13) - { - return getItemIconForUseDuration(1); - } - - if (j > 0) - { - return getItemIconForUseDuration(0); - } - } - return getIcon(stack, renderPass); - } - - @SideOnly(Side.CLIENT) - @Override - public Icon getItemIconForUseDuration(int par1) - { - return this.iconArray[par1]; - } -} diff --git a/common/rebelkeithy/mods/atum/items/ItemFish.java b/common/rebelkeithy/mods/atum/items/ItemFish.java deleted file mode 100644 index 20e3e2e..0000000 --- a/common/rebelkeithy/mods/atum/items/ItemFish.java +++ /dev/null @@ -1,59 +0,0 @@ -package rebelkeithy.mods.atum.items; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemFish extends Item -{ - Icon[] icons; - - public ItemFish(int par1) - { - super(par1); - this.setHasSubtypes(true); - } - - @SideOnly(Side.CLIENT) - /** - * Gets an icon index based on an item's damage value - */ - public Icon getIconFromDamage(int par1) - { - return icons[par1]; - } - - @Override - public String getUnlocalizedName(ItemStack par1ItemStack) - { - return super.getUnlocalizedName() + "." + par1ItemStack.getItemDamage(); - } - - @SideOnly(Side.CLIENT) - @Override - public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List) - { - for(int i = 0; i < 4; i++) - { - par3List.add(new ItemStack(this.itemID, 1, i)); - } - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IconRegister par1IconRegister) - { - icons = new Icon[4]; - - for (int i = 0; i < 4; i++) - { - icons[i] = par1IconRegister.registerIcon("Atum:Fish" + i); - } - } -} diff --git a/common/rebelkeithy/mods/atum/items/ItemGreatsword.java b/common/rebelkeithy/mods/atum/items/ItemGreatsword.java deleted file mode 100644 index 3fe47ac..0000000 --- a/common/rebelkeithy/mods/atum/items/ItemGreatsword.java +++ /dev/null @@ -1,38 +0,0 @@ -package rebelkeithy.mods.atum.items; - -import rebelkeithy.mods.atum.entities.EntityPharaoh; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemGreatsword extends ItemSword -{ - - public ItemGreatsword(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } - - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLiving mob, EntityLiving player) - { - if(!(mob instanceof EntityStoneSoldier || mob instanceof EntityPharaoh)) - { - float j = 1.2f; - mob.addVelocity((double)(-MathHelper.sin(player.rotationYaw * (float)Math.PI / 180.0F) * (float)j * 0.5F), 0.1D, (double)(MathHelper.cos(player.rotationYaw * (float)Math.PI / 180.0F) * (float)j * 0.5F)); - } - return super.hitEntity(par1ItemStack, mob, player); - } -} diff --git a/common/rebelkeithy/mods/atum/items/ItemLoot.java b/common/rebelkeithy/mods/atum/items/ItemLoot.java deleted file mode 100644 index 9928c00..0000000 --- a/common/rebelkeithy/mods/atum/items/ItemLoot.java +++ /dev/null @@ -1,150 +0,0 @@ -package rebelkeithy.mods.atum.items; - -import java.util.List; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import net.minecraft.util.MathHelper; -import rebelkeithy.mods.atum.AtumItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -// Uses bit compression to store what type of loot this item is -// Format is TTTTQQQQD -// D: indicates weather or not it is dirty -// Q: Loot quality -// T: Loot type -public class ItemLoot extends Item -{ - private static String[] typeArray = {"Idol", "Necklace", "Ring", "Broach", "Scepter"}; - private static String[] qualityArray = {"Dirty", "Silver", "Gold", "Sapphire", "Ruby", "Emerald", "Diamond"}; - Icon[] iconArray; - - public ItemLoot(int par1) - { - super(par1); - this.setHasSubtypes(true); - this.setMaxDamage(0); - } - - public static ItemStack getRandomLoot(Random rand, boolean isDirty) - { - int type = rand.nextInt(typeArray.length); - int quality = rand.nextInt(qualityArray.length-1) + 1; - return new ItemStack(AtumItems.loot.itemID, 1, type << 5 | quality << 1 | (isDirty ? 1 : 0)); - } - - @Override - public String getItemDisplayName(ItemStack par1ItemStack) - { - int dirty = par1ItemStack.getItemDamage() & 1; - int quality = par1ItemStack.getItemDamage() >> 1 & 15; - int type = par1ItemStack.getItemDamage() >> 5 & 15; - if(dirty == 1) - return "Dirty " + typeArray[type]; - else - return qualityArray[quality] + " " + typeArray[type]; - } - - /** - * Returns the unlocalized name of this item. This version accepts an ItemStack so different stacks can have - * different names based on their damage or NBT. - */ - @Override - public String getUnlocalizedName(ItemStack par1ItemStack) - { - int dirty = par1ItemStack.getItemDamage() & 1; - int quality = par1ItemStack.getItemDamage() >> 1 & 15; - int type = par1ItemStack.getItemDamage() >> 5 & 15; - if(dirty == 1) - return super.getUnlocalizedName() + ".Dirty" + typeArray[type]; - else - return super.getUnlocalizedName() + "." + qualityArray[quality] + typeArray[type]; - - - } - - /** - * Called by the default implemetation of EntityItem's onUpdate method, allowing for cleaner - * control over the update of the item without having to write a subclass. - * - * @param entityItem The entity Item - * @return Return true to skip any further update code. - */ - @Override - public boolean onEntityItemUpdate(EntityItem entityItem) - { - int id = entityItem.worldObj.getBlockId(MathHelper.floor_double(entityItem.posX), MathHelper.floor_double(entityItem.posY), MathHelper.floor_double(entityItem.posZ)); - if (id == Block.waterStill.blockID || id == Block.waterMoving.blockID) - { - ItemStack item = entityItem.getEntityItem(); - int damage = item.getItemDamage() >> 1; - int quality = damage & 15; - if(quality == 0) - damage = damage | ((int)(Math.random()*6))+1; - item.setItemDamage(damage << 1); - entityItem.setEntityItemStack(item); - } - return super.onEntityItemUpdate(entityItem); - } - - @SideOnly(Side.CLIENT) - - /** - * returns a list of items with the same ID, but different meta (eg: dye returns 16 items) - */ - @Override - public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List) - { - for (int type = 0; type < typeArray.length; type++) - { - par3List.add(new ItemStack(par1, 1, type << 5 | 1)); - for(int quality = 1; quality < qualityArray.length; quality++) - { - par3List.add(new ItemStack(par1, 1, type << 5 | quality << 1)); - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Gets an icon index based on an item's damage value - */ - @Override - public Icon getIconFromDamage(int par1) - { - - int dirty = par1 & 1; - int quality = (par1 >> 1) & 15; - int type = (par1 >> 5) & 15; - if(dirty == 1) - return iconArray[type*7]; - else - return iconArray[type*7 + quality]; - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IconRegister par1IconRegister) - { - iconArray = new Icon[(typeArray.length)*(qualityArray.length+1)]; - - for (int type = 0; type < 5; type++) - { - iconArray[type*7] = par1IconRegister.registerIcon("Atum:Dirty" + typeArray[type]); - for(int quality = 1; quality < 7; quality++) - { - iconArray[((type*7) + quality)] = par1IconRegister.registerIcon("Atum:" + qualityArray[quality] + typeArray[type]); - } - } - } - - -} diff --git a/common/rebelkeithy/mods/atum/items/ItemScarab.java b/common/rebelkeithy/mods/atum/items/ItemScarab.java deleted file mode 100644 index 8182a7c..0000000 --- a/common/rebelkeithy/mods/atum/items/ItemScarab.java +++ /dev/null @@ -1,52 +0,0 @@ -package rebelkeithy.mods.atum.items; - -import rebelkeithy.mods.atum.AtumBlocks; -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public class ItemScarab extends Item -{ - public ItemScarab(int id) - { - super(id); - this.maxStackSize = 1; - } - - public boolean hasEffect(ItemStack par1ItemStack) - { - return true; - } - - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) - { - - int blockID = par3World.getBlockId(par4, par5, par6); - if(blockID == Block.sandStone.blockID) - { - if(!AtumBlocks.portal.tryToCreatePortal(par3World, par4, par5 + 1, par6)) - { - if(par2EntityPlayer.capabilities.isCreativeMode) - { - par3World.setBlock(par4+2, par5+1, par6, Block.sandStone.blockID); - par3World.setBlock(par4+2, par5+2, par6, Block.sandStone.blockID); - par3World.setBlock(par4-2, par5+1, par6, Block.sandStone.blockID); - par3World.setBlock(par4-2, par5+2, par6, Block.sandStone.blockID); - par3World.setBlock(par4, par5+1, par6+2, Block.sandStone.blockID); - par3World.setBlock(par4, par5+2, par6+2, Block.sandStone.blockID); - par3World.setBlock(par4, par5+1, par6-2, Block.sandStone.blockID); - par3World.setBlock(par4, par5+2, par6-2, Block.sandStone.blockID); - par3World.setBlock(par4, par5+3, par6+1, Block.sandStone.blockID); - par3World.setBlock(par4, par5+3, par6-1, Block.sandStone.blockID); - par3World.setBlock(par4-1, par5+3, par6, Block.sandStone.blockID); - par3World.setBlock(par4+1, par5+3, par6, Block.sandStone.blockID); - } - } else { - par2EntityPlayer.getCurrentEquippedItem().stackSize--; - } - } - return true; - } -} diff --git a/common/rebelkeithy/mods/atum/items/ItemScepter.java b/common/rebelkeithy/mods/atum/items/ItemScepter.java deleted file mode 100644 index 0cd1299..0000000 --- a/common/rebelkeithy/mods/atum/items/ItemScepter.java +++ /dev/null @@ -1,25 +0,0 @@ -package rebelkeithy.mods.atum.items; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemScepter extends ItemSword -{ - - public ItemScepter(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } - -} diff --git a/common/rebelkeithy/mods/atum/items/ItemScimitar.java b/common/rebelkeithy/mods/atum/items/ItemScimitar.java deleted file mode 100644 index 5f50bf9..0000000 --- a/common/rebelkeithy/mods/atum/items/ItemScimitar.java +++ /dev/null @@ -1,25 +0,0 @@ -package rebelkeithy.mods.atum.items; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemScimitar extends ItemSword -{ - - public ItemScimitar(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } - -} diff --git a/common/rebelkeithy/mods/atum/items/ItemStoneSoldierSword.java b/common/rebelkeithy/mods/atum/items/ItemStoneSoldierSword.java deleted file mode 100644 index 69d2d16..0000000 --- a/common/rebelkeithy/mods/atum/items/ItemStoneSoldierSword.java +++ /dev/null @@ -1,26 +0,0 @@ -package rebelkeithy.mods.atum.items; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemStoneSoldierSword extends ItemSword -{ - - public ItemStoneSoldierSword(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } - - -} diff --git a/common/rebelkeithy/mods/atum/items/ItemTexturedArmor.java b/common/rebelkeithy/mods/atum/items/ItemTexturedArmor.java deleted file mode 100644 index 75d56d0..0000000 --- a/common/rebelkeithy/mods/atum/items/ItemTexturedArmor.java +++ /dev/null @@ -1,47 +0,0 @@ -package rebelkeithy.mods.atum.items; - -import net.minecraft.item.EnumArmorMaterial; -import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.IArmorTextureProvider; - -public class ItemTexturedArmor extends ItemArmor implements IArmorTextureProvider -{ - - private String textureFile; - private int repairItemID = 0; - - public ItemTexturedArmor(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) - { - super(par1, par2EnumArmorMaterial, par3, par4); - } - - public ItemTexturedArmor setRepairItem(int id) - { - repairItemID = id; - return this; - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == repairItemID; - } - - public ItemTexturedArmor setTextureFile(String filename) - { - textureFile = filename; - return this; - } - - @Override - public String getArmorTextureFile(ItemStack itemstack) - { - return "/armor/" + textureFile + ".png"; - } - -} diff --git a/common/rebelkeithy/mods/atum/items/RendererItemBow.java b/common/rebelkeithy/mods/atum/items/RendererItemBow.java deleted file mode 100644 index f2f0909..0000000 --- a/common/rebelkeithy/mods/atum/items/RendererItemBow.java +++ /dev/null @@ -1,145 +0,0 @@ -package rebelkeithy.mods.atum.items; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import net.minecraftforge.client.IItemRenderer; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -public class RendererItemBow implements IItemRenderer -{ - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - if(type == ItemRenderType.EQUIPPED) - { - return true; - } - - return false; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - if(type == ItemRenderType.EQUIPPED) - return false; - - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) - { - EntityLiving e = (EntityLiving) data[1]; - - GL11.glPopMatrix(); - - boolean renderFirstPerson = false; - - if(e instanceof EntityPlayer) - { - if(((EntityPlayer)e).username.equals(Minecraft.getMinecraft().thePlayer.username)) - { - if(Minecraft.getMinecraft().gameSettings.thirdPersonView == 0) - { - renderFirstPerson = true; - } - } - } - - if(!renderFirstPerson) - { - float f22 = 0.375F; - GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(-60.0F, 0.0F, 0.0F, 1.0F); - GL11.glScalef(1.0f/f22, 1.0f/f22, 1.0f/f22); - GL11.glTranslatef(-0.25F, -0.1875F, 0.1875F); - - float f2 = 0.625F; - GL11.glTranslatef(0.0F, 0.125F, 0.3125F); - GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(f2, -f2, f2); - GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - } - - this.renderItem(e, item, 0); - GL11.glPushMatrix(); - } - - /** - * Renders the item stack for being in an entity's hand Args: itemStack - */ - public void renderItem(EntityLiving par1EntityLiving, ItemStack par2ItemStack, int par3) - { - GL11.glPushMatrix(); - - Icon icon = par1EntityLiving.getItemIcon(par2ItemStack, par3); - - if (icon == null) - { - GL11.glPopMatrix(); - return; - } - - Tessellator tessellator = Tessellator.instance; - float f = icon.getMinU(); - float f1 = icon.getMaxU(); - float f2 = icon.getMinV(); - float f3 = icon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glTranslatef(-f4, -f5, 0.0F); - float f6 = 1.5F; - GL11.glScalef(f6, f6, f6); - GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.9375F, -0.0625F, 0.0F); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, icon.getSheetWidth(), icon.getSheetHeight(), 0.0625F); - - if (par2ItemStack != null && par2ItemStack.hasEffect() && par3 == 0) - { - GL11.glDepthFunc(GL11.GL_EQUAL); - GL11.glDisable(GL11.GL_LIGHTING); - Minecraft.getMinecraft().renderEngine.bindTexture("%blur%/misc/glint.png"); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE); - float f7 = 0.76F; - GL11.glColor4f(0.5F * f7, 0.25F * f7, 0.8F * f7, 1.0F); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.125F; - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 3000L) / 3000.0F * 8.0F; - GL11.glTranslatef(f9, 0.0F, 0.0F); - GL11.glRotatef(-50.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - f9 = (float)(Minecraft.getSystemTime() % 4873L) / 4873.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(10.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDepthFunc(GL11.GL_LEQUAL); - - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - } - - GL11.glPopMatrix(); - } -} diff --git a/common/rebelkeithy/mods/atum/particles/EntityCritFX.java b/common/rebelkeithy/mods/atum/particles/EntityCritFX.java deleted file mode 100644 index 43e5fe3..0000000 --- a/common/rebelkeithy/mods/atum/particles/EntityCritFX.java +++ /dev/null @@ -1,95 +0,0 @@ -package rebelkeithy.mods.atum.particles; - -import net.minecraft.client.particle.EntityFX; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class EntityCritFX extends EntityFX -{ - float field_70561_a; - - public EntityCritFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12) - { - this(par1World, par2, par4, par6, par8, par10, par12, 1.0F); - } - - public EntityCritFX(World par1World, double x, double y, double z, double dx, double dy, double dz, double r, double g, double b) - { - this(par1World, x, y, z, dx, dy, dz, 1.0F); - - float colorOffset = (float) ((Math.random() - 0.5F) * 0.2F); - this.particleRed = (float) r + colorOffset; - this.particleBlue = (float) b + colorOffset; - this.particleGreen = (float) g + colorOffset; - } - - public EntityCritFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12, float par14) - { - super(par1World, par2, par4, par6, 0.0D, 0.0D, 0.0D); - this.motionX *= 0.10000000149011612D; - this.motionY *= 0.10000000149011612D; - this.motionZ *= 0.10000000149011612D; - this.motionX += par8 * 0.4D; - this.motionY += par10 * 0.4D; - this.motionZ += par12 * 0.4D; - this.particleRed = this.particleGreen = this.particleBlue = (float)(Math.random() * 0.30000001192092896D + 0.6000000238418579D); - this.particleScale *= 0.75F; - this.particleScale *= par14; - this.field_70561_a = this.particleScale; - this.particleMaxAge = (int)(6.0D / (Math.random() * 0.8D + 0.6D)); - this.particleMaxAge = (int)((float)this.particleMaxAge * par14); - this.noClip = false; - this.setParticleTextureIndex(65); - this.onUpdate(); - } - - public void renderParticle(Tessellator par1Tessellator, float par2, float par3, float par4, float par5, float par6, float par7) - { - float f6 = ((float)this.particleAge + par2) / (float)this.particleMaxAge * 32.0F; - - if (f6 < 0.0F) - { - f6 = 0.0F; - } - - if (f6 > 1.0F) - { - f6 = 1.0F; - } - - this.particleScale = this.field_70561_a * f6; - super.renderParticle(par1Tessellator, par2, par3, par4, par5, par6, par7); - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - - if (this.particleAge++ >= this.particleMaxAge) - { - this.setDead(); - } - - this.moveEntity(this.motionX, this.motionY, this.motionZ); - //this.particleGreen = (float)((double)this.particleGreen * 0.96D); - //this.particleBlue = (float)((double)this.particleBlue * 0.9D); - this.motionX *= 0.699999988079071D; - this.motionY *= 0.699999988079071D; - this.motionZ *= 0.699999988079071D; - this.motionY -= 0.019999999552965164D; - - if (this.onGround) - { - this.motionX *= 0.699999988079071D; - this.motionZ *= 0.699999988079071D; - } - } -} diff --git a/common/rebelkeithy/mods/atum/particles/EntitySandFX.java b/common/rebelkeithy/mods/atum/particles/EntitySandFX.java deleted file mode 100644 index 9f11698..0000000 --- a/common/rebelkeithy/mods/atum/particles/EntitySandFX.java +++ /dev/null @@ -1,122 +0,0 @@ -package rebelkeithy.mods.atum.particles; - -import org.lwjgl.opengl.GL11; - -import cpw.mods.fml.client.FMLClientHandler; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.particle.EntityFX; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.src.ModLoader; -import net.minecraft.world.World; - -@SideOnly(Side.CLIENT) -public class EntitySandFX extends EntityFX -{ - float smokeParticleScale; - - public EntitySandFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12) - { - this(par1World, par2, par4, par6, par8, par10, par12, 1.0F); - } - - public EntitySandFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12, float par14) - { - super(par1World, par2, par4, par6, 0.0D, 0.0D, 0.0D); - this.motionX *= 0.10000000149011612D; - this.motionY *= 0.10000000149011612D; - this.motionZ *= 0.10000000149011612D; - this.motionX += par8; - this.motionY += par10; - this.motionZ += par12; - this.particleRed = this.particleGreen = this.particleBlue = 1; - this.particleScale *= 0.75F; - this.particleScale *= par14; - this.smokeParticleScale = this.particleScale; - this.particleMaxAge = (int)(4.0D / (Math.random() * 0.8D + 0.2D)); - this.particleMaxAge = (int)((float)this.particleMaxAge * par14); - this.noClip = false; - } - - @Override - public void renderParticle(Tessellator tessellator, float f, float f1, float f2, float f3, float f4, float f5) - { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - - Tessellator tessellator1 = new Tessellator(); - tessellator1.startDrawingQuads(); - tessellator1.setBrightness(getBrightnessForRender(f)); - - float f6 = (((float)particleAge + f) / (float)particleMaxAge) * 32F; - if(f6 < 0.0F) - { - f6 = 0.0F; - } - if(f6 > 1.0F) - { - f6 = 1.0F; - } - - float var8 = ((float)this.particleAge + f) / (float)this.particleMaxAge; - this.particleScale = (1.0F - var8 * var8 * 0.5F); - - int index = 3*particleAge/particleMaxAge; - GL11.glBindTexture(3553 /*GL_TEXTURE_2D*/, ModLoader.getMinecraftInstance().renderEngine.getTexture("/mods/Atum/textures/particles/Sand.png")); - float f0 = index/16F;//(float)(getParticleTextureIndex() % 16) / 16F; - float f7 = f0 + 1/16F; - float f8 = 1;//(float)(getParticleTextureIndex() / 16) / 16F; - float f9 = f8 + 1/16F; - float f10 = 0.1F * particleScale; - float f11 = (float)((prevPosX + (posX - prevPosX) * (double)f) - interpPosX); - float f12 = (float)((prevPosY + (posY - prevPosY) * (double)f) - interpPosY); - float f13 = (float)((prevPosZ + (posZ - prevPosZ) * (double)f) - interpPosZ); - float f14 = 1.0F; - //tessellator1.setColorOpaque_F(particleRed * f14, particleGreen * f14, particleBlue * f14); - //tessellator1.setColorOpaque_F(this.particleRed, this.particleGreen, this.particleBlue); - float brightness = this.rand.nextFloat() * 0.2F + 0.5F; - tessellator1.setColorRGBA_F(0.7F * brightness, 0.55F * brightness, 0.35F * brightness, 0.6F); - tessellator1.addVertexWithUV(f11 - f1 * f10 - f4 * f10, f12 - f2 * f10, f13 - f3 * f10 - f5 * f10, f7, f9); - tessellator1.addVertexWithUV((f11 - f1 * f10) + f4 * f10, f12 + f2 * f10, (f13 - f3 * f10) + f5 * f10, f7, f8); - tessellator1.addVertexWithUV(f11 + f1 * f10 + f4 * f10, f12 + f2 * f10, f13 + f3 * f10 + f5 * f10, f0, f8); - tessellator1.addVertexWithUV((f11 + f1 * f10) - f4 * f10, f12 - f2 * f10, (f13 + f3 * f10) - f5 * f10, f0, f9); - - tessellator1.draw(); - GL11.glBindTexture(3553 /*GL_TEXTURE_2D*/, ModLoader.getMinecraftInstance().renderEngine.getTexture("/particles.png")); - } - - /** - * Called to update the entity's position/logic. - */ - @Override - public void onUpdate() - { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - - if (this.particleAge++ >= this.particleMaxAge) - { - this.setDead(); - } - - this.setParticleTextureIndex(7 - this.particleAge * 8 / this.particleMaxAge); - this.motionY += 0.004D; - this.moveEntity(this.motionX, this.motionY, this.motionZ); - - if (this.posY == this.prevPosY) - { - this.motionX *= 1.1D; - this.motionZ *= 1.1D; - } - - this.motionX *= 0.9599999785423279D; - this.motionY *= 0.9599999785423279D; - this.motionZ *= 0.9599999785423279D; - - if (this.onGround) - { - this.motionX *= 0.699999988079071D; - this.motionZ *= 0.699999988079071D; - } - } -} diff --git a/common/rebelkeithy/mods/atum/particles/EntitySandPortalFX.java b/common/rebelkeithy/mods/atum/particles/EntitySandPortalFX.java deleted file mode 100644 index 1f6cc94..0000000 --- a/common/rebelkeithy/mods/atum/particles/EntitySandPortalFX.java +++ /dev/null @@ -1,101 +0,0 @@ -package rebelkeithy.mods.atum.particles; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.particle.EntityFX; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.world.World; - -@SideOnly(Side.CLIENT) -public class EntitySandPortalFX extends EntityFX -{ - private float portalParticleScale; - private double portalPosX; - private double portalPosY; - private double portalPosZ; - - public EntitySandPortalFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12) - { - super(par1World, par2, par4, par6, par8, par10, par12); - this.motionX = par8; - this.motionY = par10; - this.motionZ = par12; - this.portalPosX = this.posX = par2; - this.portalPosY = this.posY = par4; - this.portalPosZ = this.posZ = par6; - float f = this.rand.nextFloat() * 0.6F + 0.4F; - this.portalParticleScale = this.particleScale = this.rand.nextFloat() * 0.2F + 0.5F; - this.particleRed = this.particleGreen = this.particleBlue = 1.0F * f; - this.particleGreen *= 0.3F; - this.particleRed *= 0.5F; - this.particleBlue *= 0.1F; - this.particleMaxAge = (int)(Math.random() * 10.0D) + 40; - this.noClip = true; - this.setParticleTextureIndex((int)(Math.random() * 8.0D)); - } - - @Override - public void renderParticle(Tessellator par1Tessellator, float par2, float par3, float par4, float par5, float par6, float par7) - { - float f6 = ((float)this.particleAge + par2) / (float)this.particleMaxAge; - f6 = 1.0F - f6; - f6 *= f6; - f6 = 1.0F - f6; - this.particleScale = this.portalParticleScale * f6; - super.renderParticle(par1Tessellator, par2, par3, par4, par5, par6, par7); - } - - @Override - public int getBrightnessForRender(float par1) - { - int i = super.getBrightnessForRender(par1); - float f1 = (float)this.particleAge / (float)this.particleMaxAge; - f1 *= f1; - f1 *= f1; - int j = i & 255; - int k = i >> 16 & 255; - k += (int)(f1 * 15.0F * 16.0F); - - if (k > 240) - { - k = 240; - } - - return j | k << 16; - } - - /** - * Gets how bright this entity is. - */ - @Override - public float getBrightness(float par1) - { - float f1 = super.getBrightness(par1); - float f2 = (float)this.particleAge / (float)this.particleMaxAge; - f2 = f2 * f2 * f2 * f2; - return f1 * (1.0F - f2) + f2; - } - - /** - * Called to update the entity's position/logic. - */ - @Override - public void onUpdate() - { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - float f = (float)this.particleAge / (float)this.particleMaxAge; - float f1 = f; - f = -f + f * f * 2.0F; - f = 1.0F - f; - this.posX = this.portalPosX + this.motionX * (double)f; - this.posY = this.portalPosY + this.motionY * (double)f + (double)(1.0F - f1); - this.posZ = this.portalPosZ + this.motionZ * (double)f; - - if (this.particleAge++ >= this.particleMaxAge) - { - this.setDead(); - } - } -} diff --git a/common/rebelkeithy/mods/atum/tools/LimestoneAxe.java b/common/rebelkeithy/mods/atum/tools/LimestoneAxe.java deleted file mode 100644 index 0ea9642..0000000 --- a/common/rebelkeithy/mods/atum/tools/LimestoneAxe.java +++ /dev/null @@ -1,31 +0,0 @@ -package rebelkeithy.mods.atum.tools; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemAxe; -import net.minecraft.item.ItemStack; -import rebelkeithy.mods.atum.AtumBlocks; - -public class LimestoneAxe extends ItemAxe -{ - - public LimestoneAxe(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == AtumBlocks.cobble.blockID; - } - - @Override - public void registerIcons(IconRegister par1IconRegister) - { - itemIcon = par1IconRegister.registerIcon("Atum:LimestoneAxe"); - } -} diff --git a/common/rebelkeithy/mods/atum/tools/LimestoneHoe.java b/common/rebelkeithy/mods/atum/tools/LimestoneHoe.java deleted file mode 100644 index 083f27b..0000000 --- a/common/rebelkeithy/mods/atum/tools/LimestoneHoe.java +++ /dev/null @@ -1,31 +0,0 @@ -package rebelkeithy.mods.atum.tools; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemHoe; -import net.minecraft.item.ItemStack; -import rebelkeithy.mods.atum.AtumBlocks; - -public class LimestoneHoe extends ItemHoe -{ - - public LimestoneHoe(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == AtumBlocks.cobble.blockID; - } - - @Override - public void registerIcons(IconRegister par1IconRegister) - { - itemIcon = par1IconRegister.registerIcon("Atum:LimestoneHoe"); - } -} diff --git a/common/rebelkeithy/mods/atum/tools/LimestonePickaxe.java b/common/rebelkeithy/mods/atum/tools/LimestonePickaxe.java deleted file mode 100644 index 51451d8..0000000 --- a/common/rebelkeithy/mods/atum/tools/LimestonePickaxe.java +++ /dev/null @@ -1,31 +0,0 @@ -package rebelkeithy.mods.atum.tools; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemPickaxe; -import net.minecraft.item.ItemStack; -import rebelkeithy.mods.atum.AtumBlocks; - -public class LimestonePickaxe extends ItemPickaxe -{ - - public LimestonePickaxe(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == AtumBlocks.cobble.blockID; - } - - @Override - public void registerIcons(IconRegister par1IconRegister) - { - itemIcon = par1IconRegister.registerIcon("Atum:LimestonePickaxe"); - } -} diff --git a/common/rebelkeithy/mods/atum/tools/LimestoneShovel.java b/common/rebelkeithy/mods/atum/tools/LimestoneShovel.java deleted file mode 100644 index fdb716f..0000000 --- a/common/rebelkeithy/mods/atum/tools/LimestoneShovel.java +++ /dev/null @@ -1,31 +0,0 @@ -package rebelkeithy.mods.atum.tools; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemSpade; -import net.minecraft.item.ItemStack; -import rebelkeithy.mods.atum.AtumBlocks; - -public class LimestoneShovel extends ItemSpade -{ - - public LimestoneShovel(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == AtumBlocks.cobble.blockID; - } - - @Override - public void registerIcons(IconRegister par1IconRegister) - { - itemIcon = par1IconRegister.registerIcon("Atum:LimestoneShovel"); - } -} diff --git a/common/rebelkeithy/mods/atum/tools/LimestoneSword.java b/common/rebelkeithy/mods/atum/tools/LimestoneSword.java deleted file mode 100644 index 602b236..0000000 --- a/common/rebelkeithy/mods/atum/tools/LimestoneSword.java +++ /dev/null @@ -1,31 +0,0 @@ -package rebelkeithy.mods.atum.tools; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import rebelkeithy.mods.atum.AtumBlocks; - -public class LimestoneSword extends ItemSword -{ - - public LimestoneSword(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == AtumBlocks.cobble.blockID; - } - - @Override - public void registerIcons(IconRegister par1IconRegister) - { - itemIcon = par1IconRegister.registerIcon("Atum:LimestoneSword"); - } -} diff --git a/common/rebelkeithy/mods/atum/world/AtumChunkProvider.java b/common/rebelkeithy/mods/atum/world/AtumChunkProvider.java deleted file mode 100644 index 268ae4c..0000000 --- a/common/rebelkeithy/mods/atum/world/AtumChunkProvider.java +++ /dev/null @@ -1,696 +0,0 @@ -package rebelkeithy.mods.atum.world; - -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.CAVE; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.MINESHAFT; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.RAVINE; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.SCATTERED_FEATURE; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.STRONGHOLD; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.VILLAGE; -import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAVA; - -import java.util.List; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockSand; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.util.IProgressUpdate; -import net.minecraft.util.MathHelper; -import net.minecraft.world.ChunkPosition; -import net.minecraft.world.SpawnerAnimals; -import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.chunk.Chunk; -import net.minecraft.world.chunk.IChunkProvider; -import net.minecraft.world.gen.MapGenBase; -import net.minecraft.world.gen.MapGenRavine; -import net.minecraft.world.gen.NoiseGeneratorOctaves; -import net.minecraft.world.gen.feature.MapGenScatteredFeature; -import net.minecraft.world.gen.feature.WorldGenLakes; -import net.minecraft.world.gen.structure.MapGenMineshaft; -import net.minecraft.world.gen.structure.MapGenStronghold; -import net.minecraft.world.gen.structure.MapGenVillage; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.Event.Result; -import net.minecraftforge.event.terraingen.ChunkProviderEvent; -import net.minecraftforge.event.terraingen.PopulateChunkEvent; -import net.minecraftforge.event.terraingen.TerrainGen; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.world.biome.BiomeGenAtumDesert; - -public class AtumChunkProvider implements IChunkProvider -{ - /** RNG. */ - private Random rand; - - /** A NoiseGeneratorOctaves used in generating terrain */ - private NoiseGeneratorOctaves noiseGen1; - - /** A NoiseGeneratorOctaves used in generating terrain */ - private NoiseGeneratorOctaves noiseGen2; - - /** A NoiseGeneratorOctaves used in generating terrain */ - private NoiseGeneratorOctaves noiseGen3; - - /** A NoiseGeneratorOctaves used in generating terrain */ - private NoiseGeneratorOctaves noiseGen4; - - /** A NoiseGeneratorOctaves used in generating terrain */ - public NoiseGeneratorOctaves noiseGen5; - - /** A NoiseGeneratorOctaves used in generating terrain */ - public NoiseGeneratorOctaves noiseGen6; - public NoiseGeneratorOctaves mobSpawnerNoise; - - /** Reference to the World object. */ - private World worldObj; - - /** are map structures going to be generated (e.g. strongholds) */ - private final boolean mapFeaturesEnabled; - - /** Holds the overall noise array used in chunk generation */ - private double[] noiseArray; - private double[] stoneNoise = new double[256]; - private MapGenBase caveGenerator = new AtumMapGenCaves(); - - /** Holds Stronghold Generator */ - private MapGenStronghold strongholdGenerator = new MapGenStronghold(); - - /** Holds Village Generator */ - private MapGenVillage villageGenerator = new MapGenVillage(); - - /** Holds Mineshaft Generator */ - private MapGenMineshaft mineshaftGenerator = new MapGenMineshaft(); - private MapGenScatteredFeature scatteredFeatureGenerator = new MapGenScatteredFeature(); - - - //WorldGenAtumTrees treeGenerator; - - /** Holds ravine generator */ - private MapGenBase ravineGenerator = new MapGenRavine(); - - /** The biomes that are used to generate the chunk */ - private BiomeGenBase[] biomesForGeneration; - - /** A double array that hold terrain noise from noiseGen3 */ - double[] noise3; - - /** A double array that hold terrain noise */ - double[] noise1; - - /** A double array that hold terrain noise from noiseGen2 */ - double[] noise2; - - /** A double array that hold terrain noise from noiseGen5 */ - double[] noise5; - - /** A double array that holds terrain noise from noiseGen6 */ - double[] noise6; - - /** - * Used to store the 5x5 parabolic field that is used during terrain generation. - */ - float[] parabolicField; - int[][] field_73219_j = new int[32][32]; - - { - caveGenerator = TerrainGen.getModdedMapGen(caveGenerator, CAVE); - strongholdGenerator = (MapGenStronghold) TerrainGen.getModdedMapGen(strongholdGenerator, STRONGHOLD); - villageGenerator = (MapGenVillage) TerrainGen.getModdedMapGen(villageGenerator, VILLAGE); - mineshaftGenerator = (MapGenMineshaft) TerrainGen.getModdedMapGen(mineshaftGenerator, MINESHAFT); - scatteredFeatureGenerator = (MapGenScatteredFeature) TerrainGen.getModdedMapGen(scatteredFeatureGenerator, SCATTERED_FEATURE); - ravineGenerator = TerrainGen.getModdedMapGen(ravineGenerator, RAVINE); - - //treeGenerator = new WorldGenAtumTrees(true); - } - - public AtumChunkProvider(World par1World, long par2, boolean par4) - { - this.worldObj = par1World; - this.mapFeaturesEnabled = par4; - this.rand = new Random(par2); - this.noiseGen1 = new NoiseGeneratorOctaves(this.rand, 16); - this.noiseGen2 = new NoiseGeneratorOctaves(this.rand, 16); - this.noiseGen3 = new NoiseGeneratorOctaves(this.rand, 8); - this.noiseGen4 = new NoiseGeneratorOctaves(this.rand, 4); - this.noiseGen5 = new NoiseGeneratorOctaves(this.rand, 10); - this.noiseGen6 = new NoiseGeneratorOctaves(this.rand, 16); - this.mobSpawnerNoise = new NoiseGeneratorOctaves(this.rand, 8); - - NoiseGeneratorOctaves[] noiseGens = {noiseGen1, noiseGen2, noiseGen3, noiseGen4, noiseGen5, noiseGen6, mobSpawnerNoise}; - noiseGens = TerrainGen.getModdedNoiseGenerators(par1World, this.rand, noiseGens); - this.noiseGen1 = noiseGens[0]; - this.noiseGen2 = noiseGens[1]; - this.noiseGen3 = noiseGens[2]; - this.noiseGen4 = noiseGens[3]; - this.noiseGen5 = noiseGens[4]; - this.noiseGen6 = noiseGens[5]; - this.mobSpawnerNoise = noiseGens[6]; - } - - /** - * Generates the shape of the terrain for the chunk though its all stone though the water is frozen if the - * temperature is low enough - */ - public void generateTerrain(int par1, int par2, short[] par3ArrayOfByte) - { - byte b0 = 4; - byte b1 = 16; - byte b2 = 63; - int k = b0 + 1; - byte b3 = 17; - int l = b0 + 1; - this.biomesForGeneration = this.worldObj.getWorldChunkManager().getBiomesForGeneration(this.biomesForGeneration, par1 * 4 - 2, par2 * 4 - 2, k + 5, l + 5); - this.noiseArray = this.initializeNoiseField(this.noiseArray, par1 * b0, 0, par2 * b0, k, b3, l); - - for (int x1 = 0; x1 < b0; ++x1) - { - for (int z1 = 0; z1 < b0; ++z1) - { - for (int y1 = 0; y1 < b1; ++y1) - { - double d0 = 0.125D; - double d1 = this.noiseArray[((x1 + 0) * l + z1 + 0) * b3 + y1 + 0]; - double d2 = this.noiseArray[((x1 + 0) * l + z1 + 1) * b3 + y1 + 0]; - double d3 = this.noiseArray[((x1 + 1) * l + z1 + 0) * b3 + y1 + 0]; - double d4 = this.noiseArray[((x1 + 1) * l + z1 + 1) * b3 + y1 + 0]; - double d5 = (this.noiseArray[((x1 + 0) * l + z1 + 0) * b3 + y1 + 1] - d1) * d0; - double d6 = (this.noiseArray[((x1 + 0) * l + z1 + 1) * b3 + y1 + 1] - d2) * d0; - double d7 = (this.noiseArray[((x1 + 1) * l + z1 + 0) * b3 + y1 + 1] - d3) * d0; - double d8 = (this.noiseArray[((x1 + 1) * l + z1 + 1) * b3 + y1 + 1] - d4) * d0; - - for (int y2 = 0; y2 < 8; ++y2) - { - double d10 = d1; - double d11 = d2; - double d12 = (d3 - d1) * 0.25D; - double d13 = (d4 - d2) * 0.25D; - - for (int x2 = 0; x2 < 4; ++x2) - { - //int index = x2 + x1 * 4 << 11 | 0 + z1 * 4 << 7 | y1 * 8 + y2; - //index = 0; - int index = y1 * 8 + y2 << 8 | 0 + z1 * 4 << 4 | x2 + x1 * 4; - int dy = 1 << 4; - index -= dy; - double d15 = (d11 - d10) * 0.25D; - double d16 = d10 - d15; - - for (int n = 0; n < 4; ++n) - { - if ((d16 += d15) > 0.0D) - { - if(index + dy >= par3ArrayOfByte.length) - continue; - par3ArrayOfByte[index += dy] = (short)AtumBlocks.stone.blockID; - } - else if (y1 * 8 + y2 < b2) - { - if(index + dy >= par3ArrayOfByte.length) - continue; - par3ArrayOfByte[index += dy] = (short)AtumBlocks.stone.blockID; - } - else - { - if(index + dy >= par3ArrayOfByte.length) - continue; - par3ArrayOfByte[index += dy] = 0; - } - } - - d10 += d12; - d11 += d13; - } - - d1 += d5; - d2 += d6; - d3 += d7; - d4 += d8; - } - } - } - } - } - - /** - * Replaces the stone that was placed in with blocks that match the biome - */ - public void replaceBlocksForBiome(int par1, int par2, short[] par3ArrayOfByte, BiomeGenBase[] par4ArrayOfBiomeGenBase) - { - //ChunkProviderEvent.ReplaceBiomeBlocks event = new ChunkProviderEvent.ReplaceBiomeBlocks(this, par1, par2, par3ArrayOfByte, par4ArrayOfBiomeGenBase); - //MinecraftForge.EVENT_BUS.post(event); - //if (event.getResult() == Result.DENY) return; - - byte b0 = 63; - double d0 = 0.03125D; - this.stoneNoise = this.noiseGen4.generateNoiseOctaves(this.stoneNoise, par1 * 16, par2 * 16, 0, 16, 16, 1, d0 * 2.0D, d0 * 2.0D, d0 * 2.0D); - - for (int z = 0; z < 16; ++z) - { - for (int x = 0; x < 16; ++x) - { - BiomeGenBase biomegenbase = par4ArrayOfBiomeGenBase[x + z * 16]; - float f = biomegenbase.getFloatTemperature(); - int i1 = (int)(this.stoneNoise[z + x * 16] / 3.0D + 3.0D + this.rand.nextDouble() * 0.25D); - int j1 = -1; - short b1 = ((BiomeGenAtumDesert)biomegenbase).sTopBlock; - short b2 = ((BiomeGenAtumDesert)biomegenbase).sFillerBlock; - - for (int y = 127; y >= 0; --y) - { - //int l1 = (x * 16 + z) * 128 + y; - int l1 = y << 8 | z << 4 | x; - - if (y <= 0 + this.rand.nextInt(5)) - { - par3ArrayOfByte[l1] = (byte)Block.bedrock.blockID; - } - else - { - short b3 = par3ArrayOfByte[l1]; - - if (b3 == 0) - { - j1 = -1; - } - else if (b3 == AtumBlocks.stone.blockID) - { - if (j1 == -1) - { - if (i1 <= 0) - { - b1 = 0; - b2 = (short)AtumBlocks.stone.blockID; - } - else if (y >= b0 - 4 && y <= b0 + 1) - { - b1 = ((BiomeGenAtumDesert)biomegenbase).sTopBlock; - b2 = ((BiomeGenAtumDesert)biomegenbase).sFillerBlock; - } - - j1 = i1; - - if (y >= b0 - 1) - { - par3ArrayOfByte[l1] = b1; - } - else - { - par3ArrayOfByte[l1] = b2; - } - } - else if (j1 > 0) - { - --j1; - par3ArrayOfByte[l1] = b2; - - if (j1 == 0 && b2 == AtumBlocks.sand.blockID) - { - j1 = this.rand.nextInt(4); - b2 = (short)AtumBlocks.stone.blockID; - } - } - } - } - } - } - } - } - - /** - * loads or generates the chunk at the chunk location specified - */ - @Override - public Chunk loadChunk(int par1, int par2) - { - return this.provideChunk(par1, par2); - } - - /** - * Will return back a chunk, if it doesn't exist and its not a MP client it will generates all the blocks for the - * specified chunk from the map seed and chunk seed - */ - @Override - public Chunk provideChunk(int par1, int par2) - { - long time = System.currentTimeMillis(); - this.rand.setSeed((long)par1 * 341873128712L + (long)par2 * 132897987541L); - short[] abyte = new short[32768]; - this.generateTerrain(par1, par2, abyte); - this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, par1 * 16, par2 * 16, 16, 16); - //this.biomesForGeneration = new BiomeGenBase[] {BiomeGenBase.desert}; - this.replaceBlocksForBiome(par1, par2, abyte, this.biomesForGeneration); - //this.caveGenerator.generate((IChunkProvider)this, this.worldObj, par1, par2, abyte); - //this.ravineGenerator.generate(this, this.worldObj, par1, par2, abyte); - - if (this.mapFeaturesEnabled) - { - //this.mineshaftGenerator.generate(this, this.worldObj, par1, par2, abyte); - //this.villageGenerator.generate(this, this.worldObj, par1, par2, abyte); - //this.strongholdGenerator.generate(this, this.worldObj, par1, par2, abyte); - //this.scatteredFeatureGenerator.generate(this, this.worldObj, par1, par2, abyte); - } - - - /*short[] ashort = new short[32768]; - int yMax = 32768/256; - for(int x = 0; x < 16; x++) - { - for(int z = 0; z < 16; z++) - { - for(int y = 0; y < yMax; y++) - { - int idx = y << 8 | z << 4 | x; - int ido = x << 11 | z << 7 | y; - ashort[idx] = abyte[ido]; - } - } - }*/ - - Chunk chunk = new Chunk(this.worldObj, abyte, new byte[32768], par1, par2); - byte[] abyte1 = chunk.getBiomeArray(); - - for (int k = 0; k < abyte1.length; ++k) - { - abyte1[k] = (byte)this.biomesForGeneration[k].biomeID; - } - - chunk.generateSkylightMap(); - //System.out.println("Providing Chunk: " + (System.currentTimeMillis() - time) + "ms"); - return chunk; - } - - /** - * generates a subset of the level's terrain data. Takes 7 arguments: the [empty] noise array, the position, and the - * size. - */ - private double[] initializeNoiseField(double[] par1ArrayOfDouble, int par2, int par3, int par4, int par5, int par6, int par7) - { - ChunkProviderEvent.InitNoiseField event = new ChunkProviderEvent.InitNoiseField(this, par1ArrayOfDouble, par2, par3, par4, par5, par6, par7); - MinecraftForge.EVENT_BUS.post(event); - if (event.getResult() == Result.DENY) return event.noisefield; - - if (par1ArrayOfDouble == null) - { - par1ArrayOfDouble = new double[par5 * par6 * par7]; - } - - if (this.parabolicField == null) - { - this.parabolicField = new float[25]; - - for (int k1 = -2; k1 <= 2; ++k1) - { - for (int l1 = -2; l1 <= 2; ++l1) - { - float f = 10.0F / MathHelper.sqrt_float((float)(k1 * k1 + l1 * l1) + 0.2F); - this.parabolicField[k1 + 2 + (l1 + 2) * 5] = f; - } - } - } - - double d0 = 684.412D; - double d1 = 684.412D; - this.noise5 = this.noiseGen5.generateNoiseOctaves(this.noise5, par2, par4, par5, par7, 1.121D, 1.121D, 0.5D); - this.noise6 = this.noiseGen6.generateNoiseOctaves(this.noise6, par2, par4, par5, par7, 200.0D, 200.0D, 0.5D); - this.noise3 = this.noiseGen3.generateNoiseOctaves(this.noise3, par2, par3, par4, par5, par6, par7, d0 / 80.0D, d1 / 160.0D, d0 / 80.0D); - this.noise1 = this.noiseGen1.generateNoiseOctaves(this.noise1, par2, par3, par4, par5, par6, par7, d0, d1, d0); - this.noise2 = this.noiseGen2.generateNoiseOctaves(this.noise2, par2, par3, par4, par5, par6, par7, d0, d1, d0); - boolean flag = false; - boolean flag1 = false; - int i2 = 0; - int j2 = 0; - - for (int k2 = 0; k2 < par5; ++k2) - { - for (int l2 = 0; l2 < par7; ++l2) - { - float f1 = 0.0F; - float f2 = 0.0F; - float f3 = 0.0F; - byte b0 = 2; - BiomeGenBase biomegenbase = this.biomesForGeneration[k2 + 2 + (l2 + 2) * (par5 + 5)]; - - for (int i3 = -b0; i3 <= b0; ++i3) - { - for (int j3 = -b0; j3 <= b0; ++j3) - { - BiomeGenBase biomegenbase1 = this.biomesForGeneration[k2 + i3 + 2 + (l2 + j3 + 2) * (par5 + 5)]; - float f4 = this.parabolicField[i3 + 2 + (j3 + 2) * 5] / (biomegenbase1.minHeight + 2.0F); - - if (biomegenbase1.minHeight > biomegenbase.minHeight) - { - f4 /= 2.0F; - } - - f1 += biomegenbase1.maxHeight * f4; - f2 += biomegenbase1.minHeight * f4; - f3 += f4; - } - } - - f1 /= f3; - f2 /= f3; - f1 = f1 * 0.9F + 0.1F; - f2 = (f2 * 4.0F - 1.0F) / 8.0F; - double d2 = this.noise6[j2] / 8000.0D; - - if (d2 < 0.0D) - { - d2 = -d2 * 0.3D; - } - - d2 = d2 * 3.0D - 2.0D; - - if (d2 < 0.0D) - { - d2 /= 2.0D; - - if (d2 < -1.0D) - { - d2 = -1.0D; - } - - d2 /= 1.4D; - d2 /= 2.0D; - } - else - { - if (d2 > 1.0D) - { - d2 = 1.0D; - } - - d2 /= 8.0D; - } - - ++j2; - - for (int k3 = 0; k3 < par6; ++k3) - { - double d3 = (double)f2; - double d4 = (double)f1; - d3 += d2 * 0.2D; - d3 = d3 * (double)par6 / 16.0D; - double d5 = (double)par6 / 2.0D + d3 * 4.0D; - double d6 = 0.0D; - double d7 = ((double)k3 - d5) * 12.0D * 128.0D / 128.0D / d4; - - if (d7 < 0.0D) - { - d7 *= 4.0D; - } - - double d8 = this.noise1[i2] / 512.0D; - double d9 = this.noise2[i2] / 512.0D; - double d10 = (this.noise3[i2] / 10.0D + 1.0D) / 2.0D; - - if (d10 < 0.0D) - { - d6 = d8; - } - else if (d10 > 1.0D) - { - d6 = d9; - } - else - { - d6 = d8 + (d9 - d8) * d10; - } - - d6 -= d7; - - if (k3 > par6 - 4) - { - double d11 = (double)((float)(k3 - (par6 - 4)) / 3.0F); - d6 = d6 * (1.0D - d11) + -10.0D * d11; - } - - par1ArrayOfDouble[i2] = d6; - ++i2; - } - } - } - - return par1ArrayOfDouble; - } - - /** - * Checks to see if a chunk exists at x, y - */ - @Override - public boolean chunkExists(int par1, int par2) - { - return true; - } - - /** - * Populates chunk with ores etc etc - */ - @Override - public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) - { - long time = System.currentTimeMillis(); - BlockSand.fallInstantly = true; - int k = par2 * 16; - int l = par3 * 16; - BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(k + 16, l + 16); - this.rand.setSeed(this.worldObj.getSeed()); - long i1 = this.rand.nextLong() / 2L * 2L + 1L; - long j1 = this.rand.nextLong() / 2L * 2L + 1L; - this.rand.setSeed((long)par2 * i1 + (long)par3 * j1 ^ this.worldObj.getSeed()); - boolean flag = false; - - - MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(par1IChunkProvider, worldObj, rand, par2, par3, flag)); - - /* - if (this.mapFeaturesEnabled) - { - this.mineshaftGenerator.generateStructuresInChunk(this.worldObj, this.rand, par2, par3); - flag = this.villageGenerator.generateStructuresInChunk(this.worldObj, this.rand, par2, par3); - this.strongholdGenerator.generateStructuresInChunk(this.worldObj, this.rand, par2, par3); - this.scatteredFeatureGenerator.generateStructuresInChunk(this.worldObj, this.rand, par2, par3); - }*/ - - int k1; - int l1; - int i2; - - if (TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, LAVA) && !flag && this.rand.nextInt(8) == 0) - { - k1 = k + this.rand.nextInt(16) + 8; - l1 = this.rand.nextInt(this.rand.nextInt(120) + 8); - i2 = l + this.rand.nextInt(16) + 8; - - - if (l1 < 63 || this.rand.nextInt(10) == 0) - { - (new WorldGenLakes(Block.lavaStill.blockID)).generate(this.worldObj, this.rand, k1, l1, i2); - } - } - - - - /*boolean doGen = TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, DUNGEON); - for (k1 = 0; doGen && k1 < 8; ++k1) - { - l1 = k + this.rand.nextInt(16) + 8; - i2 = this.rand.nextInt(128); - int j2 = l + this.rand.nextInt(16) + 8; - - if ((new WorldGenDungeons()).generate(this.worldObj, this.rand, l1, i2, j2)) - { - ; - } - }*/ - - biomegenbase.decorate(this.worldObj, this.rand, k, l); - SpawnerAnimals.performWorldGenSpawning(this.worldObj, biomegenbase, k + 8, l + 8, 16, 16, this.rand); - k += 8; - l += 8; - - MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Post(par1IChunkProvider, worldObj, rand, par2, par3, flag)); - - BlockSand.fallInstantly = false; - - //System.out.println("Populating chunk: " + (System.currentTimeMillis() - time) + "ms"); - } - - /** - * Two modes of operation: if passed true, save all Chunks in one go. If passed false, save up to two chunks. - * Return true if all chunks have been saved. - */ - @Override - public boolean saveChunks(boolean par1, IProgressUpdate par2IProgressUpdate) - { - return true; - } - - /** - * Unloads chunks that are marked to be unloaded. This is not guaranteed to unload every such chunk. - */ - @Override - public boolean unloadQueuedChunks() - { - return false; - } - - /** - * Returns if the IChunkProvider supports saving. - */ - @Override - public boolean canSave() - { - return true; - } - - /** - * Converts the instance data to a readable string. - */ - @Override - public String makeString() - { - return "RandomLevelSource"; - } - - /** - * Returns a list of creatures of the specified type that can spawn at the given location. - */ - @Override - public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2, int par3, int par4) - { - BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(par2, par4); - return biomegenbase == null ? null : (biomegenbase == BiomeGenBase.swampland && par1EnumCreatureType == EnumCreatureType.monster && this.scatteredFeatureGenerator.hasStructureAt(par2, par3, par4) ? this.scatteredFeatureGenerator.getScatteredFeatureSpawnList() : biomegenbase.getSpawnableList(par1EnumCreatureType)); - } - - /** - * Returns the location of the closest structure of the specified type. If not found returns null. - */ - @Override - public ChunkPosition findClosestStructure(World par1World, String par2Str, int par3, int par4, int par5) - { - return "Stronghold".equals(par2Str) && this.strongholdGenerator != null ? this.strongholdGenerator.getNearestInstance(par1World, par3, par4, par5) : null; - } - - @Override - public int getLoadedChunkCount() - { - return 0; - } - - @Override - public void recreateStructures(int par1, int par2) - { - if (this.mapFeaturesEnabled) - { - this.mineshaftGenerator.generate(this, this.worldObj, par1, par2, (byte[])null); - this.villageGenerator.generate(this, this.worldObj, par1, par2, (byte[])null); - this.strongholdGenerator.generate(this, this.worldObj, par1, par2, (byte[])null); - this.scatteredFeatureGenerator.generate(this, this.worldObj, par1, par2, (byte[])null); - } - } - - @Override - public void func_104112_b() {} -} diff --git a/common/rebelkeithy/mods/atum/world/AtumMapGenCaves.java b/common/rebelkeithy/mods/atum/world/AtumMapGenCaves.java deleted file mode 100644 index 125ae9e..0000000 --- a/common/rebelkeithy/mods/atum/world/AtumMapGenCaves.java +++ /dev/null @@ -1,261 +0,0 @@ -package rebelkeithy.mods.atum.world; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import net.minecraft.world.gen.MapGenBase; -import rebelkeithy.mods.atum.AtumBlocks; - -public class AtumMapGenCaves extends MapGenBase -{ - /** - * Generates a larger initial cave node than usual. Called 25% of the time. - */ - protected void generateLargeCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10) - { - this.generateCaveNode(par1, par3, par4, par5ArrayOfByte, par6, par8, par10, 1.0F + this.rand.nextFloat() * 6.0F, 0.0F, 0.0F, -1, -1, 0.5D); - } - - /** - * Generates a node in the current cave system recursion tree. - */ - protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10, float par12, float par13, float par14, int par15, int par16, double par17) - { - double d4 = (double)(par3 * 16 + 8); - double d5 = (double)(par4 * 16 + 8); - float f3 = 0.0F; - float f4 = 0.0F; - Random random = new Random(par1); - - if (par16 <= 0) - { - int j1 = this.range * 16 - 16; - par16 = j1 - random.nextInt(j1 / 4); - } - - boolean flag = false; - - if (par15 == -1) - { - par15 = par16 / 2; - flag = true; - } - - int k1 = random.nextInt(par16 / 2) + par16 / 4; - - for (boolean flag1 = random.nextInt(6) == 0; par15 < par16; ++par15) - { - double d6 = 1.5D + (double)(MathHelper.sin((float)par15 * (float)Math.PI / (float)par16) * par12 * 1.0F); - double d7 = d6 * par17; - float f5 = MathHelper.cos(par14); - float f6 = MathHelper.sin(par14); - par6 += (double)(MathHelper.cos(par13) * f5); - par8 += (double)f6; - par10 += (double)(MathHelper.sin(par13) * f5); - - if (flag1) - { - par14 *= 0.92F; - } - else - { - par14 *= 0.7F; - } - - par14 += f4 * 0.1F; - par13 += f3 * 0.1F; - f4 *= 0.9F; - f3 *= 0.75F; - f4 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 2.0F; - f3 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 4.0F; - - if (!flag && par15 == k1 && par12 > 1.0F && par16 > 0) - { - this.generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 - ((float)Math.PI / 2F), par14 / 3.0F, par15, par16, 1.0D); - this.generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 + ((float)Math.PI / 2F), par14 / 3.0F, par15, par16, 1.0D); - return; - } - - if (flag || random.nextInt(4) != 0) - { - double d8 = par6 - d4; - double d9 = par10 - d5; - double d10 = (double)(par16 - par15); - double d11 = (double)(par12 + 2.0F + 16.0F); - - if (d8 * d8 + d9 * d9 - d10 * d10 > d11 * d11) - { - return; - } - - if (par6 >= d4 - 16.0D - d6 * 2.0D && par10 >= d5 - 16.0D - d6 * 2.0D && par6 <= d4 + 16.0D + d6 * 2.0D && par10 <= d5 + 16.0D + d6 * 2.0D) - { - int l1 = MathHelper.floor_double(par6 - d6) - par3 * 16 - 1; - int i2 = MathHelper.floor_double(par6 + d6) - par3 * 16 + 1; - int j2 = MathHelper.floor_double(par8 - d7) - 1; - int k2 = MathHelper.floor_double(par8 + d7) + 1; - int l2 = MathHelper.floor_double(par10 - d6) - par4 * 16 - 1; - int i3 = MathHelper.floor_double(par10 + d6) - par4 * 16 + 1; - - if (l1 < 0) - { - l1 = 0; - } - - if (i2 > 16) - { - i2 = 16; - } - - if (j2 < 1) - { - j2 = 1; - } - - if (k2 > 120) - { - k2 = 120; - } - - if (l2 < 0) - { - l2 = 0; - } - - if (i3 > 16) - { - i3 = 16; - } - - boolean flag2 = false; - int j3; - int k3; - - for (j3 = l1; !flag2 && j3 < i2; ++j3) - { - for (int l3 = l2; !flag2 && l3 < i3; ++l3) - { - for (int i4 = k2 + 1; !flag2 && i4 >= j2 - 1; --i4) - { - k3 = (j3 * 16 + l3) * 128 + i4; - - if (i4 >= 0 && i4 < 128) - { - if (par5ArrayOfByte[k3] == Block.waterMoving.blockID || par5ArrayOfByte[k3] == Block.waterStill.blockID) - { - flag2 = true; - } - - if (i4 != j2 - 1 && j3 != l1 && j3 != i2 - 1 && l3 != l2 && l3 != i3 - 1) - { - i4 = j2; - } - } - } - } - } - - if (!flag2) - { - for (j3 = l1; j3 < i2; ++j3) - { - double d12 = ((double)(j3 + par3 * 16) + 0.5D - par6) / d6; - - for (k3 = l2; k3 < i3; ++k3) - { - double d13 = ((double)(k3 + par4 * 16) + 0.5D - par10) / d6; - int j4 = (j3 * 16 + k3) * 128 + k2; - boolean flag3 = false; - - if (d12 * d12 + d13 * d13 < 1.0D) - { - for (int k4 = k2 - 1; k4 >= j2; --k4) - { - double d14 = ((double)k4 + 0.5D - par8) / d7; - - if (d14 > -0.7D && d12 * d12 + d14 * d14 + d13 * d13 < 1.0D) - { - byte b0 = par5ArrayOfByte[j4]; - - if (b0 == Block.grass.blockID) - { - flag3 = true; - } - - if (b0 == AtumBlocks.stone.blockID || b0 == AtumBlocks.sand.blockID) - { - if (k4 < 10) - { - par5ArrayOfByte[j4] = (byte)Block.lavaMoving.blockID; - } - else - { - par5ArrayOfByte[j4] = 0; - - if (flag3 && par5ArrayOfByte[j4 - 1] == AtumBlocks.sand.blockID) - { - par5ArrayOfByte[j4 - 1] = this.worldObj.getBiomeGenForCoords(j3 + par3 * 16, k3 + par4 * 16).topBlock; - } - } - } - } - - --j4; - } - } - } - } - - if (flag) - { - break; - } - } - } - } - } - } - - /** - * Recursively called by generate() (generate) and optionally by itself. - */ - protected void recursiveGenerate(World par1World, int par2, int par3, int par4, int par5, byte[] par6ArrayOfByte) - { - int i1 = this.rand.nextInt(this.rand.nextInt(this.rand.nextInt(40) + 1) + 1); - - if (this.rand.nextInt(15) != 0) - { - i1 = 0; - } - - for (int j1 = 0; j1 < i1; ++j1) - { - double d0 = (double)(par2 * 16 + this.rand.nextInt(16)); - double d1 = (double)this.rand.nextInt(this.rand.nextInt(120) + 8); - double d2 = (double)(par3 * 16 + this.rand.nextInt(16)); - int k1 = 1; - - if (this.rand.nextInt(4) == 0) - { - this.generateLargeCaveNode(this.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2); - k1 += this.rand.nextInt(4); - } - - for (int l1 = 0; l1 < k1; ++l1) - { - float f = this.rand.nextFloat() * (float)Math.PI * 2.0F; - float f1 = (this.rand.nextFloat() - 0.5F) * 2.0F / 8.0F; - float f2 = this.rand.nextFloat() * 2.0F + this.rand.nextFloat(); - - if (this.rand.nextInt(10) == 0) - { - f2 *= this.rand.nextFloat() * this.rand.nextFloat() * 3.0F + 1.0F; - } - - this.generateCaveNode(this.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2, f2, f, f1, 0, 0, 1.0D); - } - } - } -} diff --git a/common/rebelkeithy/mods/atum/world/AtumWorldProvider.java b/common/rebelkeithy/mods/atum/world/AtumWorldProvider.java deleted file mode 100644 index 2d4c218..0000000 --- a/common/rebelkeithy/mods/atum/world/AtumWorldProvider.java +++ /dev/null @@ -1,139 +0,0 @@ -package rebelkeithy.mods.atum.world; - -import net.minecraft.util.MathHelper; -import net.minecraft.util.Vec3; -import net.minecraft.world.WorldProvider; -import net.minecraft.world.biome.WorldChunkManagerHell; -import net.minecraft.world.chunk.IChunkProvider; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.AtumConfig; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class AtumWorldProvider extends WorldProvider -{ - - @Override - public String getDimensionName() - { - return "Atum"; - } - - /** - * creates a new world chunk manager for WorldProvider - */ - @Override - protected void registerWorldChunkManager() - { - worldChunkMgr = new WorldChunkManagerHell(Atum.atumDesert, 0.8F, 0.1F); - this.dimensionId = AtumConfig.dimensionID; - } - - /** - * Returns a new chunk provider which generates chunks for this world - */ - @Override - public IChunkProvider createChunkGenerator() - { - return new AtumChunkProvider(this.worldObj, worldObj.getSeed(), true); - } - - /** - * Creates the light to brightness table - */ - @Override - protected void generateLightBrightnessTable() - { - float f = 0.0F; - - for (int i = 0; i <= 15; ++i) - { - float scaledBrightness = i / 15.0F; - float f1 = 1.0F - scaledBrightness; - if(i < 5) - this.lightBrightnessTable[i] = 0.5F * scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; - else - this.lightBrightnessTable[i] = scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; - - - } - } - - /** - * Calculates the angle of sun and moon in the sky relative to a specified time (usually worldTime) - */ - @Override - public float calculateCelestialAngle(long par1, float par3) - { - int j = (int)(par1 % 48000L); - float f1 = ((float)j + par3) / 48000.0F - 0.25F; - - if (f1 < 0.0F) - { - ++f1; - } - - if (f1 > 1.0F) - { - --f1; - } - - float f2 = f1; - f1 = 1.0F - (float)((Math.cos((double)f1 * Math.PI) + 1.0D) / 2.0D); - f1 = f2 + (f1 - f2) / 3.0F; - return f1; - //return (float) Math.sin(f2); - //return 1F; - } - - @SideOnly(Side.CLIENT) - - /** - * Return Vec3D with biome specific fog color - */ - @Override - public Vec3 getFogColor(float par1, float par2) - { - float f2 = MathHelper.cos(par1 * (float)Math.PI * 2.0F) * 2.0F + 0.5F; - - if (f2 < 0.2F) - { - f2 = 0.2F; - } - - if (f2 > 1.0F) - { - f2 = 1.0F; - } - - float f3 = 0.7529412F; - float f4 = 0.84705883F; - float f5 = 1.0F; - f3 *= f2 * 0.94F + 0.06F; - f4 *= f2 * 0.94F + 0.06F; - f5 *= f2 * 0.91F + 0.09F; - f3 = 0.9F * f2; - f4 = 0.75F * f2; - f5 = 0.6F * f2; - return this.worldObj.getWorldVec3Pool().getVecFromPool((double)f3, (double)f4, (double)f5); - } - - @Override - public boolean doesXZShowFog(int par1, int par2) - { - return false; - } - - @Override - public String getWelcomeMessage() - { - return "Entering Atum"; - } - - @Override - public String getDepartMessage() - { - return "Leaving Atum"; - } - -} diff --git a/common/rebelkeithy/mods/atum/world/AtumWorldServer.java b/common/rebelkeithy/mods/atum/world/AtumWorldServer.java deleted file mode 100644 index 04c7c45..0000000 --- a/common/rebelkeithy/mods/atum/world/AtumWorldServer.java +++ /dev/null @@ -1,94 +0,0 @@ -package rebelkeithy.mods.atum.world; - -import static net.minecraftforge.common.ChestGenHooks.BONUS_CHEST; - -import java.io.File; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Random; -import java.util.Set; -import java.util.TreeSet; - -import rebelkeithy.mods.atum.AtumTeleporter; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockEventData; -import net.minecraft.crash.CrashReport; -import net.minecraft.crash.CrashReportCategory; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityTracker; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.entity.INpc; -import net.minecraft.entity.effect.EntityLightningBolt; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntityWaterMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; -import net.minecraft.logging.ILogAgent; -import net.minecraft.network.packet.Packet38EntityStatus; -import net.minecraft.network.packet.Packet54PlayNoteBlock; -import net.minecraft.network.packet.Packet60Explosion; -import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.network.packet.Packet71Weather; -import net.minecraft.profiler.Profiler; -import net.minecraft.scoreboard.ScoreboardSaveData; -import net.minecraft.scoreboard.ServerScoreboard; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.management.PlayerManager; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChunkCoordinates; -import net.minecraft.util.IProgressUpdate; -import net.minecraft.util.IntHashMap; -import net.minecraft.util.ReportedException; -import net.minecraft.util.Vec3; -import net.minecraft.util.WeightedRandom; -import net.minecraft.util.WeightedRandomChestContent; -import net.minecraft.world.ChunkCoordIntPair; -import net.minecraft.world.ChunkPosition; -import net.minecraft.world.Explosion; -import net.minecraft.world.MinecraftException; -import net.minecraft.world.NextTickListEntry; -import net.minecraft.world.SpawnerAnimals; -import net.minecraft.world.Teleporter; -import net.minecraft.world.WorldProvider; -import net.minecraft.world.WorldServer; -import net.minecraft.world.WorldSettings; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.biome.SpawnListEntry; -import net.minecraft.world.biome.WorldChunkManager; -import net.minecraft.world.chunk.Chunk; -import net.minecraft.world.chunk.IChunkProvider; -import net.minecraft.world.chunk.storage.AnvilChunkLoader; -import net.minecraft.world.chunk.storage.ExtendedBlockStorage; -import net.minecraft.world.chunk.storage.IChunkLoader; -import net.minecraft.world.gen.ChunkProviderServer; -import net.minecraft.world.gen.feature.WorldGeneratorBonusChest; -import net.minecraft.world.storage.ISaveHandler; -import net.minecraftforge.common.ChestGenHooks; -import net.minecraftforge.common.DimensionManager; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.ForgeEventFactory; -import net.minecraftforge.event.world.WorldEvent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class AtumWorldServer extends WorldServer -{ - public AtumWorldServer(MinecraftServer par1MinecraftServer, - ISaveHandler par2iSaveHandler, String par3Str, int par4, - WorldSettings par5WorldSettings, Profiler par6Profiler, - ILogAgent par7iLogAgent) { - super(par1MinecraftServer, par2iSaveHandler, par3Str, par4, par5WorldSettings, - par6Profiler, par7iLogAgent); - // TODO Auto-generated constructor stub - } - - @Override - public Teleporter getDefaultTeleporter() - { - return new AtumTeleporter(this); - } -} diff --git a/common/rebelkeithy/mods/atum/world/biome/BiomeDecoratorAtum.java b/common/rebelkeithy/mods/atum/world/biome/BiomeDecoratorAtum.java deleted file mode 100644 index 0f47f4f..0000000 --- a/common/rebelkeithy/mods/atum/world/biome/BiomeDecoratorAtum.java +++ /dev/null @@ -1,264 +0,0 @@ -package rebelkeithy.mods.atum.world.biome; - -import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.GRASS; -import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.LAKE; -import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.SAND_PASS2; -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.COAL; -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.DIAMOND; -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.GOLD; -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.IRON; -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.LAPIS; -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.REDSTONE; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeDecorator; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.gen.feature.WorldGenBigMushroom; -import net.minecraft.world.gen.feature.WorldGenCactus; -import net.minecraft.world.gen.feature.WorldGenFlowers; -import net.minecraft.world.gen.feature.WorldGenLiquids; -import net.minecraft.world.gen.feature.WorldGenMinable; -import net.minecraft.world.gen.feature.WorldGenReed; -import net.minecraft.world.gen.feature.WorldGenSand; -import net.minecraft.world.gen.feature.WorldGenWaterlily; -import net.minecraft.world.gen.feature.WorldGenerator; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.terraingen.DecorateBiomeEvent; -import net.minecraftforge.event.terraingen.OreGenEvent; -import net.minecraftforge.event.terraingen.TerrainGen; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.world.decorators.WorldGenShrub; - -public class BiomeDecoratorAtum extends BiomeDecorator -{ - - private float shrubChance; - - public BiomeDecoratorAtum(BiomeGenBase par1BiomeGenBase) - { - super(par1BiomeGenBase); - this.sandGen = new WorldGenSand(7, AtumBlocks.sand.blockID); - this.gravelAsSandGen = new WorldGenSand(6, Block.gravel.blockID); - this.dirtGen = new WorldGenMinable(Block.dirt.blockID, 32); - this.gravelGen = new WorldGenMinable(Block.gravel.blockID, 32); - this.coalGen = new WorldGenMinable(AtumBlocks.coalOre.blockID, 16, AtumBlocks.stone.blockID); - this.ironGen = new WorldGenMinable(AtumBlocks.ironOre.blockID, 8, AtumBlocks.stone.blockID); - this.goldGen = new WorldGenMinable(AtumBlocks.goldOre.blockID, 8, AtumBlocks.stone.blockID); - this.redstoneGen = new WorldGenMinable(AtumBlocks.redstoneOre.blockID, 7, AtumBlocks.stone.blockID); - this.diamondGen = new WorldGenMinable(AtumBlocks.diamondOre.blockID, 7, AtumBlocks.stone.blockID); - this.lapisGen = new WorldGenMinable(AtumBlocks.lapisOre.blockID, 6); - this.plantYellowGen = new WorldGenFlowers(Block.plantYellow.blockID); - this.plantRedGen = new WorldGenFlowers(Block.plantRed.blockID); - this.mushroomBrownGen = new WorldGenFlowers(Block.mushroomBrown.blockID); - this.mushroomRedGen = new WorldGenFlowers(Block.mushroomRed.blockID); - this.bigMushroomGen = new WorldGenBigMushroom(); - this.reedGen = new WorldGenReed(); - this.cactusGen = new WorldGenCactus(); - this.waterlilyGen = new WorldGenWaterlily(); - this.waterlilyPerChunk = 0; - this.treesPerChunk = 0; - this.flowersPerChunk = 2; - this.grassPerChunk = 1; - this.deadBushPerChunk = 1; - this.shrubChance = 0.3F; - this.mushroomsPerChunk = 0; - this.reedsPerChunk = 0; - this.cactiPerChunk = 0; - this.sandPerChunk = 1; - this.sandPerChunk2 = 3; - this.clayPerChunk = 1; - this.bigMushroomsPerChunk = 0; - this.generateLakes = true; - this.biome = par1BiomeGenBase; - - //this.treeGenerator = new WorldGenAtumTrees(true); - } - - /** - * Decorates the world. Calls code that was formerly (pre-1.8) in ChunkProviderGenerate.populate - */ - @Override - public void decorate(World par1World, Random par2Random, int par3, int par4) - { - if (this.currentWorld != null) - { - throw new RuntimeException("Already decorating!!"); - } - else - { - this.currentWorld = par1World; - this.randomGenerator = par2Random; - this.chunk_X = par3; - this.chunk_Z = par4; - this.decorate(); - this.currentWorld = null; - this.randomGenerator = null; - } - } - - /** - * The method that does the work of actually decorating chunks - */ - @Override - protected void decorate() - { - MinecraftForge.EVENT_BUS.post(new DecorateBiomeEvent.Pre(currentWorld, randomGenerator, chunk_X, chunk_Z)); - - this.generateOres(); - int i; - int j; - int k; - - long time; - boolean doGen; - - /*boolean doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, SAND); - for (i = 0; doGen && i < this.sandPerChunk2; ++i) - { - j = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - k = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - time = System.nanoTime(); - this.sandGen.generate(this.currentWorld, this.randomGenerator, j, this.currentWorld.getTopSolidOrLiquidBlock(j, k), k); - //System.out.println("Gen Sand: " + (System.nanoTime() - time)); - //this.treeGenerator.generate(this.currentWorld, this.randomGenerator, j, this.currentWorld.getTopSolidOrLiquidBlock(j, k), k); - }*/ - - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, SAND_PASS2); - for (i = 0; doGen && i < this.sandPerChunk; ++i) - { - j = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - k = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - time = System.nanoTime(); - this.sandGen.generate(this.currentWorld, this.randomGenerator, j, this.currentWorld.getTopSolidOrLiquidBlock(j, k), k); - //System.out.println("Gen More Sand: " + (System.nanoTime() - time)); - } - - i = this.treesPerChunk; - - if (this.randomGenerator.nextInt(10) == 0) - { - ++i; - } - - int l; - - /* - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, TREE); - i = (int) (this.randomGenerator.nextFloat() + 0.1); - for (j = 0; doGen && j < i; ++j) - { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - WorldGenerator worldgenerator = this.biome.getRandomWorldGenForTrees(this.randomGenerator); - worldgenerator.setScale(1.0D, 1.0D, 1.0D); - time = System.nanoTime(); - worldgenerator.generate(this.currentWorld, this.randomGenerator, k, this.currentWorld.getHeightValue(k, l), l); - //System.out.println("Gen Trees: " + (System.nanoTime() - time)); - }*/ - - int i1; - - time = System.nanoTime(); - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, GRASS); - for (j = 0; doGen && j < this.grassPerChunk; ++j) - { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.randomGenerator.nextInt(128); - i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - WorldGenerator worldgenerator1 = this.biome.getRandomWorldGenForGrass(this.randomGenerator); - worldgenerator1.generate(this.currentWorld, this.randomGenerator, k, l, i1); - } - - if(randomGenerator.nextFloat() < shrubChance) - { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.randomGenerator.nextInt(128); - i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - time = System.nanoTime(); - (new WorldGenShrub(AtumBlocks.shrub.blockID, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); - //System.out.println("Gen Shrub: " + (System.nanoTime() - time)); - } - - if(randomGenerator.nextFloat() < shrubChance) - { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.randomGenerator.nextInt(128); - i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - time = System.nanoTime(); - (new WorldGenShrub(AtumBlocks.weed.blockID, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); - //System.out.println("Gen Weeds: " + (System.nanoTime() - time)); - } - - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, LAKE); - if (doGen && this.generateLakes) - { - for (j = 0; j < 20; ++j) - { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.randomGenerator.nextInt(this.randomGenerator.nextInt(this.randomGenerator.nextInt(112) + 8) + 8); - i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - time = System.nanoTime(); - (new WorldGenLiquids(Block.lavaMoving.blockID)).generate(this.currentWorld, this.randomGenerator, k, l, i1); - //System.out.println("Gen Lava: " + (System.nanoTime() - time)); - } - } - - MinecraftForge.EVENT_BUS.post(new DecorateBiomeEvent.Post(currentWorld, randomGenerator, chunk_X, chunk_Z)); - } - - /** - * Standard ore generation helper. Generates most ores. - */ - @Override - protected void genStandardOre1(int par1, WorldGenerator par2WorldGenerator, int par3, int par4) - { - for (int l = 0; l < par1; ++l) - { - int i1 = this.chunk_X + this.randomGenerator.nextInt(16); - int j1 = this.randomGenerator.nextInt(par4 - par3) + par3; - int k1 = this.chunk_Z + this.randomGenerator.nextInt(16); - par2WorldGenerator.generate(this.currentWorld, this.randomGenerator, i1, j1, k1); - } - } - - /** - * Standard ore generation helper. Generates Lapis Lazuli. - */ - @Override - protected void genStandardOre2(int par1, WorldGenerator par2WorldGenerator, int par3, int par4) - { - for (int l = 0; l < par1; ++l) - { - int i1 = this.chunk_X + this.randomGenerator.nextInt(16); - int j1 = this.randomGenerator.nextInt(par4) + this.randomGenerator.nextInt(par4) + (par3 - par4); - int k1 = this.chunk_Z + this.randomGenerator.nextInt(16); - par2WorldGenerator.generate(this.currentWorld, this.randomGenerator, i1, j1, k1); - } - } - - /** - * Generates ores in the current chunk - */ - @Override - protected void generateOres() - { - MinecraftForge.ORE_GEN_BUS.post(new OreGenEvent.Pre(currentWorld, randomGenerator, chunk_X, chunk_Z)); - if (TerrainGen.generateOre(currentWorld, randomGenerator, coalGen, chunk_X, chunk_Z, COAL)) - this.genStandardOre1(20, this.coalGen, 0, 128); - if (TerrainGen.generateOre(currentWorld, randomGenerator, ironGen, chunk_X, chunk_Z, IRON)) - this.genStandardOre1(20, this.ironGen, 0, 64); - if (TerrainGen.generateOre(currentWorld, randomGenerator, goldGen, chunk_X, chunk_Z, GOLD)) - this.genStandardOre1(2, this.goldGen, 0, 32); - if (TerrainGen.generateOre(currentWorld, randomGenerator, redstoneGen, chunk_X, chunk_Z, REDSTONE)) - this.genStandardOre1(8, this.redstoneGen, 0, 16); - if (TerrainGen.generateOre(currentWorld, randomGenerator, diamondGen, chunk_X, chunk_Z, DIAMOND)) - this.genStandardOre1(1, this.diamondGen, 0, 16); - if (TerrainGen.generateOre(currentWorld, randomGenerator, lapisGen, chunk_X, chunk_Z, LAPIS)) - this.genStandardOre2(1, this.lapisGen, 16, 16); - MinecraftForge.ORE_GEN_BUS.post(new OreGenEvent.Post(currentWorld, randomGenerator, chunk_X, chunk_Z)); - } -} diff --git a/common/rebelkeithy/mods/atum/world/biome/BiomeGenAtumDesert.java b/common/rebelkeithy/mods/atum/world/biome/BiomeGenAtumDesert.java deleted file mode 100644 index c1bebc9..0000000 --- a/common/rebelkeithy/mods/atum/world/biome/BiomeGenAtumDesert.java +++ /dev/null @@ -1,160 +0,0 @@ -package rebelkeithy.mods.atum.world.biome; - -import java.util.Random; - -import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeDecorator; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.biome.SpawnListEntry; -import net.minecraft.world.gen.feature.WorldGenerator; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.entities.EntityBanditArcher; -import rebelkeithy.mods.atum.entities.EntityBanditWarlord; -import rebelkeithy.mods.atum.entities.EntityBanditWarrior; -import rebelkeithy.mods.atum.entities.EntityBarbarian; -import rebelkeithy.mods.atum.entities.EntityDesertWolf; -import rebelkeithy.mods.atum.entities.EntityDustySkeleton; -import rebelkeithy.mods.atum.entities.EntityGhost; -import rebelkeithy.mods.atum.entities.EntityMummy; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; -import rebelkeithy.mods.atum.world.decorators.WorldGenAtumTrees; -import rebelkeithy.mods.atum.world.decorators.WorldGenOasis; -import rebelkeithy.mods.atum.world.decorators.WorldGenPalace; -import rebelkeithy.mods.atum.world.decorators.WorldGenPalm; -import rebelkeithy.mods.atum.world.decorators.WorldGenPyramid; -import rebelkeithy.mods.atum.world.decorators.WorldGenRuins; - -public class BiomeGenAtumDesert extends BiomeGenBase -{ - public WorldGenerator treeGenerator; - public WorldGenerator palmGenerator; - public WorldGenerator ruinsGenerator; - - public short sTopBlock; - public short sFillerBlock; - - public BiomeGenAtumDesert(int par1) - { - super(par1); - this.spawnableCreatureList.clear(); - this.sTopBlock = (short) AtumBlocks.sand.blockID; - this.sFillerBlock = (short) AtumBlocks.sand.blockID; - this.theBiomeDecorator.treesPerChunk = 1; - this.theBiomeDecorator.deadBushPerChunk = 5; - this.theBiomeDecorator.reedsPerChunk = 0; - this.theBiomeDecorator.cactiPerChunk = 0; - this.treeGenerator = new WorldGenAtumTrees(true); - this.palmGenerator = new WorldGenPalm(true); - ruinsGenerator = new WorldGenRuins(); - this.spawnableMonsterList.clear(); - this.spawnableCreatureList.clear(); - this.spawnableWaterCreatureList.clear(); - this.spawnableCaveCreatureList.clear(); - - this.spawnableMonsterList.add(new SpawnListEntry(EntityMummy.class, 6, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarlord.class, 1, 1, 1)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarrior.class, 6, 2, 2)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityBarbarian.class, 2, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityBanditArcher.class, 6, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityDustySkeleton.class, 6, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityGhost.class, 6, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityDesertWolf.class, 6, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityStoneSoldier.class, 6, 4, 4)); - } - - - /** - * Allocate a new BiomeDecorator for this BiomeGenBase - */ - @Override - public BiomeDecorator createBiomeDecorator() - { - return new BiomeDecoratorAtum(this); - } - - /** - * Gets a WorldGen appropriate for this biome. - */ - @Override - public WorldGenerator getRandomWorldGenForTrees(Random par1Random) - { - return treeGenerator; - } - - @Override - public void decorate(World par1World, Random par2Random, int par3, int par4) - { - super.decorate(par1World, par2Random, par3, par4); - - long time; - - if (par2Random.nextInt(100) == 0) - { - int k = par3 + par2Random.nextInt(16) + 8; - int l = par4 + par2Random.nextInt(16) + 8; - time = System.nanoTime(); - (new WorldGenOasis(false)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); - //System.out.println("Gen Oasis: " + (System.nanoTime() - time)); - } - - if (par2Random.nextInt(20) == 0) - { - //Minecraft.getMinecraft().mcProfiler.startSection("Atum Gen"); - int k = par3 + par2Random.nextInt(16) + 8; - int l = par4 + par2Random.nextInt(16) + 8; - time = System.nanoTime(); - ruinsGenerator.generate(par1World, par2Random, k, par1World.getHeightValue(k, l) + 1, l); - //System.out.println("Gen Ruins: " + (System.nanoTime() - time)); - //Minecraft.getMinecraft().mcProfiler.endSection(); - } - - if (par2Random.nextInt(5) == 0) - { - int k = par3 + par2Random.nextInt(16) + 8; - int l = par4 + par2Random.nextInt(16) + 8; - int height = par2Random.nextInt(4) + 5; - time = System.nanoTime(); - (new WorldGenPalm(true, height, 0, 0)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); - //System.out.println("Gen Palm: " + (System.nanoTime() - time)); - } - - if (par2Random.nextInt(7) == 0) - { - int k = par3 + par2Random.nextInt(16) + 8; - int l = par4 + par2Random.nextInt(16) + 8; - int height = par2Random.nextInt(4) + 4; - time = System.nanoTime(); - (new WorldGenAtumTrees(true)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); - //System.out.println("Gen Palm: " + (System.nanoTime() - time)); - } - - if (par2Random.nextInt(120) == 0) - { - int k = par3 + par2Random.nextInt(16) + 8; - int l = par4 + par2Random.nextInt(16) + 8; - time = System.nanoTime(); - (new WorldGenPyramid()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); - //System.out.println("Gen Pyramid: " + (System.nanoTime() - time)); - } - - /*if (par2Random.nextInt(1000) == 0) - { - int k = par3 + par2Random.nextInt(16) + 8; - int l = par4 + par2Random.nextInt(16) + 8; - WorldGenDesertWells worldgendesertwells = new WorldGenDesertWells(); - time = System.nanoTime(); - worldgendesertwells.generate(par1World, par2Random, k, par1World.getHeightValue(k, l) + 1, l); - //System.out.println("Gen Well: " + (System.nanoTime() - time)); - }*/ - - if (par2Random.nextInt(160) == 0) { - int k = par3 + par2Random.nextInt(16) + 8; - int l = par4 + par2Random.nextInt(16) + 8; - int height = par2Random.nextInt(10); - if(height <= 20){ - height += 30; - } - (new WorldGenPalace()).generate(par1World, par2Random, k, height, l); - } - } -} diff --git a/common/rebelkeithy/mods/atum/world/biome/MobSpawnController.java b/common/rebelkeithy/mods/atum/world/biome/MobSpawnController.java deleted file mode 100644 index ca05b02..0000000 --- a/common/rebelkeithy/mods/atum/world/biome/MobSpawnController.java +++ /dev/null @@ -1,31 +0,0 @@ -package rebelkeithy.mods.atum.world.biome; - -import java.util.List; - -import net.minecraft.world.biome.SpawnListEntry; -import net.minecraftforge.event.ForgeSubscribe; -import net.minecraftforge.event.world.WorldEvent.PotentialSpawns; -import rebelkeithy.mods.atum.entities.IAtumDayMob; -import rebelkeithy.mods.atum.entities.IAtumNightMob; - -public class MobSpawnController -{ - @ForgeSubscribe - public void getPotentialSpawns(PotentialSpawns event) - { - List list = event.list; - int time = (int) (event.world.getWorldTime() % 48000); - System.out.println(time); - for(int i = 0; i < list.size(); i++) - { - System.out.println(time); - if(IAtumDayMob.class.isAssignableFrom(list.get(i).entityClass) && time > 0 && time < 24000) {} - else if(IAtumNightMob.class.isAssignableFrom(list.get(i).entityClass) && time > 24000 && time < 48000) {} - else - { - list.remove(i); - i--; - } - } - } -} diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenAtumTrees.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenAtumTrees.java deleted file mode 100644 index 7a6e006..0000000 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenAtumTrees.java +++ /dev/null @@ -1,518 +0,0 @@ -package rebelkeithy.mods.atum.world.decorators; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; -import rebelkeithy.mods.atum.AtumBlocks; - -public class WorldGenAtumTrees extends WorldGenerator -{ - /** - * Contains three sets of two values that provide complimentary indices for a given 'major' index - 1 and 2 for 0, 0 - * and 2 for 1, and 0 and 1 for 2. - */ - static final byte[] otherCoordPairs = new byte[] {(byte)2, (byte)0, (byte)0, (byte)1, (byte)2, (byte)1}; - - /** random seed for GenBigTree */ - Random rand = new Random(); - - /** Reference to the World object. */ - World worldObj; - int[] basePos = new int[] {0, 0, 0}; - int heightLimit = 0; - int height; - double heightAttenuation = 0.618D; - double branchDensity = 1.0D; - double branchSlope = 0.381D; - double scaleWidth = 1.0D; - double leafDensity = 1.0D; - - /** - * Currently always 1, can be set to 2 in the class constructor to generate a double-sized tree trunk for big trees. - */ - int trunkSize = 1; - - /** - * Sets the limit of the random value used to initialize the height limit. - */ - int heightLimitLimit = 12; - - /** - * Sets the distance limit for how far away the generator will populate leaves from the base leaf node. - */ - int leafDistanceLimit = 4; - - /** Contains a list of a points at which to generate groups of leaves. */ - int[][] leafNodes; - - public WorldGenAtumTrees(boolean par1) - { - super(par1); - } - - /** - * Generates a list of leaf nodes for the tree, to be populated by generateLeaves. - */ - void generateLeafNodeList() - { - this.height = (int)((double)this.heightLimit * this.heightAttenuation); - - if (this.height >= this.heightLimit) - { - this.height = this.heightLimit - 1; - } - - int i = (int)(1.382D + Math.pow(this.leafDensity * (double)this.heightLimit / 13.0D, 2.0D)); - - if (i < 1) - { - i = 1; - } - - int[][] aint = new int[i * this.heightLimit][4]; - int j = this.basePos[1] + this.heightLimit - this.leafDistanceLimit; - int k = 1; - int l = this.basePos[1] + this.height; - int i1 = j - this.basePos[1]; - aint[0][0] = this.basePos[0]; - aint[0][1] = j; - aint[0][2] = this.basePos[2]; - aint[0][3] = l; - --j; - - while (i1 >= 0) - { - int j1 = 0; - float f = this.layerSize(i1); - - if (f < 0.0F) - { - --j; - --i1; - } - else - { - for (double d0 = 0.5D; j1 < i; ++j1) - { - double d1 = this.scaleWidth * (double)f * ((double)this.rand.nextFloat() + 0.328D); - double d2 = (double)this.rand.nextFloat() * 2.0D * Math.PI; - int k1 = MathHelper.floor_double(d1 * Math.sin(d2) + (double)this.basePos[0] + d0); - int l1 = MathHelper.floor_double(d1 * Math.cos(d2) + (double)this.basePos[2] + d0); - int[] aint1 = new int[] {k1, j, l1}; - int[] aint2 = new int[] {k1, j + this.leafDistanceLimit, l1}; - - if (this.checkBlockLine(aint1, aint2) == -1) - { - int[] aint3 = new int[] {this.basePos[0], this.basePos[1], this.basePos[2]}; - double d3 = Math.sqrt(Math.pow((double)Math.abs(this.basePos[0] - aint1[0]), 2.0D) + Math.pow((double)Math.abs(this.basePos[2] - aint1[2]), 2.0D)); - double d4 = d3 * this.branchSlope; - - if ((double)aint1[1] - d4 > (double)l) - { - aint3[1] = l; - } - else - { - aint3[1] = (int)((double)aint1[1] - d4); - } - - if (this.checkBlockLine(aint3, aint1) == -1) - { - aint[k][0] = k1; - aint[k][1] = j; - aint[k][2] = l1; - aint[k][3] = aint3[1]; - ++k; - } - } - } - - --j; - --i1; - } - } - - this.leafNodes = new int[k][4]; - System.arraycopy(aint, 0, this.leafNodes, 0, k); - } - - void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, int par6) - { - int i1 = (int)((double)par4 + 0.618D); - byte b1 = otherCoordPairs[par5]; - byte b2 = otherCoordPairs[par5 + 3]; - int[] aint = new int[] {par1, par2, par3}; - int[] aint1 = new int[] {0, 0, 0}; - int j1 = -i1; - int k1 = -i1; - - for (aint1[par5] = aint[par5]; j1 <= i1; ++j1) - { - aint1[b1] = aint[b1] + j1; - k1 = -i1; - - while (k1 <= i1) - { - double d0 = Math.pow((double)Math.abs(j1) + 0.5D, 2.0D) + Math.pow((double)Math.abs(k1) + 0.5D, 2.0D); - - if (d0 > (double)(par4 * par4)) - { - ++k1; - } - else - { - aint1[b2] = aint[b2] + k1; - int l1 = this.worldObj.getBlockId(aint1[0], aint1[1], aint1[2]); - - if (l1 != 0 && l1 != Block.leaves.blockID) - { - ++k1; - } - else - { - if(par6 != Block.leaves.blockID) - this.setBlockAndMetadata(this.worldObj, aint1[0], aint1[1], aint1[2], par6, 0); - ++k1; - } - } - } - } - } - - /** - * Gets the rough size of a layer of the tree. - */ - float layerSize(int par1) - { - if ((double)par1 < (double)((float)this.heightLimit) * 0.3D) - { - return -1.618F; - } - else - { - float f = (float)this.heightLimit / 2.0F; - float f1 = (float)this.heightLimit / 2.0F - (float)par1; - float f2; - - if (f1 == 0.0F) - { - f2 = f; - } - else if (Math.abs(f1) >= f) - { - f2 = 0.0F; - } - else - { - f2 = (float)Math.sqrt(Math.pow((double)Math.abs(f), 2.0D) - Math.pow((double)Math.abs(f1), 2.0D)); - } - - f2 *= 0.5F; - return f2; - } - } - - float leafSize(int par1) - { - return par1 >= 0 && par1 < this.leafDistanceLimit ? (par1 != 0 && par1 != this.leafDistanceLimit - 1 ? 3.0F : 2.0F) : -1.0F; - } - - /** - * Generates the leaves surrounding an individual entry in the leafNodes list. - */ - void generateLeafNode(int par1, int par2, int par3) - { - int l = par2; - - for (int i1 = par2 + this.leafDistanceLimit; l < i1; ++l) - { - float f = this.leafSize(l - par2); - this.genTreeLayer(par1, l, par3, f, (byte)1, Block.leaves.blockID); - } - } - - /** - * Places a line of the specified block ID into the world from the first coordinate triplet to the second. - */ - void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, int par3) - { - int[] aint2 = new int[] {0, 0, 0}; - byte b0 = 0; - byte b1; - - for (b1 = 0; b0 < 3; ++b0) - { - aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; - - if (Math.abs(aint2[b0]) > Math.abs(aint2[b1])) - { - b1 = b0; - } - } - - if (aint2[b1] != 0) - { - byte b2 = otherCoordPairs[b1]; - byte b3 = otherCoordPairs[b1 + 3]; - byte b4; - - if (aint2[b1] > 0) - { - b4 = 1; - } - else - { - b4 = -1; - } - - double d0 = (double)aint2[b2] / (double)aint2[b1]; - double d1 = (double)aint2[b3] / (double)aint2[b1]; - int[] aint3 = new int[] {0, 0, 0}; - int j = 0; - - for (int k = aint2[b1] + b4; j != k; j += b4) - { - aint3[b1] = MathHelper.floor_double((double)(par1ArrayOfInteger[b1] + j) + 0.5D); - aint3[b2] = MathHelper.floor_double((double)par1ArrayOfInteger[b2] + (double)j * d0 + 0.5D); - aint3[b3] = MathHelper.floor_double((double)par1ArrayOfInteger[b3] + (double)j * d1 + 0.5D); - byte b5 = 0; - int l = Math.abs(aint3[0] - par1ArrayOfInteger[0]); - int i1 = Math.abs(aint3[2] - par1ArrayOfInteger[2]); - int j1 = Math.max(l, i1); - - if (j1 > 0) - { - if (l == j1) - { - b5 = 4; - } - else if (i1 == j1) - { - b5 = 8; - } - } - - this.setBlockAndMetadata(this.worldObj, aint3[0], aint3[1], aint3[2], par3, b5); - } - } - } - - /** - * Generates the leaf portion of the tree as specified by the leafNodes list. - */ - void generateLeaves() - { - int i = 0; - - for (int j = this.leafNodes.length; i < j; ++i) - { - int k = this.leafNodes[i][0]; - int l = this.leafNodes[i][1]; - int i1 = this.leafNodes[i][2]; - this.generateLeafNode(k, l, i1); - } - } - - /** - * Indicates whether or not a leaf node requires additional wood to be added to preserve integrity. - */ - boolean leafNodeNeedsBase(int par1) - { - return (double)par1 >= (double)this.heightLimit * 0.2D; - } - - /** - * Places the trunk for the big tree that is being generated. Able to generate double-sized trunks by changing a - * field that is always 1 to 2. - */ - void generateTrunk() - { - int i = this.basePos[0]; - int j = this.basePos[1]; - int k = this.basePos[1] + this.height; - int l = this.basePos[2]; - int[] aint = new int[] {i, j, l}; - int[] aint1 = new int[] {i, k, l}; - this.placeBlockLine(aint, aint1, Block.wood.blockID); - - if (this.trunkSize == 2) - { - ++aint[0]; - ++aint1[0]; - this.placeBlockLine(aint, aint1, Block.wood.blockID); - ++aint[2]; - ++aint1[2]; - this.placeBlockLine(aint, aint1, Block.wood.blockID); - aint[0] += -1; - aint1[0] += -1; - this.placeBlockLine(aint, aint1, Block.wood.blockID); - } - } - - /** - * Generates additional wood blocks to fill out the bases of different leaf nodes that would otherwise degrade. - */ - void generateLeafNodeBases() - { - int i = 0; - int j = this.leafNodes.length; - - for (int[] aint = new int[] {this.basePos[0], this.basePos[1], this.basePos[2]}; i < j; ++i) - { - int[] aint1 = this.leafNodes[i]; - int[] aint2 = new int[] {aint1[0], aint1[1], aint1[2]}; - aint[1] = aint1[3]; - int k = aint[1] - this.basePos[1]; - - if (this.leafNodeNeedsBase(k)) - { - this.placeBlockLine(aint, aint2, (byte)Block.wood.blockID); - } - } - } - - /** - * Checks a line of blocks in the world from the first coordinate to triplet to the second, returning the distance - * (in blocks) before a non-air, non-leaf block is encountered and/or the end is encountered. - */ - int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger) - { - int[] aint2 = new int[] {0, 0, 0}; - byte b0 = 0; - byte b1; - - for (b1 = 0; b0 < 3; ++b0) - { - aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; - - if (Math.abs(aint2[b0]) > Math.abs(aint2[b1])) - { - b1 = b0; - } - } - - if (aint2[b1] == 0) - { - return -1; - } - else - { - byte b2 = otherCoordPairs[b1]; - byte b3 = otherCoordPairs[b1 + 3]; - byte b4; - - if (aint2[b1] > 0) - { - b4 = 1; - } - else - { - b4 = -1; - } - - double d0 = (double)aint2[b2] / (double)aint2[b1]; - double d1 = (double)aint2[b3] / (double)aint2[b1]; - int[] aint3 = new int[] {0, 0, 0}; - int i = 0; - int j; - - for (j = aint2[b1] + b4; i != j; i += b4) - { - aint3[b1] = par1ArrayOfInteger[b1] + i; - aint3[b2] = MathHelper.floor_double((double)par1ArrayOfInteger[b2] + (double)i * d0); - aint3[b3] = MathHelper.floor_double((double)par1ArrayOfInteger[b3] + (double)i * d1); - int k = this.worldObj.getBlockId(aint3[0], aint3[1], aint3[2]); - - if (k != 0 && k != Block.leaves.blockID) - { - break; - } - } - - return i == j ? -1 : Math.abs(i); - } - } - - /** - * Returns a boolean indicating whether or not the current location for the tree, spanning basePos to to the height - * limit, is valid. - */ - boolean validTreeLocation() - { - int[] aint = new int[] {this.basePos[0], this.basePos[1], this.basePos[2]}; - int[] aint1 = new int[] {this.basePos[0], this.basePos[1] + this.heightLimit - 1, this.basePos[2]}; - int i = this.worldObj.getBlockId(this.basePos[0], this.basePos[1] - 1, this.basePos[2]); - - Block soil = Block.blocksList[i]; - boolean isValidSoil = i == AtumBlocks.sand.blockID; - if (!isValidSoil) - { - return false; - } - else - { - int j = this.checkBlockLine(aint, aint1); - - if (j == -1) - { - return true; - } - else if (j < 6) - { - return false; - } - else - { - this.heightLimit = j; - return true; - } - } - } - - /** - * Rescales the generator settings, only used in WorldGenBigTree - */ - public void setScale(double par1, double par3, double par5) - { - this.heightLimitLimit = (int)(par1 * 12.0D); - - if (par1 > 0.5D) - { - this.leafDistanceLimit = 5; - } - - this.scaleWidth = par3; - this.leafDensity = par5; - } - - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) - { - this.worldObj = par1World; - long l = par2Random.nextLong(); - this.rand.setSeed(l); - this.basePos[0] = par3; - this.basePos[1] = par4; - this.basePos[2] = par5; - - if (this.heightLimit == 0) - { - this.heightLimit = 5 + this.rand.nextInt(this.heightLimitLimit); - } - - if (!this.validTreeLocation()) - { - return false; - } - else - { - this.generateLeafNodeList(); - this.generateLeaves(); - this.generateTrunk(); - this.generateLeafNodeBases(); - return true; - } - } -} diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenOasis.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenOasis.java deleted file mode 100644 index 2b06843..0000000 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenOasis.java +++ /dev/null @@ -1,218 +0,0 @@ -package rebelkeithy.mods.atum.world.decorators; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.inventory.IInventory; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; -import net.minecraftforge.common.ForgeDirection; -import net.minecraftforge.common.IPlantable; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumLoot; - -public class WorldGenOasis extends WorldGenerator -{ - /** The minimum height of a generated tree. */ - private final int minTreeHeight; - - /** The metadata value of the wood to use in tree generation. */ - private final int metaWood; - - /** The metadata value of the leaves to use in tree generation. */ - private final int metaLeaves; - - public WorldGenOasis(boolean par1) - { - this(par1, 4, 0, 0); - } - - public WorldGenOasis(boolean par1, int par2, int par3, int par4) - { - super(par1); - this.minTreeHeight = par2; - this.metaWood = par3; - this.metaLeaves = par4; - } - - public boolean generate(World world, Random par2Random, int par3, int par4, int par5) - { - int width = par2Random.nextInt(6) + 6; - int depth = par2Random.nextInt(5) + 5; - - int id = world.getBlockId(par3, par4-1, par5); - if(id != AtumBlocks.sand.blockID) - return false; - id = world.getBlockId(par3+width, world.getHeightValue(par3+width, par5)-1, par5); - if(id != AtumBlocks.sand.blockID) - return false; - id = world.getBlockId(par3, world.getHeightValue(par3, par5+depth)-1, par5+depth); - if(id != AtumBlocks.sand.blockID) - return false; - id = world.getBlockId(par3+width, world.getHeightValue(par3+width, par5+depth)-1, par5+depth); - if(id != AtumBlocks.sand.blockID) - return false; - - int minHeight = world.getHeightValue(par3, par5); - int maxHeight = world.getHeightValue(par3, par5); - int height; - - height = world.getHeightValue(par3 + width, par5); - if(height < minHeight) - minHeight = height; - else if(height > maxHeight) - maxHeight = height; - - height = world.getHeightValue(par3, par5 + depth); - if(height < minHeight) - minHeight = height; - else if(height > maxHeight) - maxHeight = height; - - height = world.getHeightValue(par3 + width, par5 + depth); - if(height < minHeight) - minHeight = height; - else if(height > maxHeight) - maxHeight = height; - if((maxHeight - minHeight) < 6) - { - //System.out.println("Starting Oasis Generation"); - //System.out.println("oasis" + par3 + " " + par5 + " size " + width + " " + depth); - float radius = width / 2.0F; - float radius2 = depth / 2.0F; - for(int x = (int) (0 - radius - 6); x <= radius + 6; x++) - { - for(int z = (int) (0 - radius2 - 6); z <= radius2 + 6; z++) - { - float check = (x*x)/(radius*radius) + (z*z)/(radius2*radius2); - //System.out.println(check); - if( check <= 1) - { - int y = world.getHeightValue(x+par3, z+par5); - - if(world.getBlockId(x+par3, y-1, z+par5) != AtumBlocks.sand.blockID) - continue; - - world.setBlock(x+par3, y-1, z+par5, Block.waterStill.blockID); - - /* - if(world.getBlockId(x+par3 + 1, y-1, z+par5) == 0) - world.setBlock(x+par3 + 1, y-1, z+par5, Block.grass.blockID); - if(world.getBlockId(x+par3 - 1, y-1, z+par5) == 0) - world.setBlock(x+par3 - 1, y-1, z+par5, Block.grass.blockID); - if(world.getBlockId(x+par3, y-1, z+par5 + 1) == 0) - world.setBlock(x+par3, y-1, z+par5 + 1, Block.grass.blockID); - if(world.getBlockId(x+par3, y-1, z+par5 - 1) == 0) - world.setBlock(x+par3, y-1, z+par5 - 1, Block.grass.blockID); - */ - - if(check < 0.6) - { - y = world.getHeightValue(x+par3, z+par5); - world.setBlock(x+par3, y-2, z+par5, Block.waterStill.blockID); - } - } else { - check = (x*x)/((radius+4)*(radius+4)) + (z*z)/((radius2+4)*(radius2+4)); - int y = world.getHeightValue(x+par3, z+par5); - - if(world.getBlockId(x+par3, y-1, z+par5) != AtumBlocks.sand.blockID) - continue; - - if(check < 1) - { - world.setBlock(x+par3, y-1, z+par5, AtumBlocks.fertileSoil.blockID); - if(check < 0.3) - { - if(par2Random.nextInt(8) == 0) - { - for(int dx = -1; dx <= 1; dx++) - { - for(int dz = -1; dz <= 1; dz++) - { - if(AtumBlocks.papyrus.canBlockStay(world, par3+x+dx, y, par5+z+dz)) - { - world.setBlock(x+par3+dx, y, z+par5+dz, AtumBlocks.papyrus.blockID); - } - } - } - } - } - } - } - } - } - } - - int treeCount = 0; - for(int i = 0; i < 6; i++) - { - int x = par2Random.nextInt(width); - int z = par2Random.nextInt(depth); - - id = world.getBlockId(par3+x, world.getHeightValue(par3+x, par5+z)-1, par5+z); - if(id == AtumBlocks.fertileSoil.blockID) - { - (new WorldGenPalm(true, 5, 0, 0)).generate(world, par2Random, par3+x, world.getHeightValue(par3+x, par5+z), par5+z); - treeCount++; - } - if(treeCount > 2) - break; - } - - boolean chest = false; - boolean papyrus = false; - for(int i = 0; i < 10; i++) - { - int x = par2Random.nextInt(width); - int z = par2Random.nextInt(depth); - int y = world.getHeightValue(par3+x, par5+z); - - id = world.getBlockId(par3+x, y-1, par5+z); - if(!chest && id == AtumBlocks.fertileSoil.blockID) - { - world.setBlock(par3+x, y, par5+z, Block.chest.blockID); - TileEntity te = world.getBlockTileEntity(par3+x, world.getHeightValue(par3+x, par5+z), par5+z); - AtumLoot.fillChest((IInventory) te, 5, 0.2f); - chest = true; - continue; - } - - if(!papyrus && Block.blocksList[id].canSustainPlant(world, par3+x, y, par5+z, ForgeDirection.UP, (IPlantable)(AtumBlocks.papyrus))) - { - for(int dx = -1; dx <= 1; dx++) - { - for(int dz = -1; dz <= 1; dz++) - { - if(Block.blocksList[id].canSustainPlant(world, par3+x+dx, y, par5+z+dz, ForgeDirection.UP, (IPlantable)(AtumBlocks.papyrus))) - { - world.setBlock(par3+x, y, par5+z, AtumBlocks.papyrus.blockID); - papyrus = true; - } - } - } - continue; - } - - if(par2Random.nextInt(5) == 0) - { - for(int dx = -1; dx <= 1; dx++) - { - for(int dz = -1; dz <= 1; dz++) - { - int currentY = world.getHeightValue(par3+x, par5+z); - int belowID = world.getBlockId(par3+x+dx, currentY - 1, par5+z+dz); - int currentID = world.getBlockId(par3+x+dx, currentY, par5+z+dz); - if(par2Random.nextInt(3) == 0 && belowID == AtumBlocks.fertileSoil.blockID && currentID == 0) - { - world.setBlock(par3+x+dx, currentY, par5+z+dz, AtumBlocks.flax.blockID, 13, 0); - } - } - } - } - } - - return false; - - } -} diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenPalace.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenPalace.java deleted file mode 100644 index f7dbc7c..0000000 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenPalace.java +++ /dev/null @@ -1,6217 +0,0 @@ -package rebelkeithy.mods.atum.world.decorators; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; -import rebelkeithy.mods.atum.AtumBlocks; - -public class WorldGenPalace extends WorldGenerator { - - public int largeLimestoneBricks = AtumBlocks.largeBrick.blockID; - public int smallLimestoneBricks = AtumBlocks.smallBrick.blockID; - public int carvedLimestone = AtumBlocks.carvedBrick.blockID; - public int largeLimestoneBricksStairs = AtumBlocks.largeStoneStairs.blockID; - - public WorldGenPalace() { - } - - @Override - public boolean generate(World world, Random random, int i, int j, int k) { - - world.setBlock(i + 0, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 9, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 10, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 11, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 12, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 13, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 14, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 15, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 16, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 17, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 18, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 19, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 20, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 21, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 22, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 23, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 24, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 25, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 26, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 27, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 28, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 29, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 30, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 31, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 32, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 33, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 34, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 35, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 36, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 37, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 38, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 39, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 40, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 41, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 42, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 43, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 44, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 45, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 46, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 47, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 48, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 1, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 1, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 12, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 18, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 21, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 24, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 33, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 36, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 45, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 12, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 18, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 21, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 24, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 27, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 30, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 33, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 36, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 45, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 2, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 2, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 3, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 3, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 4, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 4, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 4, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 4, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 4, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 4, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 5, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 5, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 6, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 6, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 18, largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 21, largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 24, largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 33, largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 36, largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 18, largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 21, largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 24, largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 27, largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 30, largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 33, largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 36, largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 18, largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 21, largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 24, largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 27, largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 30, largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 33, largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 36, largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 39, largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 18, largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 21, largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 24, largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 27, largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 30, largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 33, largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 36, largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 39, largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 7, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 7, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 43, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 43, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 14, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 43, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 43, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 8, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 8, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 37, largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 38, largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 40, largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 41, largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 38, largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 39, largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 40, largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 41, largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 4, k + 39, largeLimestoneBricks); - world.setBlock(i + 8, j + 4, k + 40, largeLimestoneBricks); - world.setBlock(i + 8, j + 4, k + 41, largeLimestoneBricks); - world.setBlock(i + 8, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 5, k + 40, largeLimestoneBricks); - world.setBlock(i + 8, j + 5, k + 41, largeLimestoneBricks); - world.setBlock(i + 8, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 16, Block.netherrack.blockID); - world.setBlock(i + 8, j + 7, k + 17, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 19, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 20, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 21, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 23, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 24, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 25, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 27, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 28, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 29, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 31, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 32, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 33, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 8, k + 16, Block.fire.blockID); - world.setBlock(i + 8, j + 8, k + 19, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 20, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 21, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 27, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 28, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 29, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 9, k + 19, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 20, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 21, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 27, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 28, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 29, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 17, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 19, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 20, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 21, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 23, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 24, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 25, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 27, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 28, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 29, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 31, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 32, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 33, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 9, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 9, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 37, largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 38, largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 40, largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 41, largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 38, largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 39, largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 40, largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 41, largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 4, k + 39, largeLimestoneBricks); - world.setBlock(i + 9, j + 4, k + 40, largeLimestoneBricks); - world.setBlock(i + 9, j + 4, k + 41, largeLimestoneBricks); - world.setBlock(i + 9, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 5, k + 40, largeLimestoneBricks); - world.setBlock(i + 9, j + 5, k + 41, largeLimestoneBricks); - world.setBlock(i + 9, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 9, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 9, j + 7, k + 17, largeLimestoneBricks); - world.setBlock(i + 9, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 9, j + 10, k + 17, largeLimestoneBricks); - world.setBlock(i + 9, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 10, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 10, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 22, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 23, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 24, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 25, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 31, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 32, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 33, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 34, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 43, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 22, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 26, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 30, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 34, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 22, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 26, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 30, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 34, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 22, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 23, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 24, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 25, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 26, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 30, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 31, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 32, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 33, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 34, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 43, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 34, largeLimestoneBricks); - - generate2(world, random, i, j, k); - return true; - } - - public boolean generate2(World world, Random rand, int i, int j, int k) { - world.setBlock(i + 10, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 10, j + 7, k + 14, largeLimestoneBricks); - world.setBlock(i + 10, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 7, k + 43, largeLimestoneBricks); - world.setBlock(i + 10, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 10, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 10, k + 43, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 11, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 11, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 11, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 2, k + 19, largeLimestoneBricks); - world.setBlock(i + 11, j + 2, k + 38, largeLimestoneBricks); - world.setBlock(i + 11, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 5, k + 19, largeLimestoneBricks); - world.setBlock(i + 11, j + 5, k + 38, largeLimestoneBricks); - world.setBlock(i + 11, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 11, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 11, j + 7, k + 19, largeLimestoneBricks); - world.setBlock(i + 11, j + 7, k + 38, largeLimestoneBricks); - world.setBlock(i + 11, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 11, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 11, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 11, j + 10, k + 19, largeLimestoneBricks); - world.setBlock(i + 11, j + 10, k + 38, largeLimestoneBricks); - world.setBlock(i + 11, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 12, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 12, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 12, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 12, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 12, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 12, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 12, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 12, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 0, largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 1, largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 2, largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 3, largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 4, largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 5, largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 6, largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 1, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 2, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 3, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 4, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 5, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 6, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 7, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 43, largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 13, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 43, largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 13, j + 7, k + 14, largeLimestoneBricks); - world.setBlock(i + 13, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 13, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 7, k + 43, largeLimestoneBricks); - world.setBlock(i + 13, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 13, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 13, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 13, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 13, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 10, k + 43, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 0, largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 1, largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 2, largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 3, largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 4, largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 5, largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 6, largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 1, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 2, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 3, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 4, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 5, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 6, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 7, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 14, j + 2, k + 4, Block.netherrack.blockID); - world.setBlock(i + 14, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 14, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 3, k + 4, Block.fire.blockID); - world.setBlock(i + 14, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 14, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 14, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 14, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 14, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 14, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 0, largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 1, largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 2, largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 3, largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 4, largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 5, largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 6, largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 1, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 2, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 3, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 4, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 5, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 6, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 7, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 15, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 15, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 2, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 2, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 2, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 2, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 15, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 3, k + 14, largeLimestoneBricks); - world.setBlock(i + 15, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 4, k + 14, largeLimestoneBricks); - world.setBlock(i + 15, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 15, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 15, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 15, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 15, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 15, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 15, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 15, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 16, j + 0, k + 6, largeLimestoneBricks); - world.setBlock(i + 16, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 16, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 16, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 7, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 13, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 2, k + 25, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 31, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 43, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 14, largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 25, largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 31, largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 14, largeLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 13, largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 43, largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 14, largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 43, largeLimestoneBricks); - world.setBlock(i + 16, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 43, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 17, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 17, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 17, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 12, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 13, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 16, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 25, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 28, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 29, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 31, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 13, largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 14, largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 16, largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 17, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 13, largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 14, largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 16, largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 17, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 12, largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 13, largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 17, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 17, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 17, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 17, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 17, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 18, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 18, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 18, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 28, largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 29, largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 5, k + 13, largeLimestoneBricks); - world.setBlock(i + 18, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 18, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 18, j + 5, k + 16, largeLimestoneBricks); - world.setBlock(i + 18, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 13, largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 14, largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 8, k + 14, largeLimestoneBricks); - world.setBlock(i + 18, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 18, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 18, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 13, largeLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 14, largeLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 18, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 19, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 19, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 19, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 28, largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 29, largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 43, largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 19, j + 3, k + 14, carvedLimestone); - world.setBlock(i + 19, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 13, largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 16, largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 43, largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 19, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 19, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 7, k + 43, largeLimestoneBricks); - world.setBlock(i + 19, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 19, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 9, k + 13, carvedLimestone); - world.setBlock(i + 19, j + 9, k + 14, largeLimestoneBricks); - world.setBlock(i + 19, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 19, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 19, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 13, largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 43, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 20, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 20, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 20, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 28, largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 29, largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 5, k + 13, largeLimestoneBricks); - world.setBlock(i + 20, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 20, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 20, j + 5, k + 16, largeLimestoneBricks); - world.setBlock(i + 20, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 13, largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 14, largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 8, k + 14, largeLimestoneBricks); - world.setBlock(i + 20, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 20, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 20, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 13, largeLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 14, largeLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 20, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 20, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 20, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 20, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 20, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 21, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 21, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 21, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 12, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 13, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 16, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 25, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 28, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 29, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 31, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 13, largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 14, largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 16, largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 21, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 13, largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 14, largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 16, largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 21, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 12, largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 13, largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 9, largeLimestoneBricks); - - generate3(world, rand, i, j, k); - return true; - } - - public boolean generate3(World world, Random rand, int i, int j, int k) { - world.setBlock(i + 21, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 21, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 21, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 21, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 21, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 21, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 22, j + 0, k + 6, largeLimestoneBricks); - world.setBlock(i + 22, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 22, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 22, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 7, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 13, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 2, k + 25, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 31, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 43, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 14, largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 25, largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 31, largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 14, largeLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 13, largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 43, largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 14, largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 43, largeLimestoneBricks); - world.setBlock(i + 22, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 43, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 0, largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 1, largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 2, largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 3, largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 4, largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 5, largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 6, largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 1, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 2, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 3, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 4, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 5, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 6, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 7, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 2, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 2, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 2, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 23, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 23, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 23, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 23, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 23, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 23, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 23, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 0, largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 1, largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 2, largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 3, largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 4, largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 5, largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 6, largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 1, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 2, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 3, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 4, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 5, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 6, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 7, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 24, j + 2, k + 4, Block.netherrack.blockID); - world.setBlock(i + 24, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 3, k + 4, Block.fire.blockID); - world.setBlock(i + 24, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 24, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 24, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 24, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 24, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 24, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 0, largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 1, largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 2, largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 3, largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 4, largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 5, largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 6, largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 1, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 2, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 3, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 4, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 5, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 6, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 7, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 43, largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 25, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 43, largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 25, j + 7, k + 14, largeLimestoneBricks); - world.setBlock(i + 25, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 25, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 7, k + 43, largeLimestoneBricks); - world.setBlock(i + 25, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 25, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 25, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 25, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 25, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 10, k + 43, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 26, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 26, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 26, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 26, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 26, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 26, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 26, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 26, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 27, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 27, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 27, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 2, k + 19, largeLimestoneBricks); - world.setBlock(i + 27, j + 2, k + 38, largeLimestoneBricks); - world.setBlock(i + 27, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 5, k + 19, largeLimestoneBricks); - world.setBlock(i + 27, j + 5, k + 38, largeLimestoneBricks); - world.setBlock(i + 27, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 27, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 27, j + 7, k + 19, largeLimestoneBricks); - world.setBlock(i + 27, j + 7, k + 38, largeLimestoneBricks); - world.setBlock(i + 27, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 27, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 27, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 27, j + 10, k + 19, largeLimestoneBricks); - world.setBlock(i + 27, j + 10, k + 38, largeLimestoneBricks); - world.setBlock(i + 27, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 28, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 28, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 22, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 23, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 24, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 25, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 31, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 32, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 33, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 34, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 43, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 22, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 26, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 30, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 34, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 22, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 26, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 30, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 34, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 22, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 23, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 24, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 25, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 26, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 30, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 31, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 32, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 33, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 34, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 43, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 28, j + 7, k + 14, largeLimestoneBricks); - world.setBlock(i + 28, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 7, k + 43, largeLimestoneBricks); - world.setBlock(i + 28, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 28, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 10, k + 43, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 29, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 29, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 37, largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 38, largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 40, largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 41, largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 38, largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 39, largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 40, largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 41, largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 4, k + 39, largeLimestoneBricks); - world.setBlock(i + 29, j + 4, k + 40, largeLimestoneBricks); - world.setBlock(i + 29, j + 4, k + 41, largeLimestoneBricks); - world.setBlock(i + 29, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 5, k + 40, largeLimestoneBricks); - world.setBlock(i + 29, j + 5, k + 41, largeLimestoneBricks); - world.setBlock(i + 29, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 29, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 29, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 29, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 30, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 30, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 37, largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 38, largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 40, largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 41, largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 38, largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 39, largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 40, largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 41, largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 4, k + 39, largeLimestoneBricks); - world.setBlock(i + 30, j + 4, k + 40, largeLimestoneBricks); - world.setBlock(i + 30, j + 4, k + 41, largeLimestoneBricks); - world.setBlock(i + 30, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 5, k + 40, largeLimestoneBricks); - world.setBlock(i + 30, j + 5, k + 41, largeLimestoneBricks); - world.setBlock(i + 30, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 16, Block.netherrack.blockID); - world.setBlock(i + 30, j + 7, k + 17, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 19, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 20, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 21, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 23, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 24, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 25, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 27, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 28, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 29, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 31, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 32, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 33, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 8, k + 16, Block.fire.blockID); - world.setBlock(i + 30, j + 8, k + 19, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 20, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 21, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 27, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 28, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 29, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 9, k + 19, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 20, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 21, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 27, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 28, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 29, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 17, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 19, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 20, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 21, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 23, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 24, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 25, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 27, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 28, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 29, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 31, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 32, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 33, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 31, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 31, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 43, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 30, largeLimestoneBricks); - - generate4(world, rand, i, j, k); - return true; - } - - public boolean generate4(World world, Random rand, int i, int j, int k) { - world.setBlock(i + 31, j + 3, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 30, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 30, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 43, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 14, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 30, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 43, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 30, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 30, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 30, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 43, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 32, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 32, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 18, largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 21, largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 24, largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 33, largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 36, largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 18, largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 21, largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 24, largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 27, largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 30, largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 33, largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 36, largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 18, largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 21, largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 24, largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 27, largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 30, largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 33, largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 36, largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 39, largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 18, largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 21, largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 24, largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 27, largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 30, largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 33, largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 36, largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 39, largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 33, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 33, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 34, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 34, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 34, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 34, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 34, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 34, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 35, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 35, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 36, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 36, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 37, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 37, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 12, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 18, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 21, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 24, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 33, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 36, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 45, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 12, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 18, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 21, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 24, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 27, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 30, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 33, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 36, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 45, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 9, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 10, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 11, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 12, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 13, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 14, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 15, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 16, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 17, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 18, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 19, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 20, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 21, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 22, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 23, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 24, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 25, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 26, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 27, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 28, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 29, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 30, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 31, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 32, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 33, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 34, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 35, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 36, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 37, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 38, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 39, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 40, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 41, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 42, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 43, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 44, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 45, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 46, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 47, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 48, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 0, j + 6, k + 8, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 9, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 10, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 11, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 12, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 13, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 14, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 15, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 16, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 17, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 18, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 19, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 20, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 21, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 22, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 23, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 24, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 25, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 26, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 27, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 28, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 29, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 30, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 31, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 32, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 33, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 34, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 35, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 36, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 37, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 38, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 39, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 40, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 41, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 42, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 43, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 44, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 45, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 46, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 47, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 48, largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 0, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlock(i + 1, j + 3, k + 9, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 12, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 15, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 18, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 21, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 24, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 27, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 30, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 33, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 36, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 39, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 42, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 45, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 12, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 15, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 18, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 21, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 24, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 27, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 30, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 33, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 36, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 39, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 42, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 45, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 1, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 1, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlock(i + 1, j + 7, k + 9, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 10, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 11, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 12, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 13, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 14, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 15, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 16, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 17, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 18, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 19, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 20, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 21, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 22, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 23, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 24, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 25, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 26, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 27, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 28, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 29, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 30, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 31, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 32, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 33, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 34, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 35, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 36, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 37, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 38, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 39, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 40, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 41, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 42, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 43, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 44, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 45, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 46, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 47, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 48, largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 2, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 2, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 2, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 2, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 3, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 3, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 3, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 3, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 4, j + 3, k + 9, smallLimestoneBricks); - world.setBlock(i + 4, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 4, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 4, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 4, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 4, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 4, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 4, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 5, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 5, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 5, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 5, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 6, j + 3, k + 15, smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 18, smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 21, smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 24, smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 27, smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 30, smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 33, smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 36, smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 39, smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 42, smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 15, smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 18, smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 21, smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 24, smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 27, smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 30, smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 33, smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 36, smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 39, smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 42, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 6, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 6, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 6, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 6, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 6, j + 8, k + 15, smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 18, smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 21, smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 24, smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 27, smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 30, smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 33, smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 36, smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 39, smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 42, smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 15, smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 18, smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 21, smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 24, smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 27, smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 30, smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 33, smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 36, smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 39, smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 42, smallLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 9, smallLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 14, smallLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 43, smallLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 14, smallLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 43, smallLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 7, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 7, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 7, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 7, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 7, j + 8, k + 14, smallLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 43, smallLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 14, smallLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 43, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 8, j + 2, k + 36, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 3, k + 37, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 4, k + 38, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 5, k + 39, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 6, k + 40, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 18, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 22, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 26, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 30, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 34, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 8, j + 10, k + 18, largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 8, j + 10, k + 22, largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 8, j + 10, k + 26, largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 8, j + 10, k + 30, largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 8, j + 10, k + 34, largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 9, j + 2, k + 36, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 3, k + 37, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 4, k + 38, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 5, k + 39, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 6, k + 40, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 9, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 10, j + 2, k + 21, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 10, j + 2, k + 35, largeLimestoneBricksStairs, 3); - world.setBlock(i + 10, j + 3, k + 9, smallLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 14, smallLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 43, smallLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 14, smallLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 43, smallLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 10, j + 5, k + 21, largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 10, j + 5, k + 27, largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 10, j + 5, k + 29, largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 10, j + 5, k + 35, largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 10, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 10, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 10, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 10, j + 7, k + 16, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 10, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 10, j + 8, k + 14, smallLimestoneBricks); - world.setBlock(i + 10, j + 8, k + 43, smallLimestoneBricks); - world.setBlock(i + 10, j + 9, k + 14, smallLimestoneBricks); - world.setBlock(i + 10, j + 9, k + 43, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 10, j + 10, k + 16, largeLimestoneBricksStairs, 7); - world.setBlock(i + 11, j + 3, k + 19, smallLimestoneBricks); - world.setBlock(i + 11, j + 3, k + 38, smallLimestoneBricks); - world.setBlock(i + 11, j + 4, k + 19, smallLimestoneBricks); - world.setBlock(i + 11, j + 4, k + 38, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 11, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 11, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 11, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 11, j + 7, k + 28, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 11, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 11, j + 8, k + 19, smallLimestoneBricks); - world.setBlock(i + 11, j + 8, k + 38, smallLimestoneBricks); - world.setBlock(i + 11, j + 9, k + 19, smallLimestoneBricks); - world.setBlock(i + 11, j + 9, k + 38, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 12, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 12, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 12, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 12, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 13, j + 2, k + 4, largeLimestoneBricksStairs); - world.setBlock(i + 13, j + 3, k + 9, smallLimestoneBricks); - world.setBlock(i + 13, j + 3, k + 14, smallLimestoneBricks); - world.setBlock(i + 13, j + 3, k + 43, smallLimestoneBricks); - world.setBlock(i + 13, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 14, smallLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 43, smallLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 13, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 13, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 13, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlock(i + 13, j + 7, k + 41, largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 13, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 13, j + 8, k + 14, smallLimestoneBricks); - world.setBlock(i + 13, j + 8, k + 43, smallLimestoneBricks); - world.setBlock(i + 13, j + 9, k + 14, smallLimestoneBricks); - world.setBlock(i + 13, j + 9, k + 43, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 13, j + 10, k + 41, largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 14, j + 2, k + 3, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 14, j + 2, k + 5, largeLimestoneBricksStairs, 3); - world.setBlock(i + 14, j + 2, k + 39, largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 14, j + 5, k + 39, largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 14, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 14, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 14, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 14, j + 7, k + 16, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 14, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 14, j + 10, k + 16, largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 15, j + 2, k + 4, largeLimestoneBricksStairs, 1); - world.setBlock(i + 15, j + 2, k + 26, largeLimestoneBricksStairs); - world.setBlock(i + 15, j + 2, k + 30, largeLimestoneBricksStairs); - world.setBlock(i + 15, j + 3, k + 24, largeLimestoneBricksStairs); - world.setBlock(i + 15, j + 3, k + 25, largeLimestoneBricksStairs); - world.setBlock(i + 15, j + 3, k + 31, largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 15, j + 3, k + 32, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 15, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 15, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 15, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 15, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 16, j + 2, k + 27, largeLimestoneBricksStairs); - world.setBlock(i + 16, j + 2, k + 28, largeLimestoneBricksStairs); - world.setBlock(i + 16, j + 2, k + 29, largeLimestoneBricksStairs); - world.setBlock(i + 16, j + 3, k + 9, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 16, j + 3, k + 24, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 16, j + 3, k + 32, largeLimestoneBricksStairs, 3); - world.setBlock(i + 16, j + 3, k + 43, smallLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 43, smallLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 16, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 16, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 16, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 16, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 16, j + 8, k + 14, smallLimestoneBricks); - world.setBlock(i + 16, j + 8, k + 43, smallLimestoneBricks); - world.setBlock(i + 16, j + 9, k + 14, smallLimestoneBricks); - world.setBlock(i + 16, j + 9, k + 43, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 17, j + 0, k + 6, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 1, k + 7, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 2, k + 24, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 2, k + 32, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 17, j + 3, k + 12, Block.torchWood.blockID, 4); - world.setBlockMetadataWithNotify(i + 17, j + 3, k + 26, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 17, j + 3, k + 30, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 17, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 17, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 7, k + 41, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 17, j + 10, k + 41, largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 18, j + 0, k + 6, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 18, j + 1, k + 7, largeLimestoneBricksStairs, 2); - world.setBlock(i + 18, j + 2, k + 14, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 18, j + 2, k + 17, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 18, j + 2, k + 25, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 18, j + 2, k + 31, largeLimestoneBricksStairs, 3); - world.setBlock(i + 18, j + 3, k + 14, smallLimestoneBricks); - world.setBlock(i + 18, j + 4, k + 14, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 18, j + 5, k + 39, largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 18, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 18, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 18, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 18, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 18, j + 8, k + 13, smallLimestoneBricks); - world.setBlock(i + 18, j + 8, k + 16, smallLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 16, smallLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 13, largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 19, j + 0, k + 6, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 19, j + 1, k + 7, largeLimestoneBricksStairs, 2); - world.setBlock(i + 19, j + 2, k + 14, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 19, j + 2, k + 25, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 19, j + 2, k + 31, largeLimestoneBricksStairs, 3); - world.setBlock(i + 19, j + 3, k + 43, smallLimestoneBricks); - world.setBlock(i + 19, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 19, j + 4, k + 14, smallLimestoneBricks); - world.setBlock(i + 19, j + 4, k + 43, smallLimestoneBricks); - world.setBlock(i + 19, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 19, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 19, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 19, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 19, j + 7, k + 19, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 19, j + 7, k + 38, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 19, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 19, j + 8, k + 43, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 19, j + 9, k + 16, largeLimestoneBricksStairs, 7); - world.setBlock(i + 19, j + 9, k + 43, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 20, j + 0, k + 6, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 20, j + 1, k + 7, largeLimestoneBricksStairs, 2); - world.setBlock(i + 20, j + 2, k + 14, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 20, j + 2, k + 25, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 20, j + 2, k + 31, largeLimestoneBricksStairs, 3); - world.setBlock(i + 20, j + 3, k + 14, smallLimestoneBricks); - world.setBlock(i + 20, j + 4, k + 14, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 20, j + 5, k + 39, largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 20, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 20, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 20, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 20, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 20, j + 8, k + 13, smallLimestoneBricks); - world.setBlock(i + 20, j + 8, k + 16, smallLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 16, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 20, j + 10, k + 13, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 21, j + 0, k + 6, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 1, k + 7, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 2, k + 24, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 2, k + 32, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 21, j + 3, k + 12, Block.torchWood.blockID, 4); - world.setBlockMetadataWithNotify(i + 21, j + 3, k + 26, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 21, j + 3, k + 30, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 21, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 21, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 7, k + 41, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 21, j + 10, k + 41, largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 22, j + 2, k + 27, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 22, j + 2, k + 28, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 22, j + 2, k + 29, largeLimestoneBricksStairs, 1); - world.setBlock(i + 22, j + 3, k + 9, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 22, j + 3, k + 24, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 22, j + 3, k + 32, largeLimestoneBricksStairs, 3); - world.setBlock(i + 22, j + 3, k + 43, smallLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 43, smallLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 22, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 22, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 22, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 22, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 22, j + 8, k + 14, smallLimestoneBricks); - world.setBlock(i + 22, j + 8, k + 43, smallLimestoneBricks); - world.setBlock(i + 22, j + 9, k + 14, smallLimestoneBricks); - world.setBlock(i + 22, j + 9, k + 43, smallLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 4, largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 23, j + 2, k + 26, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 23, j + 2, k + 30, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 23, j + 3, k + 24, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 23, j + 3, k + 25, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 23, j + 3, k + 31, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 23, j + 3, k + 32, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 23, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 23, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 23, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 23, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 24, j + 2, k + 3, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 24, j + 2, k + 5, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 24, j + 2, k + 39, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 24, j + 5, k + 39, largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 24, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 24, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 24, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 24, j + 7, k + 16, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 24, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 24, j + 10, k + 16, largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 25, j + 2, k + 4, largeLimestoneBricksStairs, 1); - world.setBlock(i + 25, j + 3, k + 9, smallLimestoneBricks); - world.setBlock(i + 25, j + 3, k + 14, smallLimestoneBricks); - world.setBlock(i + 25, j + 3, k + 43, smallLimestoneBricks); - world.setBlock(i + 25, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 14, smallLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 43, smallLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 25, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 25, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 25, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 25, j + 7, k + 41, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 25, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 25, j + 8, k + 14, smallLimestoneBricks); - world.setBlock(i + 25, j + 8, k + 43, smallLimestoneBricks); - world.setBlock(i + 25, j + 9, k + 14, smallLimestoneBricks); - world.setBlock(i + 25, j + 9, k + 43, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 25, j + 10, k + 41, largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 26, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 26, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 26, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 26, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 27, j + 3, k + 19, smallLimestoneBricks); - world.setBlock(i + 27, j + 3, k + 38, smallLimestoneBricks); - world.setBlock(i + 27, j + 4, k + 19, smallLimestoneBricks); - world.setBlock(i + 27, j + 4, k + 38, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 27, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 27, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 27, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 27, j + 7, k + 28, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 27, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 27, j + 8, k + 19, smallLimestoneBricks); - world.setBlock(i + 27, j + 8, k + 38, smallLimestoneBricks); - world.setBlock(i + 27, j + 9, k + 19, smallLimestoneBricks); - world.setBlock(i + 27, j + 9, k + 38, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 28, j + 2, k + 21, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 28, j + 2, k + 35, largeLimestoneBricksStairs, 3); - world.setBlock(i + 28, j + 3, k + 9, smallLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 14, smallLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 43, smallLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 14, smallLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 43, smallLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 28, j + 5, k + 21, largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 28, j + 5, k + 27, largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 28, j + 5, k + 29, largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 28, j + 5, k + 35, largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 28, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 28, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 28, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 28, j + 7, k + 16, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 28, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 28, j + 8, k + 14, smallLimestoneBricks); - world.setBlock(i + 28, j + 8, k + 43, smallLimestoneBricks); - world.setBlock(i + 28, j + 9, k + 14, smallLimestoneBricks); - world.setBlock(i + 28, j + 9, k + 43, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 28, j + 10, k + 16, largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 29, j + 2, k + 36, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 3, k + 37, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 4, k + 38, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 5, k + 39, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 6, k + 40, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 29, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 30, j + 2, k + 36, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 3, k + 37, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 4, k + 38, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 5, k + 39, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 6, k + 40, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 30, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlock(i + 30, j + 7, k + 18, largeLimestoneBricksStairs); - world.setBlock(i + 30, j + 7, k + 22, largeLimestoneBricksStairs); - world.setBlock(i + 30, j + 7, k + 26, largeLimestoneBricksStairs); - world.setBlock(i + 30, j + 7, k + 30, largeLimestoneBricksStairs); - world.setBlock(i + 30, j + 7, k + 34, largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 30, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 30, j + 10, k + 18, largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 30, j + 10, k + 22, largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 30, j + 10, k + 26, largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 30, j + 10, k + 30, largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 30, j + 10, k + 34, largeLimestoneBricksStairs, 4); - world.setBlock(i + 31, j + 3, k + 9, smallLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 14, smallLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 43, smallLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 14, smallLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 43, smallLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 31, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 31, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 31, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 31, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 31, j + 8, k + 14, smallLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 43, smallLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 14, smallLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 43, smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 15, smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 18, smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 21, smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 24, smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 27, smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 30, smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 33, smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 36, smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 39, smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 42, smallLimestoneBricks); - - generate5(world, rand, i, j, k); - return true; - } - - public boolean generate5(World world, Random rand, int i, int j, int k) { - world.setBlock(i + 32, j + 4, k + 15, smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 18, smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 21, smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 24, smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 27, smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 30, smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 33, smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 36, smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 39, smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 42, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 32, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 32, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 32, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 32, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 32, j + 8, k + 15, smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 18, smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 21, smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 24, smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 27, smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 30, smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 33, smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 36, smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 39, smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 42, smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 15, smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 18, smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 21, smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 24, smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 27, smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 30, smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 33, smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 36, smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 39, smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 42, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 33, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 33, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 33, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 33, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 34, j + 3, k + 9, smallLimestoneBricks); - world.setBlock(i + 34, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 34, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 34, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 34, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 34, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 34, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 34, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 35, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 35, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 35, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 35, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 36, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 36, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 36, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 36, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 37, j + 3, k + 9, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 12, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 15, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 18, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 21, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 24, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 27, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 30, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 33, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 36, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 39, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 42, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 45, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 12, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 15, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 18, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 21, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 24, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 27, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 30, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 33, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 36, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 39, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 42, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 45, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 37, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 37, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 10, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 11, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 12, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 13, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 14, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 15, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 16, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 17, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 18, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 19, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 20, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 21, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 22, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 23, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 24, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 25, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 26, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 27, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 28, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 29, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 30, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 31, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 32, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 33, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 34, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 35, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 36, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 37, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 38, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 39, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 40, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 41, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 42, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 43, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 44, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 45, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 46, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 47, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 48, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 9, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 10, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 11, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 12, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 13, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 14, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 15, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 16, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 17, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 18, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 19, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 20, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 21, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 22, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 23, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 24, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 25, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 26, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 27, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 28, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 29, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 30, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 31, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 32, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 33, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 34, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 35, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 36, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 37, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 38, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 39, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 40, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 41, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 42, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 43, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 44, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 45, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 46, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 47, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 48, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 49, largeLimestoneBricksStairs, 1); - - return true; - } - -} \ No newline at end of file diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenPalm.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenPalm.java deleted file mode 100644 index b6887df..0000000 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenPalm.java +++ /dev/null @@ -1,186 +0,0 @@ -package rebelkeithy.mods.atum.world.decorators; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; -import rebelkeithy.mods.atum.AtumBlocks; - -public class WorldGenPalm extends WorldGenerator -{ - /** The minimum height of a generated tree. */ - private final int minTreeHeight; - - /** The metadata value of the wood to use in tree generation. */ - private final int metaWood; - - /** The metadata value of the leaves to use in tree generation. */ - private final int metaLeaves; - - public WorldGenPalm(boolean par1) - { - this(par1, 5, 0, 0); - } - - public WorldGenPalm(boolean par1, int par2, int par3, int par4) - { - super(par1); - this.minTreeHeight = par2; - this.metaWood = par3; - this.metaLeaves = par4; - } - - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) - { - int l = par2Random.nextInt(3) + this.minTreeHeight; - boolean flag = true; - - int id = par1World.getBlockId(par3, par4 - 1, par5); - - if ((id == AtumBlocks.sand.blockID || id == AtumBlocks.fertileSoil.blockID || id == Block.dirt.blockID) && par4 >= 1 && par4 + l + 1 <= 256) - { - int i1; - byte b0; - int j1; - int k1; - - for (i1 = par4; i1 <= par4 + 1 + l; ++i1) - { - b0 = 1; - - if (i1 == par4) - { - b0 = 0; - } - - if (i1 >= par4 + 1 + l - 2) - { - b0 = 2; - } - - for (int l1 = par3 - b0; l1 <= par3 + b0 && flag; ++l1) - { - for (j1 = par5 - b0; j1 <= par5 + b0 && flag; ++j1) - { - if (i1 >= 0 && i1 < 256) - { - k1 = par1World.getBlockId(l1, i1, j1); - - Block block = Block.blocksList[k1]; - - if (k1 != 0 && - !block.isLeaves(par1World, l1, i1, j1) && - k1 != AtumBlocks.fertileSoil.blockID && - k1 != Block.dirt.blockID && - !block.isWood(par1World, l1, i1, j1)) - { - flag = false; - } - } - else - { - flag = false; - } - } - } - } - - if (!flag) - { - return false; - } - else - { - i1 = par1World.getBlockId(par3, par4 - 1, par5); - Block soil = Block.blocksList[i1]; - - if (par4 < 256 - l - 1) - { - if(soil != null) - soil.onPlantGrow(par1World, par3, par4 - 1, par5, par3, par4, par5); - b0 = 3; - byte b1 = 0; - int i2; - int j2; - int k2; - - spawnLeaf(par1World, par3, par4+l+1, par5); - - for(int x = -1; x <= 1; x++) - { - for(int z = -1; z <= 1; z++) - { - if(x != 0 || z != 0) - { - spawnLeaf(par1World, par3 + x, par4+l, par5 + z); - } - } - } - spawnLeaf(par1World, par3+2, par4+l, par5); - spawnLeaf(par1World, par3-2, par4+l, par5); - spawnLeaf(par1World, par3, par4+l, par5+2); - spawnLeaf(par1World, par3, par4+l, par5-2); - spawnLeaf(par1World, par3, par4+l-1, par5-2); - spawnLeaf(par1World, par3, par4+l-1, par5+2); - spawnLeaf(par1World, par3+2, par4+l-1, par5); - spawnLeaf(par1World, par3-2, par4+l-1, par5); - - spawnLeaf(par1World, par3, par4+l-1, par5-3); - spawnLeaf(par1World, par3, par4+l-1, par5+3); - spawnLeaf(par1World, par3+3, par4+l-1, par5); - spawnLeaf(par1World, par3-3, par4+l-1, par5); - - if (par2Random.nextInt(100) < 15) - { - par1World.setBlock(par3 + 1, par4 + l - 1, par5, AtumBlocks.dateBlock.blockID, 0, 0x02); - } - if (par2Random.nextInt(100) < 15) - { - par1World.setBlock(par3 - 1, par4 + l - 1, par5, AtumBlocks.dateBlock.blockID, 0, 0x02); - } - if (par2Random.nextInt(100) < 15) - { - par1World.setBlock(par3, par4 + l - 1, par5 + 1, AtumBlocks.dateBlock.blockID, 0, 0x02); - } - if (par2Random.nextInt(100) < 15) - { - par1World.setBlock(par3, par4 + l - 1, par5 - 1, AtumBlocks.dateBlock.blockID, 0, 0x02); - } - - for (j1 = 0; j1 <= l; ++j1) - { - k1 = par1World.getBlockId(par3, par4 + j1, par5); - - Block block = Block.blocksList[k1]; - - if (k1 == 0 || block == null || block.isLeaves(par1World, par3, par4 + j1, par5)) - { - this.setBlockAndMetadata(par1World, par3, par4 + j1, par5, AtumBlocks.log.blockID, this.metaWood); - } - } - - return true; - } - else - { - return false; - } - } - } - else - { - return false; - } - } - - public void spawnLeaf(World par1World, int x, int y, int z) - { - int j3 = par1World.getBlockId(x, y, z); - Block block = Block.blocksList[j3]; - if (block == null || block.canBeReplacedByLeaves(par1World, x, y, z)) - { - this.setBlockAndMetadata(par1World, x, y, z, AtumBlocks.leaves.blockID, this.metaLeaves); - } - } -} diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenPyramid.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenPyramid.java deleted file mode 100644 index e2878f0..0000000 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenPyramid.java +++ /dev/null @@ -1,247 +0,0 @@ -package rebelkeithy.mods.atum.world.decorators; - -import static net.minecraftforge.common.ForgeDirection.EAST; -import static net.minecraftforge.common.ForgeDirection.NORTH; -import static net.minecraftforge.common.ForgeDirection.SOUTH; -import static net.minecraftforge.common.ForgeDirection.WEST; - -import java.util.ArrayList; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumLoot; -import rebelkeithy.mods.atum.cursedchest.TileEntityPharaohChest; - -public class WorldGenPyramid extends WorldGenerator -{ - class Pair - { - public int x; - public int y; - - Pair(int x, int y) - { - this.x = x; - this.y = y; - } - - @Override - public boolean equals(Object p) - { - if(p instanceof Pair) - return ((Pair)p).x == x && ((Pair)p).y == y; - else - return false; - } - } - - @Override - public boolean generate(World world, Random random, int i, int j, int k) - { - if(random.nextFloat() > 0.3) - j -= 8; - - int width = 17; - int depth = 17; - - boolean[][] maze = new boolean[17][17]; - - ArrayList points = new ArrayList(); - - int zIn = 9; - - maze[0][zIn] = true; - generateMaze(maze, random, 1, zIn); - - - for(int y = -6; y < 10; y++) - { - for(int x = y; x <= width - y; x++) - { - for(int z = y; z <= depth - y; z++) - { - //int id = world.getBlockId(x+i, y+j+3, z+k); - //if(id == 0 || id == AtumBlocks.atumSand.blockID) - world.setBlock(x+i, y+j+3, z+k, AtumBlocks.largeBrick.blockID, 1, 0); - } - } - } - - for(int x = -3; x < width+3; x++) - { - for(int z = -3; z < depth+3; z++) - { - if(x >= 0 && x < width && z >= 0 && z < depth) - { - world.setBlock(x+i, j-1, z+k, AtumBlocks.stone.blockID); - if(!maze[x][z]) - { - if(random.nextFloat() > 0.1F) - world.setBlock(x+i, j, z+k, AtumBlocks.largeBrick.blockID, 1, 0); - else - placeTrap(world, x+i, j, z+k); - world.setBlock(x+i, j+1, z+k, AtumBlocks.largeBrick.blockID, 1, 0); - world.setBlock(x+i, j+2, z+k, AtumBlocks.largeBrick.blockID, 1, 0); - } else { - int meta = random.nextInt(5); - world.setBlock(x+i, j, z+k, AtumBlocks.sandLayered.blockID, meta, 0); - world.setBlockToAir(x+i, j+1, z+k); - world.setBlockToAir(x+i, j+2, z+k); - } - world.setBlock(x+i, j+3, z+k, AtumBlocks.largeBrick.blockID, 1, 0); - } - } - } - - world.setBlockToAir(i-1, j, k+zIn); - world.setBlockToAir(i-1, j+1, k+zIn); - world.setBlockToAir(i-2, j, k+zIn); - world.setBlockToAir(i-2, j+1, k+zIn); - world.setBlockToAir(i-3, j, k+zIn); - world.setBlockToAir(i-3, j+1, k+zIn); - world.setBlockToAir(i-4, j, k+zIn); - world.setBlockToAir(i-4, j+1, k+zIn); - - for(int y = 4; y < 8; y++) - { - for(int x = 6; x < 12; x++) - { - for(int z = 6; z < 12; z++) - { - world.setBlockToAir(i+x, j+y, k+z); - } - } - } - - world.setBlock(i+11, j+6, k+7, Block.torchWood.blockID, 2, 0); - world.setBlock(i+11, j+6, k+10, Block.torchWood.blockID, 2, 0); - - world.setBlock(i+ 10, j + 4, k + 8, AtumBlocks.pharaohChest.blockID, 0, 2); - try - { - TileEntityPharaohChest te = (TileEntityPharaohChest) world.getBlockTileEntity(i+ 10, j + 4, k + 8); - AtumLoot.fillChest(te, 15, 0.9f); - } catch(ClassCastException e){} - if(world.isAirBlock(i+7, j+1, k+7)) - { - placeLadders(world, i+7, j, k+7, 4); - }else{ - boolean found = false; - for(int dx = -1; dx <= 1; dx++) - { - if(found) - break; - - for(int dz = -1; dz <= 1; dz++) - { - if(world.isAirBlock(i+7+dx, j+1, k+7+dz)) - { - placeLadders(world, i+7+dx, j, k+7+dz, 3); - found = true; - break; - } - } - } - } - - - /*if(world.isAirBlock(i+7+1, j+1, k+7)) { - } - placeLadders(world, i+7+1, j+1, k+7, 4); - }else if(world.isAirBlock(i+7-1, j+1, k+7)) { - placeLadders(world, i+7-1, j+1, k+7, 4); - }else if(world.isAirBlock(i+7, j+1, k+7+1)) { - placeLadders(world, i+7, j+1, k+7+1, 4); - }else if(world.isAirBlock(i+7, j+1, k+7-1)) { - placeLadders(world, i+7, j+1, k+7-1, 4); - }*/ - return false; - } - - public void placeTrap(World world, int x, int y, int z) - { - int meta = 0; - if (world.isBlockSolidOnSide(x, y, z + 1, NORTH)) - { - meta = 2;; - } - - if (world.isBlockSolidOnSide(x, y, z - 1, SOUTH)) - { - meta = 3; - } - - if (world.isBlockSolidOnSide(x + 1, y, z, WEST)) - { - meta = 4; - } - - if (world.isBlockSolidOnSide(x - 1, y, z, EAST)) - { - meta = 5; - } - - world.setBlock(x, y, z, AtumBlocks.trapArrow.blockID, meta, 0); - } - - public void placeLadders(World world, int x, int y, int z, int height) - { - int meta = 0; - if (world.isBlockSolidOnSide(x, y, z + 1, NORTH)) - { - meta = 2;; - } - - if (world.isBlockSolidOnSide(x, y, z - 1, SOUTH)) - { - meta = 3; - } - - if (world.isBlockSolidOnSide(x + 1, y, z, WEST)) - { - meta = 4; - } - - if (world.isBlockSolidOnSide(x - 1, y, z, EAST)) - { - meta = 5; - } - - for(int i = 0; i < height; i++) - world.setBlock(x, y+i, z, Block.ladder.blockID, meta, 0); - } - - public void generateMaze(boolean[][] array, Random random, int x, int y) - { - int dx = 0; - int dy = 0; - - ArrayList choices = new ArrayList(); - do - { - choices.clear(); - if(x+2 < 16 && array[x+2][y] == false) - choices.add(new Pair(2, 0)); - if(x-2 >= 0 && array[x-2][y] == false) - choices.add(new Pair(-2, 0)); - if(y+2 < 16 && array[x][y+2] == false) - choices.add(new Pair(0, 2)); - if(y-2 >= 0 && array[x][y-2] == false) - choices.add(new Pair(0, -2)); - - if(choices.size() > 0) - { - int i = random.nextInt(choices.size()); - Pair choice = choices.get(i); - choices.remove(i); - array[choice.x+x][choice.y+y] = true; - array[x + choice.x/2][y + choice.y/2] = true; - generateMaze(array, random, x+choice.x, y+choice.y); - } - - }while (choices.size() > 0); - } -} diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenRuins.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenRuins.java deleted file mode 100644 index c1ff0bc..0000000 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenRuins.java +++ /dev/null @@ -1,112 +0,0 @@ -package rebelkeithy.mods.atum.world.decorators; - -import java.util.Random; - -import net.minecraft.inventory.IInventory; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumLoot; - -public class WorldGenRuins extends WorldGenerator -{ - - @Override - public boolean generate(World world, Random random, int i, int j, int k) - { - int width = random.nextInt(4) + 6; - int depth = random.nextInt(2) + 5; - - int x2; - int z2; - - int height = world.getHeightValue(i, k); - if(world.getHeightValue(i + width, k + depth) >= height) - { - x2 = i + width; - z2 = k + depth; - } else if(world.getHeightValue(i - width, k + depth) >= height) { - x2 = i - width; - z2 = k + depth; - }else if(world.getHeightValue(i + width, k - depth) >= height) { - x2 = i + width; - z2 = k - depth; - }else if(world.getHeightValue(i - width, k - depth) >= height) { - x2 = i - width; - z2 = k - depth; - }else{ - return false; - } - - for(int x = Math.min(x2, i); x <= Math.max(x2, i); x++) - { - for(int z = Math.min(z2, k); z <= Math.max(z2, k); z++) - { - int wallHeight = random.nextInt(4); - for(int y = -1; y < 15; y++) - { - if(x == x2 || z == z2 || x == i || z == k || y == -1) - { - if(y < wallHeight) - { - if(random.nextFloat() > 0.1) - { - world.setBlock(x, y + height, z, AtumBlocks.largeBrick.blockID); - } else { - world.setBlock(x, y + height, z, AtumBlocks.smallBrick.blockID); - } - } else if(y == wallHeight) - { - if(random.nextFloat() > 0.7) - { - if(random.nextFloat() > 0.1) - { - world.setBlock(x, y + height, z, AtumBlocks.slabs.blockID, 2, 0); - } else { - world.setBlock(x, y + height, z, AtumBlocks.slabs.blockID, 3, 0); - } - } - } - } else { - world.setBlockToAir(x, y + height, z); - } - } - } - } - - - - int chestX = width/2 + i; - int chestZ = Math.max(z2, k) - 1; - int meta = 0; - if(random.nextFloat() > 0.5) - { - chestX = random.nextInt(width-1) + 1 + Math.min(i, x2); - if(random.nextFloat() > 0.5) - { - chestZ = Math.max(z2, k) - 1; - meta = 3; - } else { - chestZ = Math.min(z2, k) + 1; - meta = 1; - } - } else { - chestZ = random.nextInt(depth-1) + 1 + Math.min(k, z2); - if(random.nextFloat() > 0.5) - { - chestX = Math.max(x2, i) - 1; - meta = 2; - } else { - chestX = Math.min(x2, i) + 1; - meta = 4; - } - } - int chestY = world.getHeightValue(chestX, chestZ); - world.setBlock(chestX, chestY, chestZ, AtumBlocks.cursedChest.blockID, 0, 2); - IInventory chest = (IInventory) world.getBlockTileEntity(chestX, chestY, chestZ); - AtumLoot.fillChest(chest, 5, 0.5F); - - return false; - } - -} diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenShrub.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenShrub.java deleted file mode 100644 index d72e10c..0000000 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenShrub.java +++ /dev/null @@ -1,39 +0,0 @@ -package rebelkeithy.mods.atum.world.decorators; - -import java.util.Random; - -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; -import rebelkeithy.mods.atum.AtumBlocks; - -public class WorldGenShrub extends WorldGenerator -{ - /** stores the ID for WorldGenDeadBush */ - private int deadBushID; - private int groupSize; - - public WorldGenShrub(int par1, int par2) - { - this.deadBushID = par1; - this.groupSize = par2; - } - - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) - { - int size = par2Random.nextInt(groupSize/2) + groupSize/2; - for (int i1 = 0; i1 < size; ++i1) - { - int range = 6; - int x = par3 + par2Random.nextInt(range+1) - range/2; - int z = par5 + par2Random.nextInt(range+1) - range/2; - int y = par1World.getHeightValue(x, z); - - if (par1World.isAirBlock(x, y, z) && AtumBlocks.shrub.canBlockStay(par1World, x, y, z)) - { - par1World.setBlock(x, y, z, deadBushID); - } - } - - return true; - } -} diff --git a/common/rebelkeithy/mods/metaitem/MetadataItem.java b/common/rebelkeithy/mods/metaitem/MetadataItem.java deleted file mode 100644 index 881a070..0000000 --- a/common/rebelkeithy/mods/metaitem/MetadataItem.java +++ /dev/null @@ -1,138 +0,0 @@ -package rebelkeithy.mods.metaitem; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EntityLiving; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -public class MetadataItem extends Item -{ - public class OutOffDamageValueBitsException extends RuntimeException { - public OutOffDamageValueBitsException(String message) { - super(message); - } - } - - public class DamageVariableDoesNotExistException extends RuntimeException { - public DamageVariableDoesNotExistException(String message) { - super(message); - } - } - - private List varNames; - private List varLengths; - int totalOffset; - - public MetadataItem(int par1) - { - super(par1); - varNames = new ArrayList(); - varLengths = new ArrayList(); - totalOffset = 0; - } - - public void addDamageVariable(String name, int bitlength) - { - int prevMaxDamage = this.getMaxDamage(); - - this.setMaxDamage(this.getMaxDamage() << bitlength); - totalOffset += bitlength; - - varNames.add(name); - varLengths.add(bitlength); - - if(prevMaxDamage < getMaxDamage()) - { - throw new OutOffDamageValueBitsException("Variable " + name + " of length " + bitlength + " caused max damage value to shift off the left"); - } - } - - public int getVar(int damage, String name) - { - return getDamageVariable(damage, name); - } - - public int getVar(ItemStack stack, String name) - { - return getDamageVariable(stack, name); - } - - public int getDamageVariable(ItemStack stack, String name) - { - int damage = stack.getItemDamage(); - - return getDamageVariable(damage, name); - } - - public int getDamageVariable(int damage, String name) - { - if(!varNames.contains(name)) - throw new DamageVariableDoesNotExistException("Items does not contain damage variable: " + name); - - for(int i = 0; i < varNames.size(); i++) - { - int length = varLengths.get(i); - if(varNames.get(i).equals(name)) - { - int mask = ~(Integer.MAX_VALUE << length); - damage = damage & mask; - break; - } else { - damage = damage >> length; - } - } - - return damage; - } - - /** - * set max damage of an Item - */ - @Override - public Item setMaxDamage(int par1) - { - long shiftedDamageLong = ((long)par1) << totalOffset; - int shiftedDamage = (int)shiftedDamageLong; - if(shiftedDamage != shiftedDamageLong) - throw new OutOffDamageValueBitsException("Setting damage to " + par1 + " caused an integer overflow. Damage variables use " + totalOffset + " bits"); - System.out.println(); - return super.setMaxDamage(shiftedDamage); - } - - /** - * Returns the maximum damage an item can take. - */ - @Override - public int getMaxDamage() - { - //return 0; - return super.getMaxDamage() >> totalOffset; - } - - public void damageItem(ItemStack stack, int amount, EntityLiving entity) - { - stack.damageItem(amount << totalOffset, entity); - } - - public void getSubItems(String string, int amount, int par1, CreativeTabs par2CreativeTabs, List par3List) - { - int offset = 0; - for(int i = 0; i < varNames.size(); i++) - { - if(varNames.get(i).equals(string)) - { - break; - } else { - offset += varLengths.get(i); - } - } - - for (int i = 0; i < amount; i++) - { - par3List.add(new ItemStack(par1, 1, i << offset)); - } - } -} diff --git a/common/rebelkeithy/mods/particleregistry/ParticleRegistry.java b/common/rebelkeithy/mods/particleregistry/ParticleRegistry.java deleted file mode 100644 index 49a3212..0000000 --- a/common/rebelkeithy/mods/particleregistry/ParticleRegistry.java +++ /dev/null @@ -1,64 +0,0 @@ -package rebelkeithy.mods.particleregistry; - -import java.lang.reflect.Constructor; -import java.lang.reflect.InvocationTargetException; -import java.util.HashMap; -import java.util.Map; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.particle.EntityFX; -import net.minecraft.world.World; - -public class ParticleRegistry -{ - private static Map> particleList = new HashMap>(); - - public static void registerParticle(String name, Class particle) - { - particleList.put(name, particle); - } - - @SideOnly(Side.CLIENT) - public static void spawnParticle(String string, World par1World, double x, double y, double z, double dx, double dy, double dz, double r, double g, double b) - { - Class entityClass = particleList.get(string); - if(entityClass != null) - { - Constructor entityConstructor; - try { - entityConstructor = entityClass.getConstructor(World.class, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE); - if(entityConstructor != null) - { - EntityFX entity = (EntityFX) entityConstructor.newInstance(par1World, x, y, z, dx, dy, dz, r, g, b); - Minecraft.getMinecraft().effectRenderer.addEffect(entity); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - } - - @SideOnly(Side.CLIENT) - public static void spawnParticle(String string, World par1World, double x, double y, double z, double r, double g, double b) - { - Class entityClass = particleList.get(string); - if(entityClass != null) - { - Constructor entityConstructor; - try { - entityConstructor = entityClass.getConstructor(World.class, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE); - if(entityConstructor != null) - { - EntityFX entity = (EntityFX) entityConstructor.newInstance(par1World, x, y, z, r, g, b); - //entity.setRBGColorF((float)r, (float)g, (float)b); - Minecraft.getMinecraft().effectRenderer.addEffect(entity); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - } -} \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..b761216 Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..678d9d8 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Wed Jul 02 15:54:47 CDT 2014 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-2.0-bin.zip diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..91a7e26 --- /dev/null +++ b/gradlew @@ -0,0 +1,164 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# For Cygwin, ensure paths are in UNIX format before anything is touched. +if $cygwin ; then + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` +fi + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >&- +APP_HOME="`pwd -P`" +cd "$SAVED" >&- + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..8a0b282 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/resources/README.md b/resources/README.md deleted file mode 100644 index 6ba0b10..0000000 --- a/resources/README.md +++ /dev/null @@ -1,4 +0,0 @@ -Atum -==== - -a minecraft modjam mod \ No newline at end of file diff --git a/resources/armor/diamond_1.png b/resources/armor/diamond_1.png deleted file mode 100644 index 14fecf2..0000000 Binary files a/resources/armor/diamond_1.png and /dev/null differ diff --git a/resources/armor/diamond_2.png b/resources/armor/diamond_2.png deleted file mode 100644 index 2cca056..0000000 Binary files a/resources/armor/diamond_2.png and /dev/null differ diff --git a/resources/mods/Atum/textures/blocks/portal.txt b/resources/mods/Atum/textures/blocks/portal.txt deleted file mode 100644 index e69de29..0000000 diff --git a/src/main/java/com/teammetallurgy/atum/Atum.java b/src/main/java/com/teammetallurgy/atum/Atum.java new file mode 100644 index 0000000..7913e48 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/Atum.java @@ -0,0 +1,73 @@ +package com.teammetallurgy.atum; + +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.entity.AtumEntities; +import com.teammetallurgy.atum.gui.AtumGuiHandler; +import com.teammetallurgy.atum.handler.AtumConfig; +import com.teammetallurgy.atum.handler.AtumCreativeTab; +import com.teammetallurgy.atum.handler.event.AtumEventListener; +import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.handler.CraftingHandler; +import com.teammetallurgy.atum.items.AtumLoot; +import com.teammetallurgy.atum.proxy.CommonProxy; +import com.teammetallurgy.atum.utils.Constants; +import com.teammetallurgy.atum.world.AtumWorlds; + +import cpw.mods.fml.common.Mod; +import cpw.mods.fml.common.Mod.EventHandler; +import cpw.mods.fml.common.Mod.Instance; +import cpw.mods.fml.common.SidedProxy; +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.network.NetworkRegistry; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraftforge.common.MinecraftForge; + +@Mod(modid = Constants.MODID, name = Constants.MOD_NAME, version = Constants.VERSION, dependencies = Constants.DEPENDENCIES,guiFactory = Constants.FACTORY) +public class Atum { + + @Instance(Constants.MODID) + public static Atum instance; + + @SidedProxy(clientSide = Constants.CLIENT, serverSide = Constants.SERVER) + public static CommonProxy proxy; + + public static CreativeTabs creativeTab = new AtumCreativeTab(); + + @EventHandler + public void preInit(FMLPreInitializationEvent event) { + Constants.LOG = event.getModLog(); + Constants.LOG.trace("Loading Configuration"); + new AtumConfig(event.getSuggestedConfigurationFile()); + + Constants.LOG.trace("Register Blocks"); + new AtumBlocks(); + + Constants.LOG.trace("Register Item"); + new AtumItems(); + + Constants.LOG.trace("Register Crafting Recipes"); + new CraftingHandler().register(); + } + + @EventHandler + public void init(FMLInitializationEvent event) { + Constants.LOG.trace("Register World"); + new AtumWorlds().register(); + + Constants.LOG.trace("Register Entity"); + new AtumEntities().register(); + + Constants.LOG.trace("Register Loot"); + new AtumLoot().register(); + + Constants.LOG.trace("Proxy Init"); + proxy.init(); + proxy.initRenders(); + proxy.initTiles(); + + MinecraftForge.EVENT_BUS.register(new AtumEventListener()); + + NetworkRegistry.INSTANCE.registerGuiHandler(this, new AtumGuiHandler()); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java new file mode 100644 index 0000000..d69fa7f --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -0,0 +1,190 @@ +package com.teammetallurgy.atum.blocks; + +import com.teammetallurgy.atum.Atum; +import com.teammetallurgy.atum.blocks.tileentity.TileEntityBurningTrap; +import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityChestSpawner; +import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; +import com.teammetallurgy.atum.blocks.tileentity.furnace.TileEntityLimestoneFurnace; +import com.teammetallurgy.atum.items.ItemBlockBricks; +import com.teammetallurgy.atum.items.ItemBlockStainedGlass; +import com.teammetallurgy.atum.utils.Constants; + +import cpw.mods.fml.common.registry.GameRegistry; +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraftforge.common.ForgeHooks; +import net.minecraftforge.oredict.OreDictionary; + +public class AtumBlocks { + public static BlockPortal BLOCK_PORTAL = new BlockPortal(); + public static Block BLOCK_CURSEDCHEST = new BlockChestSpawner(); + public static Block BLOCK_SAND = new BlockSands(); + public static Block BLOCK_STONE = new BlockAtumStone(); + public static Block BLOCK_WALL = new BlockWalls(BLOCK_STONE); + public static Block BLOCK_LIMESTONECOBBLE = new BlockAtum("cobble").setBlockTextureName("atum:AtumCobble"); + public static Block BLOCK_LARGEBRICK = new BlockAtumBricks("largeBrick").setBlockTextureName("atum:AtumBrickLarge"); + public static Block BLOCK_SMALLBRICK = new BlockAtum("smallBrick").setBlockTextureName("atum:AtumBrickSmall"); + public static Block BLOCK_CARVEDBRICK = new BlockAtum("carvedBrick").setBlockTextureName("atum:AtumBrickCarved"); + public static Block BLOCK_SLABS = new BlockAtumSlab(false).setBlockName("slab"); + public static Block BLOCK_DOUBLESLAB = new BlockAtumSlab(true).setBlockName("doubleSlab"); + public static Block BLOCK_SMOOTHSTAIRS = new BlockAtumStairs(BLOCK_STONE, 0).setBlockName("smoothStairs"); + public static Block BLOCK_COBBLESTAIRS = new BlockAtumStairs(BLOCK_LIMESTONECOBBLE, 0).setBlockName("cobbleStairs"); + public static Block BLOCK_LARGESTONESTAIRS = new BlockAtumStairs(BLOCK_LARGEBRICK, 0).setBlockName("largeStairs"); + public static Block BLOCK_LARGESTONESTAIRSBREAKABLE = new BlockAtumStairs(BLOCK_LARGEBRICK, 2).setBlockName("largeStairsBreakable").setHardness(2.0F).setResistance(10.0F); + public static Block BLOCK_SMALLSTONESTAIRS = new BlockAtumStairs(BLOCK_SMALLBRICK, 0).setBlockName("smallStairs"); + public static Block BLOCK_SANDLAYERED = new BlockSandLayered(); + public static Block BLOCK_CRACKEDLARGEBRICK = new BlockAtum("crackedLargeBrick").setBlockTextureName("atum:AtumCrackedLargeBrick"); + public static Block BLOCK_CRYSTALGLASS = new BlockAtumGlass("atum:AtumCrystalGlass").setBlockName("crystalGlass"); + public static Block BLOCK_CRYSTALSTAINEDGLASS = new BlockAtumGlassStained("atum:AtumCrystalGlass").setBlockName("crystalStainedGlass"); + public static Block BLOCK_FRAMEDGLASS = new BlockAtumGlass("atum:AtumFramedGlass").setBlockName("framedGlass"); + public static Block BLOCK_FRAMEDSTAINEDGLASS = new BlockAtumGlassStained("atum:AtumFramedGlass").setBlockName("framedStainedGlass"); + public static Block BLOCK_PALMSAPLING = new BlockPalmSapling(); + public static Block BLOCK_DATEBLOCK = new BlockDate(); + public static Block BLOCK_SHRUB = new BlockShrub().setBlockName("shrub").setBlockTextureName("atum:Shrub"); + public static Block BLOCK_WEED = new BlockShrub().setBlockName("weed").setBlockTextureName("atum:DeadBush"); + public static Block BLOCK_PAPYRUS = new BlockPapyrus(); + public static Block BLOCK_FLAX = new BlockFlax(); + public static Block BLOCK_FERTILESOIL = new BlockFertileSoil(); + public static Block BLOCK_FERTILESOILTILLED = new BlockFertileSoilTilled(); + public static Block BLOCK_LOG = new BlockPalmLog(); + public static Block BLOCK_LEAVES = new BlockLeave(); + public static Block BLOCK_PLANKS = new BlockAtumPlank(); + public static Block BLOCK_THINCRYSTALGLASS = new BlockAtumPane("atum:AtumCrystalGlass", "atum:thinglass_top").setBlockName("thinCrystalGlass"); + public static Block BLOCK_THINCRYSTALSTAINEDGLASS = new BlockAtumPaneStained("atum:AtumCrystalGlass", "atum:thinglass_top").setBlockName("thinCrystalStainedGlass"); + public static Block BLOCK_THINFRAMEDGLASS = new BlockAtumPane("atum:AtumFramedGlass", "atum:thinglass_top").setBlockName("thinFramedGlass"); + public static Block BLOCK_THINFRAMEDSTAINEDGLASS = new BlockAtumPaneStained("atum:AtumFramedGlass", "atum:thinglass_top").setBlockName("thinFramedStainedGlass"); + public static Block BLOCK_TRAPARROW = new BlockBurningTrap(); + public static Block BLOCK_PHARAOHCHEST = new BlockPharaohChest(); + public static Block BLOCK_REDSTONEORE = new BlockAtumRedstone(); + public static Block BLOCK_COALORE = new BlockAtumOres().setBlockName("coalOre").setBlockTextureName("atum:AtumCoal"); + public static Block BLOCK_IRONORE = new BlockAtumOres().setBlockName("ironOre").setBlockTextureName("atum:AtumIron"); + public static Block BLOCK_GOLDORE = new BlockAtumOres().setBlockName("goldOre").setBlockTextureName("atum:AtumGold"); + public static Block BLOCK_LAPISORE = new BlockAtumOres().setBlockName("lapisOre").setBlockTextureName("atum:AtumLapis"); + public static Block BLOCK_DIAMONDORE = new BlockAtumOres().setBlockName("diamondOre").setBlockTextureName("atum:AtumDiamond"); + public static Block BLOCK_FURNACEIDLE = new BlockLimeStoneFurnace(false).setBlockName("furnaceIdle"); + public static Block BLOCK_FURNACEBURNING = new BlockLimeStoneFurnace(true).setBlockName("furnaceBurning"); + + public AtumBlocks() { + registerBlocks(); + } + + public void registerBlocks() { + this.register(BLOCK_PORTAL); + this.register(BLOCK_CURSEDCHEST); + this.register(BLOCK_SAND); + this.register(BLOCK_STONE); + this.register(BLOCK_LIMESTONECOBBLE); + this.register(BLOCK_SMALLBRICK); + this.register(BLOCK_CARVEDBRICK); + this.register(BLOCK_SMOOTHSTAIRS); + this.register(BLOCK_COBBLESTAIRS); + this.register(BLOCK_LARGESTONESTAIRS); + this.register(BLOCK_LARGESTONESTAIRSBREAKABLE); + this.register(BLOCK_SMALLSTONESTAIRS); + this.register(BLOCK_SANDLAYERED); + this.register(BLOCK_CRACKEDLARGEBRICK); + this.register(BLOCK_CRYSTALGLASS); + this.register(BLOCK_FRAMEDGLASS); + this.register(BLOCK_PALMSAPLING); + this.register(BLOCK_DATEBLOCK); + this.register(BLOCK_SHRUB); + this.register(BLOCK_WEED); + this.register(BLOCK_PAPYRUS); + this.register(BLOCK_FLAX); + this.register(BLOCK_FERTILESOIL); + this.register(BLOCK_FERTILESOILTILLED); + this.register(BLOCK_LOG); + this.register(BLOCK_LEAVES); + this.register(BLOCK_PLANKS); + this.register(BLOCK_THINCRYSTALGLASS); + this.register(BLOCK_THINFRAMEDGLASS); + this.register(BLOCK_TRAPARROW); + this.register(BLOCK_PHARAOHCHEST); + this.register(BLOCK_REDSTONEORE); + this.register(BLOCK_COALORE); + this.register(BLOCK_IRONORE); + this.register(BLOCK_GOLDORE); + this.register(BLOCK_LAPISORE); + this.register(BLOCK_DIAMONDORE); + this.register(BLOCK_FURNACEIDLE); + this.register(BLOCK_FURNACEBURNING); + + GameRegistry.registerBlock(BLOCK_LARGEBRICK, ItemBlockBricks.class, BLOCK_LARGEBRICK.getUnlocalizedName()); + + GameRegistry.registerBlock(BLOCK_CRYSTALSTAINEDGLASS, ItemBlockStainedGlass.class, BLOCK_CRYSTALSTAINEDGLASS.getUnlocalizedName()); + GameRegistry.registerBlock(BLOCK_FRAMEDSTAINEDGLASS, ItemBlockStainedGlass.class, BLOCK_FRAMEDSTAINEDGLASS.getUnlocalizedName()); + + GameRegistry.registerBlock(BLOCK_THINCRYSTALSTAINEDGLASS, ItemBlockStainedGlass.class, BLOCK_THINCRYSTALSTAINEDGLASS.getUnlocalizedName()); + GameRegistry.registerBlock(BLOCK_THINFRAMEDSTAINEDGLASS, ItemBlockStainedGlass.class, BLOCK_THINFRAMEDSTAINEDGLASS.getUnlocalizedName()); + + GameRegistry.registerBlock(BLOCK_SLABS, ItemBlockSlab.class, BLOCK_SLABS.getUnlocalizedName()); + GameRegistry.registerBlock(BLOCK_DOUBLESLAB, ItemBlockSlab.class, BLOCK_DOUBLESLAB.getUnlocalizedName()); + + GameRegistry.registerBlock(BLOCK_WALL, ItemBlockWall.class, BLOCK_WALL.getUnlocalizedName()); + + ForgeHooks.canToolHarvestBlock(BLOCK_SAND, 0, new ItemStack(Items.iron_shovel)); + BLOCK_SAND.setHarvestLevel("shovel", 0); + BLOCK_COALORE.setHarvestLevel("pickaxe", 0); + BLOCK_IRONORE.setHarvestLevel("pickaxe", 1); + BLOCK_GOLDORE.setHarvestLevel("pickaxe", 2); + BLOCK_LAPISORE.setHarvestLevel("pickaxe", 1); + BLOCK_DIAMONDORE.setHarvestLevel("pickaxe", 2); + BLOCK_REDSTONEORE.setHarvestLevel("pickaxe", 2); + + Blocks.fire.setFireInfo(BLOCK_PLANKS, 5, 20); + Blocks.fire.setFireInfo(BLOCK_LEAVES, 30, 60); + Blocks.fire.setFireInfo(BLOCK_LOG, 5, 5); + + GameRegistry.registerTileEntity(TileEntityChestSpawner.class, "CursedChest"); + GameRegistry.registerTileEntity(TileEntityPharaohChest.class, "PharaohChest"); + GameRegistry.registerTileEntity(TileEntityBurningTrap.class, "BurningTrap"); + GameRegistry.registerTileEntity(TileEntityLimestoneFurnace.class, "LimestoneFurnace"); + + OreDictionary.registerOre("blockLimestone", BLOCK_STONE); + + OreDictionary.registerOre("logWood", BLOCK_LOG); + OreDictionary.registerOre("plankWood", BLOCK_PLANKS); + OreDictionary.registerOre("treeSapling", BLOCK_PALMSAPLING); + OreDictionary.registerOre("treeLeaves", BLOCK_LEAVES); + + OreDictionary.registerOre("oreGold", BLOCK_GOLDORE); + OreDictionary.registerOre("oreIron", BLOCK_IRONORE); + OreDictionary.registerOre("oreLapis", BLOCK_LAPISORE); + OreDictionary.registerOre("oreDiamond", BLOCK_DIAMONDORE); + OreDictionary.registerOre("oreRedstone", BLOCK_REDSTONEORE); + OreDictionary.registerOre("oreCoal", BLOCK_COALORE); + + OreDictionary.registerOre("blockGlass", BLOCK_CRYSTALGLASS); + OreDictionary.registerOre("blockGlass", new ItemStack(BLOCK_CRYSTALSTAINEDGLASS, 1, OreDictionary.WILDCARD_VALUE)); + + OreDictionary.registerOre("paneGlassColorless", BLOCK_THINCRYSTALGLASS); + OreDictionary.registerOre("paneGlass", BLOCK_THINCRYSTALGLASS); + OreDictionary.registerOre("paneGlass", new ItemStack(BLOCK_FRAMEDSTAINEDGLASS, 1, OreDictionary.WILDCARD_VALUE)); + + String[] oreColours = Constants.ORE_DIC_COLOURS; + + for (int i = 0; i < oreColours.length; i++ ){ + + ItemStack glass = new ItemStack(BLOCK_CRYSTALSTAINEDGLASS, 1, i); + ItemStack pane = new ItemStack(BLOCK_FRAMEDSTAINEDGLASS, 1, i); + + OreDictionary.registerOre("blockGlass" + oreColours[i], glass); + OreDictionary.registerOre("paneGlass" + oreColours[i], pane); + } + + // blocks unlocalized name + BLOCK_STONE = BLOCK_STONE.setBlockName("limestone"); + BLOCK_LARGESTONESTAIRS = BLOCK_LARGESTONESTAIRS.setBlockName("largeStairsUnbreakable"); + BLOCK_LARGESTONESTAIRSBREAKABLE = BLOCK_LARGESTONESTAIRSBREAKABLE.setBlockName("largeStairs"); + + } + + private void register(Block block) { + if (!(block instanceof BlockDate) && !(block instanceof BlockFlax) && !(block instanceof BlockPapyrus) && !(block instanceof BlockPortal)) { + block.setCreativeTab(Atum.creativeTab); + } + GameRegistry.registerBlock(block, block.getUnlocalizedName()); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java new file mode 100644 index 0000000..3e8515f --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java @@ -0,0 +1,15 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; + +public class BlockAtum extends Block { + + public BlockAtum(String unlocalisedName) { + super(Material.rock); + this.setBlockName(unlocalisedName); + this.setHardness(2.0F); + this.setResistance(10.0F); + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumBricks.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumBricks.java new file mode 100644 index 0000000..ee7333a --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumBricks.java @@ -0,0 +1,56 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.List; + +import com.teammetallurgy.atum.Atum; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.Entity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class BlockAtumBricks extends Block { + + public BlockAtumBricks(String unlocalisedName) { + super(Material.rock); + this.setBlockName(unlocalisedName); + this.setResistance(200000.0F); + this.setBlockUnbreakable(); + this.setCreativeTab(Atum.creativeTab); + } + + @Override + public int damageDropped(int meta) { + return meta; + } + + @Override + @SideOnly(Side.CLIENT) + @SuppressWarnings({ "rawtypes", "unchecked" }) + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + list.add(new ItemStack(this,1,0)); + list.add(new ItemStack(this,1,1)); + list.add(new ItemStack(this,1,2)); + } + + @Override + public float getBlockHardness(World world, int x, int y, int z) { + int meta = world.getBlockMetadata(x, y, z); + if (meta != 2) + return -1F; + return 2.0F; + } + + @Override + public float getExplosionResistance(Entity par1Entity, World world, int x, int y, int z, double explosionX, double explosionY, double explosionZ) { + int meta = world.getBlockMetadata(x, y, z); + if (meta != 2) + return 200000.0F; + return 1.0F; + } +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java new file mode 100644 index 0000000..53d18e4 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java @@ -0,0 +1,45 @@ +package com.teammetallurgy.atum.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockBreakable; +import net.minecraft.block.material.Material; + +import java.util.Random; + +public class BlockAtumGlass extends BlockBreakable { + + public BlockAtumGlass(String texture) { + super(texture, Material.glass, false); + this.setStepSound(Block.soundTypeGlass); + this.setHardness(0.3F); + } + + @Override + public int quantityDropped(Random rand) { + return 0; + } + + @Override + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() { + return 0; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + protected boolean canSilkHarvest() { + return true; + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlassStained.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlassStained.java new file mode 100644 index 0000000..f2b08f4 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlassStained.java @@ -0,0 +1,87 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.List; +import java.util.Random; + +import net.minecraft.block.BlockBreakable; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +import com.teammetallurgy.atum.Atum; +import com.teammetallurgy.atum.utils.Constants; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockAtumGlassStained extends BlockBreakable { + + private IIcon[] icons = new IIcon[16]; + private String[] colours = Constants.COLOURS; + + public BlockAtumGlassStained(String textureName) { + super(textureName, Material.glass, false); + this.setBlockTextureName(textureName); + this.setStepSound(soundTypeGlass); + this.setHardness(0.3F); + this.setCreativeTab(Atum.creativeTab); + } + + @Override + public int damageDropped(int meta) { + return meta; + } + + @Override + public int quantityDropped(Random random) { + return 0; + } + + @Override + protected boolean canSilkHarvest() { + return true; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + @SideOnly(Side.CLIENT) + @SuppressWarnings({ "rawtypes", "unchecked" }) + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + for (int meta = 0; meta < colours.length; meta++) { + list.add(new ItemStack(this, 1, meta)); + } + } + + @Override + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() { + return 1; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + for (int meta = 0; meta < colours.length; meta++){ + icons[meta] = register.registerIcon(getTextureName() + colours[meta]); + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + + if (meta < icons.length) { + return icons[meta]; + } + + return icons[0]; + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumOres.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumOres.java new file mode 100644 index 0000000..a41e7ad --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumOres.java @@ -0,0 +1,67 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockOre; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.util.MathHelper; + +import java.util.Random; + +public class BlockAtumOres extends BlockOre { + + public BlockAtumOres() { + super(); + this.setHardness(3.0F); + this.setResistance(5.0F); + this.setStepSound(Block.soundTypeStone); + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return this == AtumBlocks.BLOCK_COALORE ? Items.coal : (this == AtumBlocks.BLOCK_DIAMONDORE ? Items.diamond : (this == AtumBlocks.BLOCK_LAPISORE ? Items.dye : Item.getItemFromBlock(this))); + } + + @Override + public int quantityDropped(Random par1Random) { + return this == AtumBlocks.BLOCK_LAPISORE ? 4 + par1Random.nextInt(5) : 1; + } + + @Override + public int quantityDroppedWithBonus(int par1, Random par2Random) { + if (par1 > 0 && Item.getItemFromBlock(this) != this.getItemDropped(0, par2Random, par1)) { + int j = par2Random.nextInt(par1 + 2) - 1; + if (j < 0) { + j = 0; + } + + return this.quantityDropped(par2Random) * (j + 1); + } else { + return this.quantityDropped(par2Random); + } + } + + @Override + public void dropBlockAsItemWithChance(net.minecraft.world.World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { + super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, par7); + + if (this.getItemDropped(par5, par1World.rand, par7) != Item.getItemFromBlock(this)) { + int j1 = 0; + if (this == AtumBlocks.BLOCK_COALORE) { + j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 0, 2); + } else if (this == AtumBlocks.BLOCK_DIAMONDORE) { + j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 3, 7); + } else if (this == AtumBlocks.BLOCK_LAPISORE) { + j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 2, 5); + } + + this.dropXpOnBlockBreak(par1World, par2, par3, par4, j1); + } + + } + + @Override + public int damageDropped(int par1) { + return this == AtumBlocks.BLOCK_LAPISORE ? 4 : 0; + } +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPane.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPane.java new file mode 100644 index 0000000..3b8d4ad --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPane.java @@ -0,0 +1,15 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockPane; +import net.minecraft.block.material.Material; + +public class BlockAtumPane extends BlockPane { + + protected BlockAtumPane(String par2Str, String par3Str) { + super(par2Str, par3Str, Material.glass, false); + this.setHardness(0.3F); + this.setStepSound(Block.soundTypeGlass); + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPaneStained.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPaneStained.java new file mode 100644 index 0000000..c41861b --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPaneStained.java @@ -0,0 +1,92 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.List; + +import net.minecraft.block.BlockStainedGlassPane; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +import com.teammetallurgy.atum.Atum; +import com.teammetallurgy.atum.utils.Constants; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockAtumPaneStained extends BlockStainedGlassPane { + + private IIcon[] faceIcons = new IIcon[16]; + private IIcon[] edgeIcons = new IIcon[16]; + private String[] colours = Constants.COLOURS; + + public BlockAtumPaneStained(String faceTexture, String edgeTexture) { + super(); + this.setBlockTextureName(faceTexture); + this.setHardness(0.3F); + this.setStepSound(soundTypeGlass); + this.setCreativeTab(Atum.creativeTab); + } + + @Override + public int damageDropped(int meta) { + return meta; + } + + @Override + @SideOnly(Side.CLIENT) + @SuppressWarnings({ "rawtypes", "unchecked" }) + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + for (int meta = 0; meta < colours.length; meta++){ + list.add(new ItemStack(this, 1, meta)); + } + } + + @Override + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() { + return 1; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + + for (int meta = 0; meta < colours.length; meta++){ + faceIcons[meta] = register.registerIcon(getTextureName() + colours[meta]); + edgeIcons[meta] = register.registerIcon("atum:thinglass_top"); + } + + blockIcon = register.registerIcon (getTextureName()); + } + + // Retrieves face icon + + @Override + @SideOnly(Side.CLIENT) + public IIcon func_149735_b(int side, int meta) { + if ( meta < colours.length) { + return faceIcons[meta]; + } + return faceIcons[0]; + } + + // gets edge icon + @Override + @SideOnly(Side.CLIENT) + public IIcon func_150104_b(int meta) { + if ( meta < colours.length) { + return edgeIcons[meta]; + } + return edgeIcons[0]; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return this.func_149735_b(side, meta); + } + + +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPlank.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPlank.java new file mode 100644 index 0000000..e86f60e --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPlank.java @@ -0,0 +1,17 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; + +public class BlockAtumPlank extends Block { + + protected BlockAtumPlank() { + super(Material.wood); + this.setBlockName("palmPlanks"); + this.setHardness(2.0F); + this.setResistance(5.0F); + this.setStepSound(Block.soundTypeWood); + this.setBlockTextureName("atum:Planks"); + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java new file mode 100644 index 0000000..59ae1d0 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java @@ -0,0 +1,121 @@ +package com.teammetallurgy.atum.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +import java.util.Random; + +public class BlockAtumRedstone extends Block { + + public BlockAtumRedstone() { + super(Material.rock); + this.setBlockName("redstoneOre"); + this.setBlockTextureName("atum:AtumRedstone"); + this.setHardness(3.0F); + this.setResistance(5.0F); + this.setStepSound(Block.soundTypeStone); + } + + @Override + public int getLightValue(IBlockAccess world, int x, int y, int z) { + return world.getBlockMetadata(x, y, z) == 1 ? 9 : 0; + } + + @Override + public void onBlockClicked(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer) { + this.glow(par1World, par2, par3, par4); + super.onBlockClicked(par1World, par2, par3, par4, par5EntityPlayer); + } + + @Override + public void onEntityWalking(World par1World, int par2, int par3, int par4, Entity par5Entity) { + this.glow(par1World, par2, par3, par4); + super.onEntityWalking(par1World, par2, par3, par4, par5Entity); + } + + @Override + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + this.glow(par1World, par2, par3, par4); + return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9); + } + + private void glow(World par1World, int par2, int par3, int par4) { + this.sparkle(par1World, par2, par3, par4); + Block meta = par1World.getBlock(par2, par3, par4); + if (meta != Blocks.stone) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); + } + + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + int meta = par1World.getBlockMetadata(par2, par3, par4); + if (meta == 1) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); + } + + } + + @Override + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { + int meta = par1World.getBlockMetadata(par2, par3, par4); + if (meta == 1) { + this.sparkle(par1World, par2, par3, par4); + } + + } + + private void sparkle(World par1World, int par2, int par3, int par4) { + Random random = par1World.rand; + double d0 = 0.0625D; + + for (int l = 0; l < 6; ++l) { + double d1 = (double) ((float) par2 + random.nextFloat()); + double d2 = (double) ((float) par3 + random.nextFloat()); + double d3 = (double) ((float) par4 + random.nextFloat()); + if (l == 0 && !par1World.getBlock(par2, par3 + 1, par4).isOpaqueCube()) { + d2 = (double) (par3 + 1) + d0; + } + + if (l == 1 && !par1World.getBlock(par2, par3 - 1, par4).isOpaqueCube()) { + d2 = (double) (par3 + 0) - d0; + } + + if (l == 2 && !par1World.getBlock(par2, par3, par4 + 1).isOpaqueCube()) { + d3 = (double) (par4 + 1) + d0; + } + + if (l == 3 && !par1World.getBlock(par2, par3, par4 - 1).isOpaqueCube()) { + d3 = (double) (par4 + 0) - d0; + } + + if (l == 4 && !par1World.getBlock(par2 + 1, par3, par4).isOpaqueCube()) { + d1 = (double) (par2 + 1) + d0; + } + + if (l == 5 && !par1World.getBlock(par2 - 1, par3, par4).isOpaqueCube()) { + d1 = (double) (par2 + 0) - d0; + } + + if (d1 < (double) par2 || d1 > (double) (par2 + 1) || d2 < 0.0D || d2 > (double) (par3 + 1) || d3 < (double) par4 || d3 > (double) (par4 + 1)) { + par1World.spawnParticle("reddust", d1, d2, d3, 0.0D, 0.0D, 0.0D); + } + } + + } + + @Override + protected ItemStack createStackedBlock(int par1) { + return new ItemStack(AtumBlocks.BLOCK_REDSTONEORE); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumSlab.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumSlab.java new file mode 100644 index 0000000..fec3346 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumSlab.java @@ -0,0 +1,59 @@ +package com.teammetallurgy.atum.blocks; + +import com.teammetallurgy.atum.Atum; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.BlockSlab; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +import java.util.List; + +public class BlockAtumSlab extends BlockSlab { + public static final String[] slabType = {"smooth", "cracked", "largeBrick", "smallBrick"}; + + public BlockAtumSlab(boolean par2) { + super(par2, Material.rock); + this.setHardness(2.0F); + this.setCreativeTab(Atum.creativeTab); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int par1, int par2) { + par2 %= 4; + if (par2 == 0) + return AtumBlocks.BLOCK_STONE.getIcon(par1, par2 & 0x7); + if (par2 == 1) + return AtumBlocks.BLOCK_LIMESTONECOBBLE.getIcon(par1, par2 & 0x7); + if (par2 == 2) { + return AtumBlocks.BLOCK_LARGEBRICK.getIcon(par1, par2 & 0x7); + } + return AtumBlocks.BLOCK_SMALLBRICK.getIcon(par1, par2 & 0x7); + } + + @Override + protected ItemStack createStackedBlock(int par1) { + return new ItemStack(this, 2, par1 & 0x7); + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubBlocks(Item par1, CreativeTabs tab, List subItems) { + for (int i = 0; i < 4; i++) + subItems.add(new ItemStack(this, 1, i)); + } + + @Override + public String func_150002_b(int var1) { + return this.getUnlocalizedName(); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister p_149651_1_) { + } +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStairs.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStairs.java new file mode 100644 index 0000000..ce97dc4 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStairs.java @@ -0,0 +1,12 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockStairs; + +public class BlockAtumStairs extends BlockStairs { + + protected BlockAtumStairs(Block par2Block, int par3) { + super(par2Block, par3); + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStone.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStone.java new file mode 100644 index 0000000..d41b1c2 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStone.java @@ -0,0 +1,30 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockStone; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.Item; + +import java.util.Random; + +public class BlockAtumStone extends BlockStone { + + public BlockAtumStone() { + super(); + this.setBlockName("stone"); + this.setStepSound(Block.soundTypeStone); + this.setHardness(1.5F); + this.setResistance(10.0F); + } + + @Override + public Item getItemDropped(int p_149650_1_, Random rand, int p_149650_3_) { + return Item.getItemFromBlock(AtumBlocks.BLOCK_LIMESTONECOBBLE); + } + + @Override + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:AtumStone"); + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockBurningTrap.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockBurningTrap.java new file mode 100644 index 0000000..4233a6e --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockBurningTrap.java @@ -0,0 +1,144 @@ +package com.teammetallurgy.atum.blocks; + +import com.teammetallurgy.atum.blocks.tileentity.TileEntityBurningTrap; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.BlockPistonBase; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.dispenser.BehaviorDefaultDispenseItem; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.IIcon; +import net.minecraft.util.IRegistry; +import net.minecraft.util.RegistryDefaulted; +import net.minecraft.world.World; + +import java.util.Random; + +public class BlockBurningTrap extends BlockContainer { + + public static final IRegistry dispenseBehaviorRegistry = new RegistryDefaulted(new BehaviorDefaultDispenseItem()); + protected Random random = new Random(); + @SideOnly(Side.CLIENT) + protected IIcon fireTrap; + + public BlockBurningTrap() { + super(Material.rock); + this.setBlockName("burningTrap"); + this.setCreativeTab(CreativeTabs.tabRedstone); + this.setHardness(-1.0F); + } + + public static EnumFacing getFacing(int par0) { + return EnumFacing.getFront(par0 & 7); + } + + @Override + public float getBlockHardness(World par1World, int par2, int par3, int par4) { + return par1World.getBlock(par2, par3 + 1, par4) == AtumBlocks.BLOCK_LARGEBRICK && par1World.getBlockMetadata(par2, par3 + 1, par4) == 1 ? -1.0F : super.blockHardness; + } + + @Override + public int tickRate(World par1World) { + return 4; + } + + @Override + public void onBlockAdded(World par1World, int par2, int par3, int par4) { + super.onBlockAdded(par1World, par2, par3, par4); + this.setDispenserDefaultDirection(par1World, par2, par3, par4); + } + + private void setDispenserDefaultDirection(World par1World, int par2, int par3, int par4) { + if (!par1World.isRemote) { + Block l = par1World.getBlock(par2, par3, par4 - 1); + Block i1 = par1World.getBlock(par2, par3, par4 + 1); + Block j1 = par1World.getBlock(par2 - 1, par3, par4); + Block k1 = par1World.getBlock(par2 + 1, par3, par4); + byte b0 = 3; + if (l.isOpaqueCube() && !i1.isOpaqueCube()) { + b0 = 3; + } + + if (i1.isOpaqueCube() && !l.isOpaqueCube()) { + b0 = 2; + } + + if (j1.isOpaqueCube() && !k1.isOpaqueCube()) { + b0 = 5; + } + + if (k1.isOpaqueCube() && !j1.isOpaqueCube()) { + b0 = 4; + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 2); + } + + } + + @SideOnly(Side.CLIENT) + @Override + public IIcon getIcon(int par1, int par2) { + if (par2 == 0) { + par2 = 3; + } + + int k = par2 & 7; + return par1 == k ? (k != 1 && k != 0 ? this.fireTrap : this.fireTrap) : (k != 1 && k != 0 ? (par1 != 1 && par1 != 0 ? super.blockIcon : this.blockIcon) : this.blockIcon); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:TrapSide"); + this.fireTrap = par1IIconRegister.registerIcon("atum:TrapFire"); + } + + @Override + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + if (par1World.isRemote) { + return true; + } else { + TileEntityBurningTrap tileEntityBurningTrap = (TileEntityBurningTrap) par1World.getTileEntity(par2, par3, par4); + if (tileEntityBurningTrap != null) { + ; + } + + return true; + } + } + + @Override + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { + boolean flag = par1World.isBlockIndirectlyGettingPowered(par2, par3, par4) || par1World.isBlockIndirectlyGettingPowered(par2, par3 + 1, par4); + int i1 = par1World.getBlockMetadata(par2, par3, par4); + boolean flag1 = (i1 & 8) != 0; + if (flag && !flag1) { + par1World.scheduleBlockUpdate(par2, par3, par4, this, this.tickRate(par1World)); + par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 | 8, 4); + } else if (!flag && flag1) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 & -9, 4); + } + + } + + @Override + public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) { + int l = BlockPistonBase.determineOrientation(par1World, par2, par3, par4, par5EntityLiving); + par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); + } + + @Override + public TileEntity createNewTileEntity(World var1, int var2) { + return new TileEntityBurningTrap(); + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java new file mode 100644 index 0000000..702e90f --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java @@ -0,0 +1,194 @@ +package com.teammetallurgy.atum.blocks; + +import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityChestSpawner; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.passive.EntityOcelot; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import java.util.Iterator; +import java.util.Random; + +public class BlockChestSpawner extends BlockContainer { + + protected BlockChestSpawner() { + super(Material.wood); + this.setBlockName("chestSpawner"); + this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); + } + + public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) { + Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getBoundingBox((double) par1, (double) (par2 + 1), (double) par3, (double) (par1 + 1), (double) (par2 + 2), (double) (par3 + 1))).iterator(); + + while (iterator.hasNext()) { + EntityOcelot entityocelot1 = (EntityOcelot) iterator.next(); + if (entityocelot1.isSitting()) { + return true; + } + } + + return false; + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return Item.getItemFromBlock(Blocks.chest); + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public int getRenderType() { + return 22; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { + this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); + } + + @Override + public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) { + Block l = par1World.getBlock(par2, par3, par4 - 1); + Block i1 = par1World.getBlock(par2, par3, par4 + 1); + Block j1 = par1World.getBlock(par2 - 1, par3, par4); + Block k1 = par1World.getBlock(par2 + 1, par3, par4); + byte b0 = 0; + int l1 = MathHelper.floor_double((double) (par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + if (l1 == 0) { + b0 = 2; + } + + if (l1 == 1) { + b0 = 5; + } + + if (l1 == 2) { + b0 = 3; + } + + if (l1 == 3) { + b0 = 4; + } + + if (l != this && i1 != this && j1 != this && k1 != this) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } else { + if ((l == this || i1 == this) && (b0 == 4 || b0 == 5)) { + if (l == this) { + par1World.setBlockMetadataWithNotify(par2, par3, par4 - 1, b0, 3); + } else { + par1World.setBlockMetadataWithNotify(par2, par3, par4 + 1, b0, 3); + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } + + if ((j1 == this || k1 == this) && (b0 == 2 || b0 == 3)) { + if (j1 == this) { + par1World.setBlockMetadataWithNotify(par2 - 1, par3, par4, b0, 3); + } else { + par1World.setBlockMetadataWithNotify(par2 + 1, par3, par4, b0, 3); + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } + } + + if (par6ItemStack.hasDisplayName()) { + ((TileEntityChestSpawner) par1World.getTileEntity(par2, par3, par4)).func_145976_a(par6ItemStack.getDisplayName()); + } + + } + + @Override + public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { + par1World.func_147453_f(par2, par3, par4, par5); + super.breakBlock(par1World, par2, par3, par4, par5, par6); + } + + @Override + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + if (par1World.isRemote) { + return true; + } else { + IInventory iinventory = this.getInventory(par1World, par2, par3, par4); + if (iinventory != null) { + par5EntityPlayer.displayGUIChest(iinventory); + } + + return true; + } + } + + public IInventory getInventory(World par1World, int par2, int par3, int par4) { + TileEntityChestSpawner object = (TileEntityChestSpawner) par1World.getTileEntity(par2, par3, par4); + return object == null ? null : (par1World.isSideSolid(par2, par3 + 1, par4, ForgeDirection.DOWN) ? null : (isOcelotBlockingChest(par1World, par2, par3, par4) ? null : (IInventory) object)); + } + + @Override + public TileEntity createNewTileEntity(World par1World, int par2) { + TileEntityChestSpawner tileEntityChestSpawner = new TileEntityChestSpawner(); + return tileEntityChestSpawner; + } + + @Override + public boolean canProvidePower() { + return true; + } + + @Override + public int isProvidingWeakPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + if (!this.canProvidePower()) { + return 0; + } else { + int i1 = ((TileEntityChestSpawner) par1IBlockAccess.getTileEntity(par2, par3, par4)).numPlayersUsing; + return MathHelper.clamp_int(i1, 0, 15); + } + } + + @Override + public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + return par5 == 1 ? this.isProvidingWeakPower(par1IBlockAccess, par2, par3, par4, par5) : 0; + } + + @Override + public boolean hasComparatorInputOverride() { + return true; + } + + @Override + public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) { + return Container.calcRedstoneFromInventory(this.getInventory(par1World, par2, par3, par4)); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("log_oak"); + } +} \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java new file mode 100644 index 0000000..9b71250 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java @@ -0,0 +1,71 @@ +package com.teammetallurgy.atum.blocks; + +import com.teammetallurgy.atum.items.AtumItems; +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +import java.util.Random; + +public class BlockDate extends Block { + + public int renderID = RenderingRegistry.getNextAvailableRenderId(); + + public BlockDate() { + super(Material.plants); + this.setBlockName("date"); + this.setHardness(0.5F); + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public int getRenderType() { + return renderID; + } + + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block p_149695_5_) { + if (world.getBlock(x, y + 1, z) != AtumBlocks.BLOCK_LEAVES && !world.isRemote) { + EntityItem entityItem = new EntityItem(world, (double) x, (double) y, (double) z, new ItemStack(AtumItems.ITEM_DATE, 0, this.quantityDropped(new Random()))); + entityItem.dropItem(AtumItems.ITEM_DATE, this.quantityDropped(new Random())); + world.setBlockToAir(x, y, z); + } + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return AtumItems.ITEM_DATE; + } + + @Override + public int quantityDropped(Random rand) { + return rand.nextInt(3) + 1; + } + + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { + return new ItemStack(AtumItems.ITEM_DATE); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegistry) { + this.blockIcon = iconRegistry.registerIcon("atum:AtumDate"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java new file mode 100644 index 0000000..6b1a70c --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java @@ -0,0 +1,131 @@ +package com.teammetallurgy.atum.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockFarmland; +import net.minecraft.block.BlockFlower; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.EnumPlantType; +import net.minecraftforge.common.IPlantable; +import net.minecraftforge.common.util.ForgeDirection; + +import java.util.Random; + +public class BlockFertileSoil extends BlockFarmland { + @SideOnly(Side.CLIENT) + private IIcon iconGrassTop; + + @SideOnly(Side.CLIENT) + private IIcon iconGrassSideOverlay; + + @SideOnly(Side.CLIENT) + private IIcon iconDirt; + + public BlockFertileSoil() { + super(); + this.setBlockName("fertileSoil"); + this.setHardness(0.5F); + this.setStepSound(Block.soundTypeGrass); + setTickRandomly(true); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int par1, int par2) { + if (par2 == 1) { + return this.iconDirt; + } + return par1 == 0 ? Blocks.dirt.getBlockTextureFromSide(par1) : par1 == 1 ? this.iconGrassTop : this.blockIcon; + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if (!par1World.isRemote) { + if ((par1World.getBlockLightValue(par2, par3 + 1, par4) < 4) && (par1World.getBlockLightOpacity(par2, par3 + 1, par4) > 2)) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); + } else if (par1World.getBlockLightValue(par2, par3 + 1, par4) >= 9) { + for (int l = 0; l < 4; l++) { + int i1 = par2 + par5Random.nextInt(3) - 1; + int j1 = par3 + par5Random.nextInt(5) - 3; + int k1 = par4 + par5Random.nextInt(3) - 1; + Block l1 = par1World.getBlock(i1, j1 + 1, k1); + + if ((par1World.getBlock(i1, j1, k1) == this) && (par1World.getBlockMetadata(i1, j1, k1) == 1) && (par1World.getBlockLightValue(i1, j1 + 1, k1) >= 4) && (par1World.getBlockLightOpacity(i1, j1 + 1, k1) <= 2)) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); + } + } + } + } + } + + @Override + public void onFallenUpon(World world, int x, int y, int z, Entity entity, float par5Random) {} + + @Override + public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { + EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); + + if ((plant instanceof BlockFlower)) { + return true; + } + + if (plantType == EnumPlantType.Beach) { + boolean hasWater = (world.getBlock(x - 1, y, z).getMaterial() == Material.water) || (world.getBlock(x + 1, y, z).getMaterial() == Material.water) || (world.getBlock(x, y, z - 1).getMaterial() == Material.water) || (world.getBlock(x, y, z + 1).getMaterial() == Material.water); + + return hasWater; + } + + return false; + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return Item.getItemFromBlock(AtumBlocks.BLOCK_SAND); + } + + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { + return new ItemStack(this); + } + + @Override + public IIcon getIcon(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + if (par1IBlockAccess.getBlockMetadata(par2, par3, par4) == 1) { + return this.iconDirt; + } + + if (par5 == 1) { + return this.iconGrassTop; + } + if (par5 == 0) { + return AtumBlocks.BLOCK_SAND.getBlockTextureFromSide(par5); + } + + return this.blockIcon; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:FertileSoilSide"); + this.iconDirt = par1IIconRegister.registerIcon("atum:FertileSoil"); + this.iconGrassTop = par1IIconRegister.registerIcon("atum:FertileSoilTop"); + this.iconGrassSideOverlay = par1IIconRegister.registerIcon("grass_side_overlay"); + } + + @SideOnly(Side.CLIENT) + public IIcon getIconSideOverlay() { + return this.iconGrassSideOverlay; + } +} \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java new file mode 100644 index 0000000..7533918 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java @@ -0,0 +1,180 @@ +package com.teammetallurgy.atum.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.IIcon; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.EnumPlantType; +import net.minecraftforge.common.IPlantable; +import net.minecraftforge.common.util.ForgeDirection; + +import java.util.Random; + +public class BlockFertileSoilTilled extends Block { + @SideOnly(Side.CLIENT) + private IIcon farmlandWet; + @SideOnly(Side.CLIENT) + private IIcon farmlandDry; + + public BlockFertileSoilTilled() { + super(Material.ground); + this.setHardness(0.5F); + this.setBlockName("fertileSoilTilled"); + this.setTickRandomly(true); + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.9375F, 1.0F); + this.setLightOpacity(255); + } + + @Override + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { + int enchanted = (par1World.getBlockMetadata(par2, par3, par4) & 4 & 4) >> 2; + if (enchanted == 1 && par5Random.nextDouble() > 0.6D) { + double d0 = par5Random.nextGaussian() * 0.02D; + double d1 = par5Random.nextGaussian() * 0.02D; + double d2 = par5Random.nextGaussian() * 0.02D; + par1World.spawnParticle("happyVillager", (double) ((float) par2 + par5Random.nextFloat()), (double) par3 + (double) par5Random.nextFloat() * this.getBlockBoundsMaxY() * 0.4D + 1.0D, (double) ((float) par4 + par5Random.nextFloat()), d0, d1, d2); + } + + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { + return AxisAlignedBB.getBoundingBox((double) (par2 + 0), (double) (par3 + 0), (double) (par4 + 0), (double) (par2 + 1), (double) (par3 + 1), (double) (par4 + 1)); + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int par1, int par2) { + return par2 >> 3 == 0 ? (par1 == 1 ? (par2 > 0 ? this.farmlandWet : this.farmlandDry) : AtumBlocks.BLOCK_FERTILESOIL.getIcon(par1, 1)) : Blocks.farmland.getIcon(par1, par2); + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + int meta = par1World.getBlockMetadata(par2, par3, par4); + if (!this.isWaterNearby(par1World, par2, par3, par4) && !par1World.canLightningStrikeAt(par2, par3 + 1, par4)) { + if ((meta & 3) > 0 && Math.random() > 0.5D) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, meta - 1, 2); + } else if (!this.isCropsNearby(par1World, par2, par3, par4)) { + this.revertToDirt(par1World, par2, par3, par4); + } + } else { + par1World.setBlockMetadataWithNotify(par2, par3, par4, meta | 3, 2); + } + + Block block = par1World.getBlock(par2, par3 + 1, par4); + if (block != null) { + for (int i = 0; i < 2; ++i) { + block.updateTick(par1World, par2, par3 + 1, par4, par5Random); + } + } + + } + + @Override + public void onFallenUpon(World par1World, int par2, int par3, int par4, Entity par5Entity, float par6) { + if (!par1World.isRemote && par1World.rand.nextFloat() < par6 - 0.5F) { + if (!(par5Entity instanceof EntityPlayer) && !par1World.getGameRules().getGameRuleBooleanValue("mobGriefing")) { + return; + } + + this.revertToDirt(par1World, par2, par3, par4); + } + + } + + private boolean isCropsNearby(World par1World, int par2, int par3, int par4) { + byte b0 = 0; + + for (int l = par2 - b0; l <= par2 + b0; ++l) { + for (int i1 = par4 - b0; i1 <= par4 + b0; ++i1) { + Block j1 = par1World.getBlock(l, par3 + 1, i1); + if (j1 instanceof IPlantable && this.canSustainPlant(par1World, par2, par3, par4, ForgeDirection.UP, (IPlantable) j1)) { + return true; + } + } + } + + return false; + } + + private boolean isWaterNearby(World par1World, int par2, int par3, int par4) { + for (int l = par2 - 4; l <= par2 + 4; ++l) { + for (int i1 = par3; i1 <= par3 + 1; ++i1) { + for (int j1 = par4 - 4; j1 <= par4 + 4; ++j1) { + if (par1World.getBlock(l, i1, j1).getMaterial() == Material.water) { + return true; + } + } + } + } + + return false; + } + + @Override + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { + super.onNeighborBlockChange(par1World, par2, par3, par4, par5); + Material material = par1World.getBlock(par2, par3 + 1, par4).getMaterial(); + if (material.isSolid()) { + this.revertToDirt(par1World, par2, par3, par4); + } + + } + + @Override + public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { + EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); + return plantType == EnumPlantType.Crop; + } + + @Override + public Item getItemDropped(int par1, Random p_149650_2_, int p_149650_3_) { + return par1 >> 3 == 0 ? Item.getItemFromBlock(AtumBlocks.BLOCK_SAND) : Item.getItemFromBlock(Blocks.dirt); + } + + public void revertToDirt(World world, int x, int y, int z) { + int type = world.getBlockMetadata(x, y, z) >> 3; + if (type == 0) { + world.setBlock(x, y, z, AtumBlocks.BLOCK_FERTILESOIL); + world.setBlockMetadataWithNotify(x, y, z, 1, 2); + } else { + world.setBlock(x, y, z, Blocks.dirt); + } + + } + + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { + int type = world.getBlockMetadata(x, y, z) >> 3; + return type == 0 ? new ItemStack(AtumBlocks.BLOCK_SAND) : new ItemStack(Blocks.dirt); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.farmlandWet = par1IIconRegister.registerIcon("farmland_wet"); + this.farmlandDry = par1IIconRegister.registerIcon("farmland_dry"); + } +} \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java new file mode 100644 index 0000000..0c78b6b --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java @@ -0,0 +1,100 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockCrops; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.EnumPlantType; +import net.minecraftforge.common.util.ForgeDirection; + +import com.teammetallurgy.atum.items.AtumItems; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockFlax extends BlockCrops { + @SideOnly(Side.CLIENT) + private IIcon[] iconArray; + + protected BlockFlax() { + super(); + this.setBlockName("flax"); + this.setTickRandomly(true); + float f = 0.5F; + this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.25F, 0.5F + f); + this.setCreativeTab((CreativeTabs) null); + this.setHardness(0.0F); + this.setStepSound(Block.soundTypeGrass); + this.disableStats(); + } + + @Override + public EnumPlantType getPlantType(IBlockAccess world, int x, int y, int z) { + return EnumPlantType.Crop; + } + + @Override + public boolean canBlockStay(World par1World, int par2, int par3, int par4) { + if (par1World.getBlockMetadata(par2, par3, par4) >> 3 == 1) { + return par1World.getBlock(par2, par3 - 1, par4) == AtumBlocks.BLOCK_FERTILESOIL; + } else { + Block soil = par1World.getBlock(par2, par3 - 1, par4); + return (par1World.getFullBlockLightValue(par2, par3, par4) >= 8 || par1World.canBlockSeeTheSky(par2, par3, par4)) && soil != null && soil.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this); + } + } + + @Override + protected boolean canPlaceBlockOn(Block par1) { + return par1 == Blocks.farmland || par1 == AtumBlocks.BLOCK_FERTILESOILTILLED; + } + + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int par1, int par2) { + int iconIndex = par2; + + if (iconIndex >= 5) + iconIndex-- ; + if (iconIndex >= 2) + iconIndex-- ; + + if (iconIndex < 0 || iconIndex > 5) { + iconIndex = 5; + } + + return this.iconArray[iconIndex]; + } + + @Override + public int getRenderType() { + return 1; + } + + // getSeedItem + @Override + protected Item func_149866_i() { + return AtumItems.ITEM_FLAXSEED; + } + + // getCropItem + @Override + protected Item func_149865_P() { + return AtumItems.ITEM_FLAX; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[6]; + + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:Flax_" + i); + } + + } +} \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java new file mode 100644 index 0000000..1784862 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java @@ -0,0 +1,269 @@ +package com.teammetallurgy.atum.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockLeavesBase; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.ColorizerFoliage; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraftforge.common.IShearable; + +import java.util.ArrayList; +import java.util.Random; + +public class BlockLeave extends BlockLeavesBase implements IShearable { + int[] adjacentTreeBlocks; + + protected BlockLeave() { + super(Material.leaves, false); + this.setBlockName("palmLeaves"); + this.setHardness(0.2F); + this.setLightOpacity(1); + this.setStepSound(Block.soundTypeGrass); + this.setTickRandomly(true); + } + + @Override + @SideOnly(Side.CLIENT) + public int getBlockColor() { + double d0 = 0.5D; + double d1 = 1.0D; + return ColorizerFoliage.getFoliageColor(d0, d1); + } + + @Override + @SideOnly(Side.CLIENT) + public int getRenderColor(int par1) { + return ColorizerFoliage.getFoliageColorBasic(); + } + + @Override + @SideOnly(Side.CLIENT) + public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { + int i1 = 0; + int j1 = 0; + int k1 = 0; + + for (int l1 = -1; l1 <= 1; ++l1) { + for (int i2 = -1; i2 <= 1; ++i2) { + int j2 = BiomeGenBase.desert.getBiomeFoliageColor(par2, par3, par4); + i1 += (j2 & 16711680) >> 16; + j1 += (j2 & '\uff00') >> 8; + k1 += j2 & 255; + } + } + + return (i1 / 9 & 255) << 16 | (j1 / 9 & 255) << 8 | k1 / 9 & 255; + } + + @Override + public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { + byte b0 = 1; + int j1 = b0 + 1; + if (par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { + for (int k1 = -b0; k1 <= b0; ++k1) { + for (int l1 = -b0; l1 <= b0; ++l1) { + for (int i2 = -b0; i2 <= b0; ++i2) { + Block j2 = par1World.getBlock(par2 + k1, par3 + l1, par4 + i2); + if (j2 != null) { + j2.beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); + } + } + } + } + } + + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if (!par1World.isRemote) { + int l = par1World.getBlockMetadata(par2, par3, par4); + if ((l & 8) != 0 && (l & 4) == 0) { + byte b0 = 4; + int i1 = b0 + 1; + byte b1 = 32; + int j1 = b1 * b1; + int k1 = b1 / 2; + if (this.adjacentTreeBlocks == null) { + this.adjacentTreeBlocks = new int[b1 * b1 * b1]; + } + + int l1; + if (par1World.checkChunksExist(par2 - i1, par3 - i1, par4 - i1, par2 + i1, par3 + i1, par4 + i1)) { + int i2; + int j2; + int k2; + for (l1 = -b0; l1 <= b0; ++l1) { + for (i2 = -b0; i2 <= b0; ++i2) { + for (j2 = -b0; j2 <= b0; ++j2) { + Block block = par1World.getBlock(par2 + l1, par3 + i2, par4 + j2); + if (block != null && block.canSustainLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { + this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = 0; + } else if (block != null && block.isLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { + this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -2; + } else { + this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -1; + } + } + } + } + + for (l1 = 1; l1 <= 4; ++l1) { + for (i2 = -b0; i2 <= b0; ++i2) { + for (j2 = -b0; j2 <= b0; ++j2) { + for (k2 = -b0; k2 <= b0; ++k2) { + if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1] == l1 - 1) { + if (this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { + this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; + } + + if (this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { + this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; + } + + if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] == -2) { + this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] = l1; + } + + if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] == -2) { + this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] = l1; + } + + if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] == -2) { + this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] = l1; + } + + if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] == -2) { + this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] = l1; + } + } + } + } + } + } + } + + l1 = this.adjacentTreeBlocks[k1 * j1 + k1 * b1 + k1]; + if (l1 >= 0) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, l & -9, 4); + } else { + this.removeLeaves(par1World, par2, par3, par4); + } + } + } + + } + + @Override + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if (par1World.canLightningStrikeAt(par2, par3 + 1, par4) && !par1World.doesBlockHaveSolidTopSurface(par1World, par2, par3 - 1, par4) && par5Random.nextInt(15) == 1) { + double d0 = (double) ((float) par2 + par5Random.nextFloat()); + double d1 = (double) par3 - 0.05D; + double d2 = (double) ((float) par4 + par5Random.nextFloat()); + par1World.spawnParticle("dripWater", d0, d1, d2, 0.0D, 0.0D, 0.0D); + } + + } + + private void removeLeaves(World par1World, int par2, int par3, int par4) { + this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0); + par1World.setBlockToAir(par2, par3, par4); + } + + @Override + public int quantityDropped(Random par1Random) { + return par1Random.nextInt(20) == 0 ? 1 : 0; + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return Item.getItemFromBlock(AtumBlocks.BLOCK_PALMSAPLING); + } + + @Override + public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { + if (!par1World.isRemote) { + int j1 = 20; + if ((par5 & 3) == 3) { + j1 = 40; + } + + if (par7 > 0) { + j1 -= 2 << par7; + if (j1 < 10) { + j1 = 10; + } + } + + if (par1World.rand.nextInt(j1) == 0) { + Item k1 = this.getItemDropped(par5, par1World.rand, par7); + this.dropBlockAsItem(par1World, par2, par3, par4, new ItemStack(k1, 1, this.damageDropped(par5))); + } + } + + } + + @Override + public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { + super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); + } + + @Override + public int damageDropped(int par1) { + return par1 & 3; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int par1, int par2) { + return this.blockIcon; + } + + @Override + protected ItemStack createStackedBlock(int par1) { + return new ItemStack(this, 1, par1 & 3); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:AtumLeaves"); + } + + @Override + public void beginLeavesDecay(World world, int x, int y, int z) { + world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z) | 8, 4); + } + + @Override + public boolean isLeaves(IBlockAccess world, int x, int y, int z) { + return true; + } + + @Override + public boolean isShearable(ItemStack arg0, IBlockAccess arg1, int arg2, int arg3, int arg4) { + return true; + } + + @Override + public ArrayList onSheared(ItemStack arg0, IBlockAccess arg1, int x, int y, int z, int arg5) { + ArrayList ret = new ArrayList(); + ret.add(new ItemStack(this, 1, arg1.getBlockMetadata(x, y, z) & 3)); + return ret; + } +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java new file mode 100644 index 0000000..35a2bb4 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java @@ -0,0 +1,294 @@ +package com.teammetallurgy.atum.blocks; + +import com.teammetallurgy.atum.Atum; +import com.teammetallurgy.atum.blocks.tileentity.furnace.TileEntityLimestoneFurnace; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +import java.util.Random; + +public class BlockLimeStoneFurnace extends BlockContainer { + + /** + * This flag is used to prevent the furnace inventory to be dropped upon + * block removal, is used internally when the furnace block changes from + * idle to active and vice-versa. + */ + private static boolean keepFurnaceInventory = false; + /** + * Is the random generator used by furnace to drop the inventory contents in + * random directions. + */ + private final Random furnaceRand = new Random(); + /** + * True if this is an active furnace, false if idle + */ + private final boolean isActive; + @SideOnly(Side.CLIENT) + private IIcon field_94458_cO; + @SideOnly(Side.CLIENT) + private IIcon field_94459_cP; + + public BlockLimeStoneFurnace(boolean par2) { + super(Material.rock); + isActive = par2; + } + + /** + * Update which block ID the furnace is using depending on whether or not it + * is burning + */ + public static void updateFurnaceBlockState(boolean par0, World par1World, int par2, int par3, int par4) { + int l = par1World.getBlockMetadata(par2, par3, par4); + TileEntity tileentity = par1World.getTileEntity(par2, par3, par4); + keepFurnaceInventory = true; + + if (par0) { + par1World.setBlock(par2, par3, par4, AtumBlocks.BLOCK_FURNACEBURNING); + } else { + par1World.setBlock(par2, par3, par4, AtumBlocks.BLOCK_FURNACEIDLE); + } + + keepFurnaceInventory = false; + par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); + + if (tileentity != null) { + tileentity.validate(); + par1World.setTileEntity(par2, par3, par4, tileentity); + } + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return Item.getItemFromBlock(AtumBlocks.BLOCK_FURNACEIDLE); + } + + /** + * Called whenever the block is added into the world. Args: world, x, y, z + */ + @Override + public void onBlockAdded(World par1World, int par2, int par3, int par4) { + super.onBlockAdded(par1World, par2, par3, par4); + this.setDefaultDirection(par1World, par2, par3, par4); + } + + /** + * set a blocks direction + */ + private void setDefaultDirection(World par1World, int par2, int par3, int par4) { + if (!par1World.isRemote) { + Block l = par1World.getBlock(par2, par3, par4 - 1); + Block i1 = par1World.getBlock(par2, par3, par4 + 1); + Block j1 = par1World.getBlock(par2 - 1, par3, par4); + Block k1 = par1World.getBlock(par2 + 1, par3, par4); + byte b0 = 3; + + if (l.isOpaqueCube() && !i1.isOpaqueCube()) { + b0 = 3; + } + + if (i1.isOpaqueCube() && !l.isOpaqueCube()) { + b0 = 2; + } + + if (j1.isOpaqueCube() && !k1.isOpaqueCube()) { + b0 = 5; + } + + if (k1.isOpaqueCube() && !j1.isOpaqueCube()) { + b0 = 4; + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 2); + } + } + + @SideOnly(Side.CLIENT) + /** + * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata + */ + @Override + public IIcon getIcon(int par1, int par2) { + if (par2 == 0) + par2 = 3; + + return par1 == 1 ? this.field_94458_cO : (par1 == 0 ? this.field_94458_cO : (par1 != par2 ? this.blockIcon : this.field_94459_cP)); + } + + @SideOnly(Side.CLIENT) + /** + * When this method is called, your block should register all the icons it needs with the given IIconRegister. This + * is the only chance you get to register icons. + */ + @Override + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("Atum:FurnaceTop"); + this.field_94459_cP = par1IIconRegister.registerIcon(this.isActive ? "Atum:FurnaceBurning" : "Atum:FurnaceFront"); + this.field_94458_cO = par1IIconRegister.registerIcon("Atum:FurnaceTop"); + } + + /** + * Called upon block activation (right click on the block.) + */ + @Override + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + if (par1World.isRemote) { + return true; + } else { + TileEntityLimestoneFurnace tileEntityLimestoneFurnace = (TileEntityLimestoneFurnace) par1World.getTileEntity(par2, par3, par4); + + if (tileEntityLimestoneFurnace != null) { + par5EntityPlayer.openGui(Atum.instance, 0, par1World, par2, par3, par4); + } + + return true; + } + } + + @SideOnly(Side.CLIENT) + /** + * A randomly called display update to be able to add particles or other items for display + */ + @Override + public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if (this.isActive) { + int l = par1World.getBlockMetadata(par2, par3, par4); + float f = (float) par2 + 0.5F; + float f1 = (float) par3 + 0.0F + par5Random.nextFloat() * 6.0F / 16.0F; + float f2 = (float) par4 + 0.5F; + float f3 = 0.52F; + float f4 = par5Random.nextFloat() * 0.6F - 0.3F; + + if (l == 4) { + par1World.spawnParticle("smoke", (double) (f - f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); + par1World.spawnParticle("flame", (double) (f - f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); + } else if (l == 5) { + par1World.spawnParticle("smoke", (double) (f + f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); + par1World.spawnParticle("flame", (double) (f + f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); + } else if (l == 2) { + par1World.spawnParticle("smoke", (double) (f + f4), (double) f1, (double) (f2 - f3), 0.0D, 0.0D, 0.0D); + par1World.spawnParticle("flame", (double) (f + f4), (double) f1, (double) (f2 - f3), 0.0D, 0.0D, 0.0D); + } else if (l == 3) { + par1World.spawnParticle("smoke", (double) (f + f4), (double) f1, (double) (f2 + f3), 0.0D, 0.0D, 0.0D); + par1World.spawnParticle("flame", (double) (f + f4), (double) f1, (double) (f2 + f3), 0.0D, 0.0D, 0.0D); + } + } + } + + /** + * Called when the block is placed in the world. + */ + @Override + public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) { + int l = MathHelper.floor_double((double) (par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if (l == 0) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 2, 2); + } + + if (l == 1) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 5, 2); + } + + if (l == 2) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 3, 2); + } + + if (l == 3) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 4, 2); + } + + if (par6ItemStack.hasDisplayName()) { + ((TileEntityLimestoneFurnace) par1World.getTileEntity(par2, par3, par4)).func_94129_a(par6ItemStack.getDisplayName()); + } + } + + /** + * 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) { + if (!keepFurnaceInventory) { + TileEntityLimestoneFurnace TileEntityLimestoneFurnace = (TileEntityLimestoneFurnace) par1World.getTileEntity(par2, par3, par4); + + if (TileEntityLimestoneFurnace != null) { + for (int j1 = 0; j1 < TileEntityLimestoneFurnace.getSizeInventory(); ++j1) { + ItemStack itemstack = TileEntityLimestoneFurnace.getStackInSlot(j1); + + if (itemstack != null) { + float f = this.furnaceRand.nextFloat() * 0.8F + 0.1F; + float f1 = this.furnaceRand.nextFloat() * 0.8F + 0.1F; + float f2 = this.furnaceRand.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) { + int k1 = this.furnaceRand.nextInt(21) + 10; + + if (k1 > itemstack.stackSize) { + k1 = itemstack.stackSize; + } + + itemstack.stackSize -= k1; + EntityItem entityitem = new EntityItem(par1World, (double) ((float) par2 + f), (double) ((float) par3 + f1), (double) ((float) par4 + f2), new ItemStack(itemstack.getItem(), k1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) { + entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double) ((float) this.furnaceRand.nextGaussian() * f3); + entityitem.motionY = (double) ((float) this.furnaceRand.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double) ((float) this.furnaceRand.nextGaussian() * f3); + par1World.spawnEntityInWorld(entityitem); + } + } + } + + par1World.func_147453_f(par2, par3, par4, par5); + } + } + + super.breakBlock(par1World, par2, par3, par4, par5, par6); + } + + /** + * If this returns true, then comparators facing away from this block will + * use the value from getComparatorInputOverride instead of the actual + * redstone signal strength. + */ + @Override + public boolean hasComparatorInputOverride() { + return true; + } + + /** + * If hasComparatorInputOverride returns true, the return value from this is + * used instead of the redstone signal strength when this block inputs to a + * comparator. + */ + @Override + public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) { + return Container.calcRedstoneFromInventory((IInventory) par1World.getTileEntity(par2, par3, par4)); + } + + @Override + public TileEntity createNewTileEntity(World var1, int var2) { + return new TileEntityLimestoneFurnace(); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmLog.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmLog.java new file mode 100644 index 0000000..8dd80cb --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmLog.java @@ -0,0 +1,101 @@ +package com.teammetallurgy.atum.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +import java.util.Random; + +public class BlockPalmLog extends Block { + + private IIcon tree_top; + private IIcon tree_side; + + protected BlockPalmLog() { + super(Material.wood); + this.setBlockName("palmLog"); + this.setHardness(2.0F); + this.setStepSound(Block.soundTypeWood); + } + + @Override + public int getRenderType() { + return 31; + } + + @Override + public int quantityDropped(Random par1Random) { + return 1; + } + + @Override + public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { + byte b0 = 4; + int j1 = b0 + 1; + if (par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { + for (int k1 = -b0; k1 <= b0; ++k1) { + for (int l1 = -b0; l1 <= b0; ++l1) { + for (int i2 = -b0; i2 <= b0; ++i2) { + Block j2 = par1World.getBlock(par2 + k1, par3 + l1, par4 + i2); + if (j2 != null) { + j2.beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); + } + } + } + } + } + + } + + @Override + public int onBlockPlaced(World par1World, int par2, int par3, int par4, int par5, float par6, float par7, float par8, int par9) { + int j1 = par9 & 3; + byte b0 = 0; + switch (par5) { + case 0: + case 1: + b0 = 0; + break; + case 2: + case 3: + b0 = 8; + break; + case 4: + case 5: + b0 = 4; + } + + return j1 | b0; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int par1, int par2) { + int k = par2 & 12; + int l = par2 & 3; + return k == 0 && (par1 == 1 || par1 == 0) ? this.tree_top : (k == 4 && (par1 == 5 || par1 == 4) ? this.tree_top : (k == 8 && (par1 == 2 || par1 == 3) ? this.tree_top : this.tree_side)); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.tree_top = par1IIconRegister.registerIcon("atum:tree_top"); + this.tree_side = par1IIconRegister.registerIcon("atum:tree_side"); + } + + @Override + public boolean canSustainLeaves(IBlockAccess world, int x, int y, int z) { + return true; + } + + @Override + public boolean isWood(IBlockAccess world, int x, int y, int z) { + return true; + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java new file mode 100644 index 0000000..0a53de6 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java @@ -0,0 +1,93 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockBush; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +import java.util.Random; + +public class BlockPalmSapling extends BlockBush { + + protected BlockPalmSapling() { + super(); + this.setBlockName("palmSapling"); + float f = 0.4F; + this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f); + } + + @Override + public void updateTick(World world, int x, int y, int z, Random rand) { + if (!world.isRemote) { + super.updateTick(world, x, y, z, rand); + if (world.getBlockLightValue(x, y + 1, z) > 9 && rand.nextInt(20) == 0) { + this.growTree(world, x, y, z, rand); + } + } + + } + + public void growTree(World world, int x, int y, int z, Random rand) { + int height = rand.nextInt(4) + 5; + + int i; + for (i = 0; i < height; ++i) { + world.setBlock(x, y + i, z, AtumBlocks.BLOCK_LOG, 0, 2); + } + + world.setBlock(x, y + height, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + + for (i = -1; i < 2; ++i) { + for (int j = -1; j < 2; ++j) { + if (i != 0 || j != 0) { + world.setBlock(x + i, y + height - 1, z + j, AtumBlocks.BLOCK_LEAVES, 0, 2); + } + } + } + + world.setBlock(x + 2, y + height - 1, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x + 2, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x + 3, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + if (rand.nextInt(100) < 15) { + world.setBlock(x + 1, y + height - 2, z, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + } + + world.setBlock(x - 2, y + height - 1, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x - 2, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x - 3, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + if (rand.nextInt(100) < 15) { + world.setBlock(x - 1, y + height - 2, z, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + } + + world.setBlock(x, y + height - 1, z + 2, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x, y + height - 2, z + 2, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x, y + height - 2, z + 3, AtumBlocks.BLOCK_LEAVES, 0, 2); + if (rand.nextInt(100) < 15) { + world.setBlock(x, y + height - 2, z + 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + } + + world.setBlock(x, y + height - 1, z - 2, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x, y + height - 2, z - 2, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x, y + height - 2, z - 3, AtumBlocks.BLOCK_LEAVES, 0, 2); + if (rand.nextInt(100) < 15) { + world.setBlock(x, y + height - 2, z - 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + } + + } + + @Override + protected boolean canPlaceBlockOn(Block id) { + return id == AtumBlocks.BLOCK_SAND || id == Blocks.grass || id == Blocks.dirt; + } + + @Override + public boolean canBlockStay(World world, int x, int y, int z) { + return world.getBlock(x, y - 1, z) == AtumBlocks.BLOCK_SAND || world.getBlock(x, y - 1, z) == Blocks.grass || world.getBlock(x, y - 1, z) == Blocks.dirt; + } + + @Override + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:AtumPalmSapling"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java new file mode 100644 index 0000000..c4dcfbc --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java @@ -0,0 +1,173 @@ +package com.teammetallurgy.atum.blocks; + +import com.teammetallurgy.atum.items.AtumItems; +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.EnumPlantType; +import net.minecraftforge.common.IPlantable; +import net.minecraftforge.common.util.ForgeDirection; + +import java.util.Random; + +public class BlockPapyrus extends Block implements IPlantable { + public int renderID = RenderingRegistry.getNextAvailableRenderId(); + IIcon iconPapyrus; + IIcon iconPapyrusTop; + + public BlockPapyrus() { + super(Material.plants); + this.setBlockName("papyrus"); + this.setHardness(0.0F); + this.setStepSound(Block.soundTypeGrass); + float f = 0.375F; + this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 1.0F, 0.5F + f); + this.setTickRandomly(true); + } + + @Override + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + if (par5EntityPlayer.capabilities.isCreativeMode) { + this.updateTick(par1World, par2, par3, par4, new Random()); + } + + return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9); + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if ((double) par5Random.nextFloat() <= 0.75D) { + if (par1World.isAirBlock(par2, par3 + 1, par4)) { + int l; + for (l = 1; par1World.getBlock(par2, par3 - l, par4) == this; ++l) { + ; + } + + if (l < 5) { + int i1 = par1World.getBlockMetadata(par2, par3, par4); + byte reqHeight = 0; + if (l == 1) { + reqHeight = 2; + } else if (l == 2) { + reqHeight = 4; + } else if (l == 3) { + reqHeight = 8; + } else if (l == 4) { + reqHeight = 15; + } + + if (i1 >= reqHeight) { + par1World.setBlock(par2, par3 + 1, par4, this); + par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 4); + } else { + par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 + 1, 4); + } + } + } + + } + } + + @Override + public IIcon getIcon(int par1, int par2) { + return this.iconPapyrus; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + boolean top = par1IBlockAccess.getBlock(par2, par3 + 1, par4) != this; + return top ? this.iconPapyrusTop : this.iconPapyrus; + } + + @Override + public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) { + Block block = par1World.getBlock(par2, par3 - 1, par4); + return block != null && block.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this); + } + + @Override + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { + this.checkBlockCoordValid(par1World, par2, par3, par4); + } + + protected final void checkBlockCoordValid(World par1World, int par2, int par3, int par4) { + if (!this.canBlockStay(par1World, par2, par3, par4)) { + this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0); + par1World.setBlockToAir(par2, par3, par4); + } + + } + + @Override + public boolean canBlockStay(World par1World, int par2, int par3, int par4) { + return this.canPlaceBlockAt(par1World, par2, par3, par4); + } + + @Override + public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { + EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); + if (plant.getPlant(world, x, y + 1, z) == this) { + return true; + } + + return false; + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { + return null; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public int getRenderType() { + return renderID; + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return AtumItems.papyrusPlant; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.iconPapyrus = par1IIconRegister.registerIcon("atum:AtumPapyrus"); + this.iconPapyrusTop = par1IIconRegister.registerIcon("atum:AtumPapyrusTop"); + } + + @Override + public Block getPlant(IBlockAccess arg0, int arg1, int arg2, int arg3) { + return this; + } + + @Override + public int getPlantMetadata(IBlockAccess world, int x, int y, int z) { + return world.getBlockMetadata(x, y, z); + } + + @Override + public EnumPlantType getPlantType(IBlockAccess arg0, int arg1, int arg2, int arg3) { + return EnumPlantType.Beach; + } +} \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java new file mode 100644 index 0000000..adc0200 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java @@ -0,0 +1,202 @@ +package com.teammetallurgy.atum.blocks; + +import com.teammetallurgy.atum.items.AtumLoot; +import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.passive.EntityOcelot; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import java.util.Iterator; +import java.util.Random; + +public class BlockPharaohChest extends BlockContainer { + + protected BlockPharaohChest() { + super(Material.wood); + this.setBlockName("pharaohChest"); + this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); + this.setHardness(4.0F); + } + + public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) { + Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getBoundingBox((double) par1, (double) (par2 + 1), (double) par3, (double) (par1 + 1), (double) (par2 + 2), (double) (par3 + 1))).iterator(); + + while (iterator.hasNext()) { + EntityOcelot entityocelot1 = (EntityOcelot) iterator.next(); + if (entityocelot1.isSitting()) { + return true; + } + } + + return false; + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return Item.getItemFromBlock(Blocks.chest); + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public int getRenderType() { + return 22; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { + this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); + } + + @Override + public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) { + Block l = par1World.getBlock(par2, par3, par4 - 1); + Block i1 = par1World.getBlock(par2, par3, par4 + 1); + Block j1 = par1World.getBlock(par2 - 1, par3, par4); + Block k1 = par1World.getBlock(par2 + 1, par3, par4); + byte b0 = 0; + int l1 = MathHelper.floor_double((double) (par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + if (l1 == 0) { + b0 = 2; + } + + if (l1 == 1) { + b0 = 5; + } + + if (l1 == 2) { + b0 = 3; + } + + if (l1 == 3) { + b0 = 4; + } + + if (l != this && i1 != this && j1 != this && k1 != this) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } else { + if ((l == this || i1 == this) && (b0 == 4 || b0 == 5)) { + if (l == this) { + par1World.setBlockMetadataWithNotify(par2, par3, par4 - 1, b0, 3); + } else { + par1World.setBlockMetadataWithNotify(par2, par3, par4 + 1, b0, 3); + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } + + if ((j1 == this || k1 == this) && (b0 == 2 || b0 == 3)) { + if (j1 == this) { + par1World.setBlockMetadataWithNotify(par2 - 1, par3, par4, b0, 3); + } else { + par1World.setBlockMetadataWithNotify(par2 + 1, par3, par4, b0, 3); + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } + } + + if (par6ItemStack.hasDisplayName()) { + ((TileEntityPharaohChest) par1World.getTileEntity(par2, par3, par4)).func_94043_a(par6ItemStack.getDisplayName()); + } + + AtumLoot.fillChest((TileEntityPharaohChest) par1World.getTileEntity(par2, par3, par4), 15, 0.9F); + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int p_149749_6_) { + TileEntityPharaohChest tileEntityPharaohChest = (TileEntityPharaohChest) world.getTileEntity(x, y, z); + if (tileEntityPharaohChest != null) { + world.func_147453_f(x, y, z, block); + } + + super.breakBlock(world, x, y, z, block, p_149749_6_); + } + + @Override + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + TileEntity te = par1World.getTileEntity(par2, par3, par4); + if (te instanceof TileEntityPharaohChest) { + TileEntityPharaohChest iinventory = (TileEntityPharaohChest) te; + if (!iinventory.hasSpawned()) { + iinventory.spawn(par5EntityPlayer); + } + } + + if (par1World.isRemote) { + return true; + } else { + IInventory iinventory1 = this.getInventory(par1World, par2, par3, par4); + if (iinventory1 != null) { + par5EntityPlayer.displayGUIChest(iinventory1); + } + + return true; + } + } + + public IInventory getInventory(World par1World, int par2, int par3, int par4) { + TileEntityPharaohChest object = (TileEntityPharaohChest) par1World.getTileEntity(par2, par3, par4); + return object == null ? null : (par1World.isSideSolid(par2, par3 + 1, par4, ForgeDirection.DOWN) ? null : (isOcelotBlockingChest(par1World, par2, par3, par4) ? null : (IInventory) object)); + } + + @Override + public int isProvidingWeakPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + if (!this.canProvidePower()) { + return 0; + } else { + int i1 = ((TileEntityPharaohChest) par1IBlockAccess.getTileEntity(par2, par3, par4)).numPlayersUsing; + return MathHelper.clamp_int(i1, 0, 15); + } + } + + @Override + public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + return par5 == 1 ? this.isProvidingWeakPower(par1IBlockAccess, par2, par3, par4, par5) : 0; + } + + @Override + public boolean hasComparatorInputOverride() { + return true; + } + + @Override + public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) { + return Container.calcRedstoneFromInventory(this.getInventory(par1World, par2, par3, par4)); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("log_oak"); + } + + @Override + public TileEntity createNewTileEntity(World var1, int var2) { + return new TileEntityPharaohChest(); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java new file mode 100644 index 0000000..7f2665e --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java @@ -0,0 +1,174 @@ +package com.teammetallurgy.atum.blocks; + +import com.teammetallurgy.atum.handler.AtumConfig; +import com.teammetallurgy.atum.world.AtumTeleporter; +import cpw.mods.fml.common.ObfuscationReflectionHelper; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockBreakable; +import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraft.world.WorldServer; + +import java.util.Random; + +public class BlockPortal extends BlockBreakable { + + public BlockPortal() { + super("atum:portal", Material.portal, true); + this.setTickRandomly(true); + this.setHardness(-1.0F); + this.setBlockName("portal"); + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + super.updateTick(par1World, par2, par3, par4, par5Random); + if (par1World.provider.isSurfaceWorld() && par5Random.nextInt(2000) < par1World.difficultySetting.getDifficultyId()) { + ; + } + + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { + return null; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { + } + + @Override + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { + for (int x = -1; x < 2; x++) { + for (int z = -1; z < 2; z++) { + for (int y = -1; y < 1; y++) { + if (par1World.getBlock(par2 + x, par3 + y, par4 + z) != Blocks.sandstone && par1World.getBlock(par2 + x, par3 + y, par4 + z) != this && par1World.getBlock(par2 + x, par3 + y, par4 + z) != AtumBlocks.BLOCK_LARGEBRICK) { + par1World.setBlockToAir(par2, par3, par4); + } + } + } + } + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + public boolean tryToCreatePortal(World par1World, int x, int y, int z, Block block) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if (par1World.getBlock(x + x1, y, z + z1) != block) { + return false; + } + } + } + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if (x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { + if (par1World.getBlock(x + x1, y + 1, z + z1) != block) { + return false; + } + } + } + } + for (int y1 = 2; y1 < 4; y1++) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if ((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { + if (par1World.getBlock(x + x1, y + y1, z + z1) != block) { + return false; + } + } + } + } + } + for (int x1 = -1; x1 < 2; x1++) { + for (int z1 = -1; z1 < 2; z1++) { + par1World.setBlock(x + x1, y + 1, z + z1, AtumBlocks.BLOCK_PORTAL, 0, 2); + } + } + return true; + } + + @Override + public int quantityDropped(Random par1Random) { + return 0; + } + + @Override + public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity) { + if (par5Entity.ridingEntity == null && par5Entity.riddenByEntity == null && par5Entity instanceof EntityPlayerMP) { + EntityPlayerMP player = (EntityPlayerMP) par5Entity; + if (par5Entity.timeUntilPortal == 0 && par5Entity instanceof EntityPlayerMP) { + par5Entity.timeUntilPortal = 100; + MinecraftServer minecraftserver = MinecraftServer.getServer(); + int dimID = par5Entity.dimension; + int atumId = AtumConfig.DIMENSION_ID; + WorldServer worldserver = minecraftserver.worldServerForDimension(0); + WorldServer worldserver1 = minecraftserver.worldServerForDimension(atumId); + if (dimID == atumId) { + minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, 0, new AtumTeleporter(worldserver)); + } else { + minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, atumId, new AtumTeleporter(worldserver1)); + } + + try { + ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, player, Integer.valueOf(-1), new String[]{"lastExperience", "cp", "field_71144_ck"}); + ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, player, Integer.valueOf(-1), new String[]{"lastHealth", "cm", "field_71149_ch"}); + ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, player, Integer.valueOf(-1), new String[]{"lastFoodLevel", "cn", "field_71146_ci"}); + } catch (Exception var12) { + var12.printStackTrace(); + } + } + } + + } + + @Override + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if (par5Random.nextInt(100) == 0) { + par1World.playSound((double) par2 + 0.5D, (double) par3 + 0.5D, (double) par4 + 0.5D, "portal.portal", 0.5F, par5Random.nextFloat() * 0.4F + 0.8F, false); + } + + for (int l = 0; l < 8; ++l) { + double d0 = (double) ((float) par2 + par5Random.nextFloat()); + double d1 = (double) ((float) par3 + par5Random.nextFloat()); + double d2 = (double) ((float) par4 + par5Random.nextFloat()); + double d3 = 0.0D; + double d4 = 0.0D; + double d5 = 0.0D; + int i1 = par5Random.nextInt(2) * 2 - 1; + d3 = ((double) par5Random.nextFloat() - 0.5D) * 0.5D; + d4 = ((double) par5Random.nextFloat() - 0.5D) * 0.5D; + d5 = ((double) par5Random.nextFloat() - 0.5D) * 0.5D; + if (par5Random.nextDouble() > 0.5D) { + d0 = (double) par2 + 0.5D + 0.25D * (double) i1; + d3 = (double) (par5Random.nextFloat() * 2.0F * (float) i1); + } else { + d2 = (double) par4 + 0.5D + 0.25D * (double) i1; + d5 = (double) (par5Random.nextFloat() * 2.0F * (float) i1); + } + + par1World.spawnParticle("sandportal", d0, d1, d2, d3, d4, d5); + } + + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return null; + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockSandLayered.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockSandLayered.java new file mode 100644 index 0000000..65d204a --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockSandLayered.java @@ -0,0 +1,117 @@ +package com.teammetallurgy.atum.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.EnumSkyBlock; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +import java.util.Random; + +public class BlockSandLayered extends Block { + + public BlockSandLayered() { + super(Material.sand); + this.setBlockName("sandLayer"); + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F); + this.setTickRandomly(true); + this.func_96478_d(0); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:AtumSand"); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { + return null; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public void setBlockBoundsForItemRender() { + this.func_96478_d(0); + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { + this.func_96478_d(par1IBlockAccess.getBlockMetadata(par2, par3, par4)); + } + + protected void func_96478_d(int par1) { + int j = par1 & 7; + float f = (float) (2 * (1 + j)) / 16.0F; + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, f, 1.0F); + } + + @Override + public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) { + Block block = par1World.getBlock(par2, par3 - 1, par4); + return block == null ? false : (block == this ? true : (block == this && (par1World.getBlockMetadata(par2, par3 - 1, par4) & 7) == 7 ? true : (!block.isLeaves(par1World, par2, par3 - 1, par4) && !block.isOpaqueCube() ? false : par1World.getBlock(par2, par3 - 1, par4).getMaterial().blocksMovement()))); + } + + @Override + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { + this.canSnowStay(par1World, par2, par3, par4); + } + + private boolean canSnowStay(World par1World, int par2, int par3, int par4) { + if (!this.canPlaceBlockAt(par1World, par2, par3, par4)) { + par1World.setBlockToAir(par2, par3, par4); + return false; + } else { + return false; + } + } + + @Override + public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { + super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); + par1World.setBlockToAir(par3, par4, par5); + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return null; + } + + @Override + public int quantityDropped(Random par1Random) { + return 0; + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if (par1World.getSavedLightValue(EnumSkyBlock.Block, par2, par3, par4) > 11) { + par1World.setBlockToAir(par2, par3, par4); + } + + } + + @Override + @SideOnly(Side.CLIENT) + public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + return par5 == 1 ? true : super.shouldSideBeRendered(par1IBlockAccess, par2, par3, par4, par5); + } + + @Override + public int quantityDropped(int meta, int fortune, Random random) { + return (meta & 7) + 1; + } +} \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java new file mode 100644 index 0000000..ab32017 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java @@ -0,0 +1,21 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; + +public class BlockSands extends Block { + + public BlockSands() { + super(Material.sand); + this.setBlockName("sand"); + this.setStepSound(Block.soundTypeSand); + this.setHardness(0.5F); + } + + @Override + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:AtumSand"); + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockShrub.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockShrub.java new file mode 100644 index 0000000..111460a --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockShrub.java @@ -0,0 +1,42 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockDeadBush; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +import java.util.Random; + +public class BlockShrub extends BlockDeadBush { + + protected BlockShrub() { + super(); + this.setHardness(0.0F); + this.setStepSound(Block.soundTypeGrass); + } + + @Override + public boolean canPlaceBlockOn(Block par1) { + return par1 == AtumBlocks.BLOCK_SAND; + } + + @Override + public Item getItemDropped(int par1, Random par2Random, int par3) { + return null; + } + + @Override + public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { + if (!par1World.isRemote && par2EntityPlayer.getCurrentEquippedItem() != null && par2EntityPlayer.getCurrentEquippedItem().getItem() == Items.shears) { + //par2EntityPlayer.addStat(StatList.mineBlockStatArray[this], 1); + this.dropBlockAsItem(par1World, par3, par4, par5, new ItemStack(AtumBlocks.BLOCK_SHRUB, 1, par6)); + } else { + super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); + } + + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java new file mode 100644 index 0000000..b85ca9b --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java @@ -0,0 +1,49 @@ +package com.teammetallurgy.atum.blocks; + +import com.teammetallurgy.atum.Atum; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockWall; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +import java.util.List; + +public class BlockWalls extends BlockWall { + @SideOnly(Side.CLIENT) + private IIcon[] icon; + + public BlockWalls(Block par2Block) { + super(par2Block); + this.setBlockName("walls"); + this.setCreativeTab(Atum.creativeTab); + } + + @Override + public IIcon getIcon(int side, int meta) { + return this.icon[meta]; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister IIconRegister) { + this.icon = new IIcon[4]; + this.icon[0] = IIconRegister.registerIcon("atum:AtumStone"); + this.icon[1] = IIconRegister.registerIcon("atum:AtumCobble"); + this.icon[2] = IIconRegister.registerIcon("atum:AtumBrickLarge"); + this.icon[3] = IIconRegister.registerIcon("atum:AtumBrickSmall"); + } + + @Override + public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) { + par3List.add(new ItemStack(par1, 1, 0)); + par3List.add(new ItemStack(par1, 1, 1)); + par3List.add(new ItemStack(par1, 1, 2)); + par3List.add(new ItemStack(par1, 1, 3)); + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockSlab.java b/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockSlab.java new file mode 100644 index 0000000..3f1cfd5 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockSlab.java @@ -0,0 +1,18 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; + +public class ItemBlockSlab extends ItemBlock { + public static final String[] types = {"smooth", "cracked", "largeBrick", "smallBrick"}; + + public ItemBlockSlab(Block block) { + super(block); + } + + @Override + public String getUnlocalizedName(ItemStack par1ItemStack) { + return "tile." + types[par1ItemStack.getItemDamage()] + "Slab"; + } +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockWall.java b/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockWall.java new file mode 100644 index 0000000..ad2d7f8 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockWall.java @@ -0,0 +1,19 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; + +public class ItemBlockWall extends ItemBlock { + public static final String[] types = {"smooth", "cracked", "largeBrick", "smallBrick"}; + + public ItemBlockWall(Block block) { + super(block); + } + + @Override + public String getUnlocalizedName(ItemStack par1ItemStack) { + return "tile." + types[par1ItemStack.getItemDamage()] + "Wall"; + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java new file mode 100644 index 0000000..0322f04 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java @@ -0,0 +1,84 @@ +package com.teammetallurgy.atum.blocks.tileentity; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.Vec3; + +import java.util.Iterator; +import java.util.List; +import java.util.Random; + +public class TileEntityBurningTrap extends TileEntity { + + protected String field_94050_c; + private ItemStack[] dispenserContents = new ItemStack[9]; + private Random dispenserRandom = new Random(); + + @Override + public void updateEntity() { + EntityPlayer p = super.worldObj.getClosestPlayer((double) super.xCoord, (double) super.yCoord, (double) super.zCoord, 4.0D); + byte range = 1; + int xMin = super.xCoord; + int xMax = super.xCoord + range; + int yMin = super.yCoord; + int yMax = super.yCoord + range; + int zMin = super.zCoord; + int zMax = super.zCoord + range; + EnumFacing facing = EnumFacing.getFront(super.worldObj.getBlockMetadata(super.xCoord, super.yCoord, super.zCoord)); + xMin += facing.getFrontOffsetX() * range; + xMax += facing.getFrontOffsetX() * range; + yMin += facing.getFrontOffsetY() * range; + yMax += facing.getFrontOffsetY() * range; + zMin += facing.getFrontOffsetZ() * range; + zMax += facing.getFrontOffsetZ() * range; + AxisAlignedBB bb = AxisAlignedBB.getBoundingBox((double) xMin, (double) yMin, (double) zMin, (double) xMax, (double) yMax, (double) zMax); + List list = super.worldObj.getEntitiesWithinAABB(EntityMob.class, bb); + if (p != null && bb.isVecInside(Vec3.createVectorHelper(p.posX, p.posY + 0.5D, p.posZ))) { + p.setFire(2); + this.spawnFlames(); + } + + Iterator i = list.iterator(); + + while (i.hasNext()) { + Entity e = (Entity) i.next(); + if (e instanceof EntityLiving) { + e.setFire(2); + } + } + + } + + public void spawnFlames() { + Random par5Random = new Random(); + int l = super.worldObj.getBlockMetadata(super.xCoord, super.yCoord, super.zCoord); + float f = (float) super.xCoord + 0.5F; + float f1 = (float) super.yCoord + 0.1875F + par5Random.nextFloat() * 10.0F / 16.0F; + float f2 = (float) super.zCoord + 0.5F; + float f3 = 0.52F; + float f4 = par5Random.nextFloat() * 0.6F - 0.3F; + double mx = par5Random.nextDouble() * 0.08D - 0.04D; + double my = par5Random.nextDouble() * 0.08D - 0.04D; + double mz = par5Random.nextDouble() * 0.08D - 0.04D; + if (l == 4) { + super.worldObj.spawnParticle("smoke", (double) (f - f3), (double) f1, (double) (f2 + f4), mx - 0.1D, my, mz); + super.worldObj.spawnParticle("flame", (double) (f - f3), (double) f1, (double) (f2 + f4), mx - 0.1D, my, mz); + } else if (l == 5) { + super.worldObj.spawnParticle("smoke", (double) (f + f3), (double) f1, (double) (f2 + f4), mx + 0.1D, my, mz); + super.worldObj.spawnParticle("flame", (double) (f + f3), (double) f1, (double) (f2 + f4), mx + 0.1D, my, mz); + } else if (l == 2) { + super.worldObj.spawnParticle("smoke", (double) (f + f4), (double) f1, (double) (f2 - f3), mx, my, mz - 0.1D); + super.worldObj.spawnParticle("flame", (double) (f + f4), (double) f1, (double) (f2 - f3), mx, my, mz - 0.1D); + } else if (l == 3) { + super.worldObj.spawnParticle("smoke", (double) (f + f4), (double) f1, (double) (f2 + f3), mx, my, mz + 0.1D); + super.worldObj.spawnParticle("flame", (double) (f + f4), (double) f1, (double) (f2 + f3), mx, my, mz + 0.1D); + } + + } +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java new file mode 100644 index 0000000..83af85b --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java @@ -0,0 +1,336 @@ +package com.teammetallurgy.atum.blocks.tileentity.chests; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.*; +import net.minecraft.nbt.NBTBase; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.MobSpawnerBaseLogic; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.WeightedRandom; +import net.minecraft.world.World; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +public abstract class CursedChestBaseLogic extends MobSpawnerBaseLogic { + /** + * The delay to spawn. + */ + public int spawnDelay = 20; + public double field_98287_c; + public double field_98284_d; + public int minSpawnDelay = 200; + public int maxSpawnDelay = 800; + /** + * A counter for spawn tries. + */ + public int spawnCount = 4; + /** + * The range coefficient for spawning entities around. + */ + public int spawnRange = 4; + private String entityTypeName = "Pig"; + /** + * List of minecart to spawn. + */ + private List minecartToSpawn; + private WeightedRandomMinecart randomMinecart; + private Entity field_98291_j; + private int maxNearbyEntities = 6; + /** + * The distance from which a player activates the spawner. + */ + private int activatingRangeFromPlayer = 16; + + /** + * Gets the entity name that should be spawned. + */ + @Override + public String getEntityNameToSpawn() { + if (this.getRandomEntity() == null) { + if (this.entityTypeName.equals("Minecart")) { + this.entityTypeName = "MinecartRideable"; + } + + return this.entityTypeName; + } else { + return this.getRandomEntity().entityTypeName; + } + } + + @Override + public void setEntityName(String par1Str) { + this.entityTypeName = par1Str; + } + + @Override + public boolean isActivated() { + return this.getSpawnerWorld().getClosestPlayer((double) this.getSpawnerX() + 0.5D, (double) this.getSpawnerY() + 0.5D, (double) this.getSpawnerZ() + 0.5D, (double) this.activatingRangeFromPlayer) != null; + } + + @Override + public void updateSpawner() { + if (this.isActivated()) { + double d0; + + if (this.getSpawnerWorld().isRemote) { + double d1 = (double) ((float) this.getSpawnerX() + this.getSpawnerWorld().rand.nextFloat()); + double d2 = (double) ((float) this.getSpawnerY() + this.getSpawnerWorld().rand.nextFloat()); + d0 = (double) ((float) this.getSpawnerZ() + this.getSpawnerWorld().rand.nextFloat()); + this.getSpawnerWorld().spawnParticle("smoke", d1, d2, d0, 0.0D, 0.0D, 0.0D); + this.getSpawnerWorld().spawnParticle("flame", d1, d2, d0, 0.0D, 0.0D, 0.0D); + + if (this.spawnDelay > 0) { + --this.spawnDelay; + } + + this.field_98284_d = this.field_98287_c; + this.field_98287_c = (this.field_98287_c + (double) (1000.0F / ((float) this.spawnDelay + 200.0F))) % 360.0D; + } else { + if (this.spawnDelay == -1) { + this.func_98273_j(); + } + + if (this.spawnDelay > 0) { + --this.spawnDelay; + return; + } + + boolean flag = false; + + for (int i = 0; i < this.spawnCount; ++i) { + if (this.getSpawnerWorld().difficultySetting.getDifficultyId() == 0) { + return; + } + + Entity entity = EntityList.createEntityByName(this.getEntityNameToSpawn(), this.getSpawnerWorld()); + + if (entity == null) { + return; + } + + int j = this.getSpawnerWorld().getEntitiesWithinAABB(entity.getClass(), AxisAlignedBB.getBoundingBox((double) this.getSpawnerX(), (double) this.getSpawnerY(), (double) this.getSpawnerZ(), (double) (this.getSpawnerX() + 1), (double) (this.getSpawnerY() + 1), (double) (this.getSpawnerZ() + 1)).expand((double) (this.spawnRange * 2), 4.0D, (double) (this.spawnRange * 2))).size(); + + if (j >= this.maxNearbyEntities) { + this.func_98273_j(); + return; + } + + d0 = (double) this.getSpawnerX() + (this.getSpawnerWorld().rand.nextDouble() - this.getSpawnerWorld().rand.nextDouble()) * (double) this.spawnRange; + double d3 = (double) (this.getSpawnerY() + this.getSpawnerWorld().rand.nextInt(3) - 1); + double d4 = (double) this.getSpawnerZ() + (this.getSpawnerWorld().rand.nextDouble() - this.getSpawnerWorld().rand.nextDouble()) * (double) this.spawnRange; + EntityLiving entityliving = entity instanceof EntityLiving ? (EntityLiving) entity : null; + entity.setLocationAndAngles(d0, d3, d4, this.getSpawnerWorld().rand.nextFloat() * 360.0F, 0.0F); + + if (entityliving == null || entityliving.getCanSpawnHere()) { + this.func_98265_a(entity); + this.getSpawnerWorld().playAuxSFX(2004, this.getSpawnerX(), this.getSpawnerY(), this.getSpawnerZ(), 0); + + if (entityliving != null) { + entityliving.spawnExplosionParticle(); + } + + flag = true; + } + } + + if (flag) { + this.func_98273_j(); + } + } + } + } + + @Override + public Entity func_98265_a(Entity par1Entity) { + if (this.getRandomEntity() != null) { + NBTTagCompound nbttagcompound = new NBTTagCompound(); + par1Entity.writeToNBTOptional(nbttagcompound); + Iterator iterator = this.getRandomEntity().field_98222_b.func_150296_c().iterator(); + + while (iterator.hasNext()) { + NBTBase nbtbase = (NBTBase) iterator.next(); + nbttagcompound.setTag(nbtbase.toString(), nbtbase.copy()); + } + + par1Entity.readFromNBT(nbttagcompound); + + if (par1Entity.worldObj != null) { + par1Entity.worldObj.spawnEntityInWorld(par1Entity); + } + + NBTTagCompound nbttagcompound1; + + for (Entity entity1 = par1Entity; nbttagcompound.hasKey("Riding"); nbttagcompound = nbttagcompound1) { + nbttagcompound1 = nbttagcompound.getCompoundTag("Riding"); + Entity entity2 = EntityList.createEntityByName(nbttagcompound1.getString("id"), par1Entity.worldObj); + + if (entity2 != null) { + NBTTagCompound nbttagcompound2 = new NBTTagCompound(); + entity2.writeToNBTOptional(nbttagcompound2); + Iterator iterator1 = nbttagcompound1.func_150296_c().iterator(); + + while (iterator1.hasNext()) { + NBTBase nbtbase1 = (NBTBase) iterator1.next(); + nbttagcompound2.setTag(nbtbase1.toString(), nbtbase1.copy()); + } + + entity2.readFromNBT(nbttagcompound2); + entity2.setLocationAndAngles(entity1.posX, entity1.posY, entity1.posZ, entity1.rotationYaw, entity1.rotationPitch); + + if (par1Entity.worldObj != null) { + par1Entity.worldObj.spawnEntityInWorld(entity2); + } + + entity1.mountEntity(entity2); + } + + entity1 = entity2; + } + } else if (par1Entity instanceof EntityLivingBase && par1Entity.worldObj != null) { + ((EntityLiving) par1Entity).onSpawnWithEgg((IEntityLivingData) null); + this.getSpawnerWorld().spawnEntityInWorld(par1Entity); + } + + return par1Entity; + } + + private void func_98273_j() { + if (this.maxSpawnDelay <= this.minSpawnDelay) { + this.spawnDelay = this.minSpawnDelay; + } else { + int i = this.maxSpawnDelay - this.minSpawnDelay; + this.spawnDelay = this.minSpawnDelay + this.getSpawnerWorld().rand.nextInt(i); + } + + if (this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { + this.setRandomEntity((WeightedRandomMinecart) WeightedRandom.getRandomItem(this.getSpawnerWorld().rand, this.minecartToSpawn)); + } + + this.func_98267_a(1); + } + + @Override + public void readFromNBT(NBTTagCompound par1NBTTagCompound) { + this.entityTypeName = par1NBTTagCompound.getString("EntityId"); + this.spawnDelay = par1NBTTagCompound.getShort("Delay"); + + if (par1NBTTagCompound.hasKey("SpawnPotentials")) { + this.minecartToSpawn = new ArrayList(); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("SpawnPotentials", 10); + + for (int i = 0; i < nbttaglist.tagCount(); ++i) { + this.minecartToSpawn.add(new WeightedRandomMinecart((NBTTagCompound) nbttaglist.getCompoundTagAt(i))); + } + } else { + this.minecartToSpawn = null; + } + + if (par1NBTTagCompound.hasKey("SpawnData")) { + this.setRandomEntity(new WeightedRandomMinecart(par1NBTTagCompound.getCompoundTag("SpawnData"), this.entityTypeName)); + } else { + this.setRandomEntity((WeightedRandomMinecart) null); + } + + if (par1NBTTagCompound.hasKey("MinSpawnDelay")) { + this.minSpawnDelay = par1NBTTagCompound.getShort("MinSpawnDelay"); + this.maxSpawnDelay = par1NBTTagCompound.getShort("MaxSpawnDelay"); + this.spawnCount = par1NBTTagCompound.getShort("SpawnCount"); + } + + if (par1NBTTagCompound.hasKey("MaxNearbyEntities")) { + this.maxNearbyEntities = par1NBTTagCompound.getShort("MaxNearbyEntities"); + this.activatingRangeFromPlayer = par1NBTTagCompound.getShort("RequiredPlayerRange"); + } + + if (par1NBTTagCompound.hasKey("SpawnRange")) { + this.spawnRange = par1NBTTagCompound.getShort("SpawnRange"); + } + + if (this.getSpawnerWorld() != null && this.getSpawnerWorld().isRemote) { + this.field_98291_j = null; + } + } + + @Override + public void writeToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setString("EntityId", this.getEntityNameToSpawn()); + par1NBTTagCompound.setShort("Delay", (short) this.spawnDelay); + par1NBTTagCompound.setShort("MinSpawnDelay", (short) this.minSpawnDelay); + par1NBTTagCompound.setShort("MaxSpawnDelay", (short) this.maxSpawnDelay); + par1NBTTagCompound.setShort("SpawnCount", (short) this.spawnCount); + par1NBTTagCompound.setShort("MaxNearbyEntities", (short) this.maxNearbyEntities); + par1NBTTagCompound.setShort("RequiredPlayerRange", (short) this.activatingRangeFromPlayer); + par1NBTTagCompound.setShort("SpawnRange", (short) this.spawnRange); + + if (this.getRandomEntity() != null) { + par1NBTTagCompound.setTag("SpawnData", (NBTTagCompound) this.getRandomEntity().field_98222_b.copy()); + } + + if (this.getRandomEntity() != null || this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { + NBTTagList nbttaglist = new NBTTagList(); + + if (this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { + Iterator iterator = this.minecartToSpawn.iterator(); + + while (iterator.hasNext()) { + WeightedRandomMinecart weightedrandomminecart = (WeightedRandomMinecart) iterator.next(); + nbttaglist.appendTag(weightedrandomminecart.func_98220_a()); + } + } else { + nbttaglist.appendTag(this.getRandomEntity().func_98220_a()); + } + + par1NBTTagCompound.setTag("SpawnPotentials", nbttaglist); + } + } + + /** + * Sets the delay to minDelay if parameter given is 1, else return false. + */ + @Override + public boolean setDelayToMin(int par1) { + if (par1 == 1 && this.getSpawnerWorld().isRemote) { + this.spawnDelay = this.minSpawnDelay; + return true; + } else { + return false; + } + } + + @Override + @SideOnly(Side.CLIENT) + public Entity func_98281_h() { + if (this.field_98291_j == null) { + Entity entity = EntityList.createEntityByName(this.getEntityNameToSpawn(), (World) null); + entity = this.func_98265_a(entity); + this.field_98291_j = entity; + } + + return this.field_98291_j; + } + + @Override + public WeightedRandomMinecart getRandomEntity() { + return this.randomMinecart; + } + + @Override + public void setRandomEntity(WeightedRandomMinecart par1WeightedRandomMinecart) { + this.randomMinecart = par1WeightedRandomMinecart; + } + + @Override + public abstract void func_98267_a(int i); + + public abstract World getSpawnerWorld(); + + public abstract int getSpawnerX(); + + public abstract int getSpawnerY(); + + public abstract int getSpawnerZ(); +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestSpawnerLogic.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestSpawnerLogic.java new file mode 100644 index 0000000..c491e61 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestSpawnerLogic.java @@ -0,0 +1,46 @@ +package com.teammetallurgy.atum.blocks.tileentity.chests; + +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +class CursedChestSpawnerLogic extends CursedChestBaseLogic { + + final TileEntityChestSpawner field_98295_a; + + CursedChestSpawnerLogic(TileEntityChestSpawner tileEntityChestSpawner) { + this.field_98295_a = tileEntityChestSpawner; + } + + @Override + public void func_98267_a(int par1) { + this.field_98295_a.getWorldObj().addBlockEvent(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord, Blocks.mob_spawner, par1, 0); + } + + @Override + public World getSpawnerWorld() { + return this.field_98295_a.getWorldObj(); + } + + @Override + public int getSpawnerX() { + return this.field_98295_a.xCoord; + } + + @Override + public int getSpawnerY() { + return this.field_98295_a.yCoord; + } + + @Override + public int getSpawnerZ() { + return this.field_98295_a.zCoord; + } + + @Override + public void setRandomEntity(WeightedRandomMinecart par1WeightedRandomMinecart) { + super.setRandomEntity(par1WeightedRandomMinecart); + if (this.getSpawnerWorld() != null) { + this.getSpawnerWorld().markBlockForUpdate(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord); + } + } +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java new file mode 100644 index 0000000..8aaa9a2 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java @@ -0,0 +1,346 @@ +package com.teammetallurgy.atum.blocks.tileentity.chests; + +import com.teammetallurgy.atum.blocks.BlockChestSpawner; +import net.minecraft.block.BlockChest; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.ContainerChest; +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.InventoryLargeChest; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntityChest; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.StatCollector; + +import java.util.Iterator; +import java.util.List; + +public class TileEntityChestSpawner extends TileEntityChest implements IInventory { + + private final CursedChestSpawnerLogic chestSpawner = new CursedChestSpawnerLogic(this); + public float f; + public float g; + public int h; + private ItemStack[] chestContents = new ItemStack[36]; + private int ticksSinceSync; + private int field_94046_i = -1; + private String field_94045_s; + + public TileEntityChestSpawner() { + int entityID = (int) (Math.random() * 6.0D); + if (entityID == 0) { + this.chestSpawner.setEntityName("AtumMummy"); + } + + if (entityID == 1) { + this.chestSpawner.setEntityName("AtumBanditWarrior"); + } + + if (entityID == 2) { + this.chestSpawner.setEntityName("AtumBanditArcher"); + } + + if (entityID == 3) { + this.chestSpawner.setEntityName("AtumDustySkeleton"); + } + + if (entityID == 4) { + this.chestSpawner.setEntityName("AtumDesertGhost"); + } + + if (entityID == 5) { + this.chestSpawner.setEntityName("AtumStoneSoldier"); + } + + if (entityID == 6) { + this.chestSpawner.setEntityName("AtumDesertWolf"); + } + + this.chestSpawner.minSpawnDelay = 0; + } + + public void setSpawnerEntity(String name) { + this.chestSpawner.setEntityName(name); + } + + public void setMaxEntities(int max) { + this.chestSpawner.spawnCount = max; + } + + public void setDelay(int min, int max) { + this.chestSpawner.minSpawnDelay = min; + this.chestSpawner.maxSpawnDelay = max; + } + + public void setRange(int range) { + this.chestSpawner.spawnRange = range; + } + + @Override + public int getSizeInventory() { + return 27; + } + + @Override + public ItemStack getStackInSlot(int par1) { + return this.chestContents[par1]; + } + + @Override + public ItemStack decrStackSize(int par1, int par2) { + if (this.chestContents[par1] != null) { + ItemStack itemstack; + if (this.chestContents[par1].stackSize <= par2) { + itemstack = this.chestContents[par1]; + this.chestContents[par1] = null; + this.markDirty(); + return itemstack; + } else { + itemstack = this.chestContents[par1].splitStack(par2); + if (this.chestContents[par1].stackSize == 0) { + this.chestContents[par1] = null; + } + + this.markDirty(); + return itemstack; + } + } else { + return null; + } + } + + @Override + public ItemStack getStackInSlotOnClosing(int par1) { + if (this.chestContents[par1] != null) { + ItemStack itemstack = this.chestContents[par1]; + this.chestContents[par1] = null; + return itemstack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { + this.chestContents[par1] = par2ItemStack; + if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { + par2ItemStack.stackSize = this.getInventoryStackLimit(); + } + + this.markDirty(); + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.field_94045_s : "container.chest"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.field_94045_s != null && this.field_94045_s.length() > 0; + } + + @Override + public void func_145976_a(String p_145976_1_) { + this.field_94045_s = p_145976_1_; + } + + @Override + public void readFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readFromNBT(par1NBTTagCompound); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 10); + this.chestContents = new ItemStack[this.getSizeInventory()]; + if (par1NBTTagCompound.hasKey("CustomName")) { + this.field_94045_s = par1NBTTagCompound.getString("CustomName"); + } + + for (int i = 0; i < nbttaglist.tagCount(); ++i) { + NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.getCompoundTagAt(i); + int j = nbttagcompound1.getByte("Slot") & 255; + if (j >= 0 && j < this.chestContents.length) { + this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); + } + } + + this.chestSpawner.readFromNBT(par1NBTTagCompound); + } + + @Override + public void writeToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeToNBT(par1NBTTagCompound); + NBTTagList nbttaglist = new NBTTagList(); + + for (int i = 0; i < this.chestContents.length; ++i) { + if (this.chestContents[i] != null) { + NBTTagCompound nbttagcompound1 = new NBTTagCompound(); + nbttagcompound1.setByte("Slot", (byte) i); + this.chestContents[i].writeToNBT(nbttagcompound1); + nbttaglist.appendTag(nbttagcompound1); + } + } + + par1NBTTagCompound.setTag("Items", nbttaglist); + if (this.hasCustomInventoryName()) { + par1NBTTagCompound.setString("CustomName", this.field_94045_s); + } + + this.chestSpawner.writeToNBT(par1NBTTagCompound); + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { + double d0 = 4.0D; + double d1 = 3.0D; + List list = super.worldObj.getEntitiesWithinAABB(EntityMob.class, AxisAlignedBB.getBoundingBox((double) super.xCoord - d0, (double) super.yCoord - d1, (double) super.zCoord - d0, (double) super.xCoord + d0, (double) super.yCoord + d1, (double) super.zCoord + d0)); + if (!list.isEmpty()) { + if (!super.worldObj.isRemote) { + par1EntityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chat.atum.enemies"))); + } + + return false; + } else { + return super.worldObj.getTileEntity(super.xCoord, super.yCoord, super.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) super.xCoord + 0.5D, (double) super.yCoord + 0.5D, (double) super.zCoord + 0.5D) <= 64.0D; + } + } + + + @Override + public void updateEntity() { + this.chestSpawner.updateSpawner(); + ++this.ticksSinceSync; + float f; + + if (!this.worldObj.isRemote && this.numPlayersUsing != 0 && (this.ticksSinceSync + this.xCoord + this.yCoord + this.zCoord) % 200 == 0) { + this.numPlayersUsing = 0; + f = 5.0F; + List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox((double) ((float) this.xCoord - f), (double) ((float) this.yCoord - f), (double) ((float) this.zCoord - f), (double) ((float) (this.xCoord + 1) + f), (double) ((float) (this.yCoord + 1) + f), (double) ((float) (this.zCoord + 1) + f))); + Iterator iterator = list.iterator(); + + while (iterator.hasNext()) { + EntityPlayer entityplayer = (EntityPlayer) iterator.next(); + + if (entityplayer.openContainer instanceof ContainerChest) { + IInventory iinventory = ((ContainerChest) entityplayer.openContainer).getLowerChestInventory(); + + if (iinventory == this || iinventory instanceof InventoryLargeChest && ((InventoryLargeChest) iinventory).isPartOfLargeChest(this)) { + ++this.numPlayersUsing; + } + } + } + } + + this.prevLidAngle = this.lidAngle; + f = 0.1F; + double d2; + + if (this.numPlayersUsing > 0 && this.lidAngle == 0.0F && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { + double d1 = (double) this.xCoord + 0.5D; + d2 = (double) this.zCoord + 0.5D; + + if (this.adjacentChestZPos != null) { + d2 += 0.5D; + } + + if (this.adjacentChestXPos != null) { + d1 += 0.5D; + } + + this.worldObj.playSoundEffect(d1, (double) this.yCoord + 0.5D, d2, "random.chestopen", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if (this.numPlayersUsing == 0 && this.lidAngle > 0.0F || this.numPlayersUsing > 0 && this.lidAngle < 1.0F) { + float f1 = this.lidAngle; + + if (this.numPlayersUsing > 0) { + this.lidAngle += f; + } else { + this.lidAngle -= f; + } + + if (this.lidAngle > 1.0F) { + this.lidAngle = 1.0F; + } + + float f2 = 0.5F; + + if (this.lidAngle < f2 && f1 >= f2 && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { + d2 = (double) this.xCoord + 0.5D; + double d0 = (double) this.zCoord + 0.5D; + + if (this.adjacentChestZPos != null) { + d0 += 0.5D; + } + + if (this.adjacentChestXPos != null) { + d2 += 0.5D; + } + + this.worldObj.playSoundEffect(d2, (double) this.yCoord + 0.5D, d0, "random.chestclosed", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if (this.lidAngle < 0.0F) { + this.lidAngle = 0.0F; + } + } + } + + @Override + public boolean receiveClientEvent(int par1, int par2) { + if (par1 == 1) { + super.numPlayersUsing = par2; + return true; + } else { + return super.receiveClientEvent(par1, par2); + } + } + + @Override + public void openInventory() { + if (super.numPlayersUsing < 0) { + super.numPlayersUsing = 0; + } + + ++super.numPlayersUsing; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); + } + + @Override + public void closeInventory() { + if (this.getBlockType() != null && this.getBlockType() instanceof BlockChestSpawner) { + --super.numPlayersUsing; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); + } + } + + @Override + public void invalidate() { + super.invalidate(); + this.updateContainingBlockInfo(); + } + + @Override + public int func_145980_j() { + if (this.field_94046_i == -1) { + if (super.worldObj == null || !(this.getBlockType() instanceof BlockChest)) { + return 0; + } + + this.field_94046_i = ((BlockChest) this.getBlockType()).field_149956_a; + } + + return this.field_94046_i; + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java new file mode 100644 index 0000000..174e6af --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java @@ -0,0 +1,331 @@ +package com.teammetallurgy.atum.blocks.tileentity.chests; + +import com.teammetallurgy.atum.blocks.BlockChestSpawner; +import com.teammetallurgy.atum.entity.EntityMummy; +import com.teammetallurgy.atum.entity.EntityPharaoh; +import cpw.mods.fml.common.FMLCommonHandler; +import net.minecraft.block.Block; +import net.minecraft.block.BlockChest; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.ContainerChest; +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.InventoryLargeChest; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntityChest; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.StatCollector; + +import java.util.Iterator; +import java.util.List; + +public class TileEntityPharaohChest extends TileEntityChest implements IInventory { + + public float f; + public float g; + public int h; + private ItemStack[] chestContents = new ItemStack[36]; + private int ticksSinceSync; + private int field_94046_i = -1; + private String field_94045_s; + private boolean hasSpawned = false; + private boolean isOpenable = false; + + public int getSizeInventory() { + return 27; + } + + public ItemStack getStackInSlot(int par1) { + return this.chestContents[par1]; + } + + public ItemStack decrStackSize(int par1, int par2) { + if (this.chestContents[par1] != null) { + ItemStack itemstack; + if (this.chestContents[par1].stackSize <= par2) { + itemstack = this.chestContents[par1]; + this.chestContents[par1] = null; + this.markDirty(); + return itemstack; + } else { + itemstack = this.chestContents[par1].splitStack(par2); + if (this.chestContents[par1].stackSize == 0) { + this.chestContents[par1] = null; + } + + this.markDirty(); + return itemstack; + } + } else { + return null; + } + } + + public ItemStack getStackInSlotOnClosing(int par1) { + if (this.chestContents[par1] != null) { + ItemStack itemstack = this.chestContents[par1]; + this.chestContents[par1] = null; + return itemstack; + } else { + return null; + } + } + + public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { + this.chestContents[par1] = par2ItemStack; + if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { + par2ItemStack.stackSize = this.getInventoryStackLimit(); + } + + this.markDirty(); + } + + public String getInvName() { + return this.isInvNameLocalized() ? this.field_94045_s : "container.chest"; + } + + public boolean isInvNameLocalized() { + return this.field_94045_s != null && this.field_94045_s.length() > 0; + } + + public void func_94043_a(String par1Str) { + this.field_94045_s = par1Str; + } + + public void readFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readFromNBT(par1NBTTagCompound); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 10); + this.chestContents = new ItemStack[this.getSizeInventory()]; + if (par1NBTTagCompound.hasKey("CustomName")) { + this.field_94045_s = par1NBTTagCompound.getString("CustomName"); + } + + for (int i = 0; i < nbttaglist.tagCount(); ++i) { + NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.getCompoundTagAt(i); + int j = nbttagcompound1.getByte("Slot") & 255; + if (j >= 0 && j < this.chestContents.length) { + this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); + } + } + + this.hasSpawned = par1NBTTagCompound.getBoolean("spawned"); + this.isOpenable = par1NBTTagCompound.getBoolean("openable"); + } + + public void writeToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeToNBT(par1NBTTagCompound); + NBTTagList nbttaglist = new NBTTagList(); + + for (int i = 0; i < this.chestContents.length; ++i) { + if (this.chestContents[i] != null) { + NBTTagCompound nbttagcompound1 = new NBTTagCompound(); + nbttagcompound1.setByte("Slot", (byte) i); + this.chestContents[i].writeToNBT(nbttagcompound1); + nbttaglist.appendTag(nbttagcompound1); + } + } + + par1NBTTagCompound.setTag("Items", nbttaglist); + if (this.isInvNameLocalized()) { + par1NBTTagCompound.setString("CustomName", this.field_94045_s); + } + + par1NBTTagCompound.setBoolean("spawned", this.hasSpawned); + par1NBTTagCompound.setBoolean("openable", this.isOpenable); + } + + public int getInventoryStackLimit() { + return 64; + } + + public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { + return !this.isOpenable ? false : (this.isOpenable && super.worldObj.getTileEntity(super.xCoord, super.yCoord, super.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) super.xCoord + 0.5D, (double) super.yCoord + 0.5D, (double) super.zCoord + 0.5D) <= 64.0D); + } + + private boolean func_94044_a(int par1, int par2, int par3) { + Block block = this.worldObj.getBlock(par1, par2, par3); + return block != null && block instanceof BlockChest ? ((BlockChest) block).field_149956_a == this.func_98041_l() : false; + } + + @Override + public void updateEntity() { + ++this.ticksSinceSync; + float f; + + if (!this.worldObj.isRemote && this.numPlayersUsing != 0 && (this.ticksSinceSync + this.xCoord + this.yCoord + this.zCoord) % 200 == 0) { + this.numPlayersUsing = 0; + f = 5.0F; + List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox((double) ((float) this.xCoord - f), (double) ((float) this.yCoord - f), (double) ((float) this.zCoord - f), (double) ((float) (this.xCoord + 1) + f), (double) ((float) (this.yCoord + 1) + f), (double) ((float) (this.zCoord + 1) + f))); + Iterator iterator = list.iterator(); + + while (iterator.hasNext()) { + EntityPlayer entityplayer = (EntityPlayer) iterator.next(); + + if (entityplayer.openContainer instanceof ContainerChest) { + IInventory iinventory = ((ContainerChest) entityplayer.openContainer).getLowerChestInventory(); + + if (iinventory == this || iinventory instanceof InventoryLargeChest && ((InventoryLargeChest) iinventory).isPartOfLargeChest(this)) { + ++this.numPlayersUsing; + } + } + } + } + + this.prevLidAngle = this.lidAngle; + f = 0.1F; + double d2; + + if (this.numPlayersUsing > 0 && this.lidAngle == 0.0F && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { + double d1 = (double) this.xCoord + 0.5D; + d2 = (double) this.zCoord + 0.5D; + + if (this.adjacentChestZPos != null) { + d2 += 0.5D; + } + + if (this.adjacentChestXPos != null) { + d1 += 0.5D; + } + + this.worldObj.playSoundEffect(d1, (double) this.yCoord + 0.5D, d2, "random.chestopen", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if (this.numPlayersUsing == 0 && this.lidAngle > 0.0F || this.numPlayersUsing > 0 && this.lidAngle < 1.0F) { + float f1 = this.lidAngle; + + if (this.numPlayersUsing > 0) { + this.lidAngle += f; + } else { + this.lidAngle -= f; + } + + if (this.lidAngle > 1.0F) { + this.lidAngle = 1.0F; + } + + float f2 = 0.5F; + + if (this.lidAngle < f2 && f1 >= f2 && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { + d2 = (double) this.xCoord + 0.5D; + double d0 = (double) this.zCoord + 0.5D; + + if (this.adjacentChestZPos != null) { + d0 += 0.5D; + } + + if (this.adjacentChestXPos != null) { + d2 += 0.5D; + } + + this.worldObj.playSoundEffect(d2, (double) this.yCoord + 0.5D, d0, "random.chestclosed", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if (this.lidAngle < 0.0F) { + this.lidAngle = 0.0F; + } + } + } + + public boolean receiveClientEvent(int par1, int par2) { + if (par1 == 1) { + super.numPlayersUsing = par2; + return true; + } else { + return super.receiveClientEvent(par1, par2); + } + } + + @Override + public void openInventory() { + if (super.numPlayersUsing < 0) { + super.numPlayersUsing = 0; + } + + ++super.numPlayersUsing; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); + } + + @Override + public void closeInventory() { + if (this.getBlockType() != null && this.getBlockType() instanceof BlockChestSpawner) { + --super.numPlayersUsing; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); + } + } + + + public void invalidate() { + super.invalidate(); + this.updateContainingBlockInfo(); + } + + public int func_98041_l() { + if (this.field_94046_i == -1) { + if (super.worldObj == null || !(this.getBlockType() instanceof BlockChest)) { + return 0; + } + + this.field_94046_i = ((BlockChest) this.getBlockType()).field_149956_a; + } + + return this.field_94046_i; + } + + public void setOpenable() { + this.isOpenable = true; + } + + public boolean hasSpawned() { + return this.hasSpawned; + } + + public void spawn(EntityPlayer player) { + EntityPharaoh pharaoh = new EntityPharaoh(super.worldObj); + pharaoh.setPosition((double) super.xCoord + 0.5D, (double) (super.yCoord + 1), (double) super.zCoord + 0.5D); + pharaoh.link(super.xCoord, super.yCoord, super.zCoord); + if (!super.worldObj.isRemote) { + super.worldObj.spawnEntityInWorld(pharaoh); + } + + pharaoh.spawnExplosionParticle(); + this.hasSpawned = true; + EntityMummy mummy1 = new EntityMummy(super.worldObj); + mummy1.setPosition((double) super.xCoord + 0.5D, (double) super.yCoord, (double) super.zCoord - 0.5D); + if (!super.worldObj.isRemote) { + super.worldObj.spawnEntityInWorld(mummy1); + } + + mummy1.spawnExplosionParticle(); + EntityMummy mummy2 = new EntityMummy(super.worldObj); + mummy2.setPosition((double) super.xCoord + 0.5D, (double) super.yCoord, (double) super.zCoord + 1.5D); + if (!super.worldObj.isRemote) { + super.worldObj.spawnEntityInWorld(mummy2); + } + + mummy2.spawnExplosionParticle(); + if (!super.worldObj.isRemote) { + List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; + Iterator i = players.iterator(); + + while (i.hasNext()) { + EntityPlayer p = (EntityPlayer) i.next(); + p.addChatMessage(new ChatComponentText(pharaoh.getCommandSenderName() + " " + StatCollector.translateToLocal("chat.atum.summonPharaoh") + " " + player.getGameProfile().getName())); + } + } + + if (!super.worldObj.isRemote) { + super.worldObj.playSoundAtEntity(pharaoh, "Atum.pharaohspawn", 1.0F, 1.0F); + } + + } + + public void setPharaohDespawned() { + this.hasSpawned = false; + } +} diff --git a/common/rebelkeithy/mods/atum/furnace/ContainerLimestoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/ContainerLimestoneFurnace.java similarity index 69% rename from common/rebelkeithy/mods/atum/furnace/ContainerLimestoneFurnace.java rename to src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/ContainerLimestoneFurnace.java index 85417c5..a0493e6 100644 --- a/common/rebelkeithy/mods/atum/furnace/ContainerLimestoneFurnace.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/ContainerLimestoneFurnace.java @@ -1,5 +1,7 @@ -package rebelkeithy.mods.atum.furnace; +package com.teammetallurgy.atum.blocks.tileentity.furnace; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -9,41 +11,33 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.tileentity.TileEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class ContainerLimestoneFurnace extends Container -{ +public class ContainerLimestoneFurnace extends Container { private TileEntityLimestoneFurnace furnace; private int lastCookTime = 0; private int lastBurnTime = 0; private int lastItemBurnTime = 0; - public ContainerLimestoneFurnace(InventoryPlayer par1InventoryPlayer, TileEntity par2TileEntityLimestoneFurnace) - { + public ContainerLimestoneFurnace(InventoryPlayer par1InventoryPlayer, TileEntity par2TileEntityLimestoneFurnace) { this.furnace = (TileEntityLimestoneFurnace) par2TileEntityLimestoneFurnace; this.addSlotToContainer(new Slot(furnace, 0, 56, 17)); this.addSlotToContainer(new Slot(furnace, 1, 56, 53)); this.addSlotToContainer(new SlotFurnace(par1InventoryPlayer.player, furnace, 2, 116, 35)); int i; - for (i = 0; i < 3; ++i) - { - for (int j = 0; j < 9; ++j) - { + for (i = 0; i < 3; ++i) { + for (int j = 0; j < 9; ++j) { this.addSlotToContainer(new Slot(par1InventoryPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); } } - for (i = 0; i < 9; ++i) - { + for (i = 0; i < 9; ++i) { this.addSlotToContainer(new Slot(par1InventoryPlayer, i, 8 + i * 18, 142)); } } @Override - public void addCraftingToCrafters(ICrafting par1ICrafting) - { + public void addCraftingToCrafters(ICrafting par1ICrafting) { super.addCraftingToCrafters(par1ICrafting); par1ICrafting.sendProgressBarUpdate(this, 0, this.furnace.furnaceCookTime); par1ICrafting.sendProgressBarUpdate(this, 1, this.furnace.furnaceBurnTime); @@ -54,26 +48,21 @@ public void addCraftingToCrafters(ICrafting par1ICrafting) * Looks for changes made in the container, sends them to every listener. */ @Override - public void detectAndSendChanges() - { + public void detectAndSendChanges() { super.detectAndSendChanges(); - for (int i = 0; i < this.crafters.size(); ++i) - { - ICrafting icrafting = (ICrafting)this.crafters.get(i); + for (int i = 0; i < this.crafters.size(); ++i) { + ICrafting icrafting = (ICrafting) this.crafters.get(i); - if (this.lastCookTime != this.furnace.furnaceCookTime) - { + if (this.lastCookTime != this.furnace.furnaceCookTime) { icrafting.sendProgressBarUpdate(this, 0, this.furnace.furnaceCookTime); } - if (this.lastBurnTime != this.furnace.furnaceBurnTime) - { + if (this.lastBurnTime != this.furnace.furnaceBurnTime) { icrafting.sendProgressBarUpdate(this, 1, this.furnace.furnaceBurnTime); } - if (this.lastItemBurnTime != this.furnace.currentItemBurnTime) - { + if (this.lastItemBurnTime != this.furnace.currentItemBurnTime) { icrafting.sendProgressBarUpdate(this, 2, this.furnace.currentItemBurnTime); } } @@ -85,27 +74,22 @@ public void detectAndSendChanges() @SideOnly(Side.CLIENT) @Override - public void updateProgressBar(int par1, int par2) - { - if (par1 == 0) - { + public void updateProgressBar(int par1, int par2) { + if (par1 == 0) { this.furnace.furnaceCookTime = par2; } - if (par1 == 1) - { + if (par1 == 1) { this.furnace.furnaceBurnTime = par2; } - if (par1 == 2) - { + if (par1 == 2) { this.furnace.currentItemBurnTime = par2; } } @Override - public boolean canInteractWith(EntityPlayer par1EntityPlayer) - { + public boolean canInteractWith(EntityPlayer par1EntityPlayer) { return this.furnace.isUseableByPlayer(par1EntityPlayer); } @@ -113,69 +97,47 @@ public boolean canInteractWith(EntityPlayer par1EntityPlayer) * Called when a player shift-clicks on a slot. You must override this or you will crash when someone does that. */ @Override - public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) - { + public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) { ItemStack itemstack = null; - Slot slot = (Slot)this.inventorySlots.get(par2); + Slot slot = (Slot) this.inventorySlots.get(par2); - if (slot != null && slot.getHasStack()) - { + if (slot != null && slot.getHasStack()) { ItemStack itemstack1 = slot.getStack(); itemstack = itemstack1.copy(); - if (par2 == 2) - { - if (!this.mergeItemStack(itemstack1, 3, 39, true)) - { + if (par2 == 2) { + if (!this.mergeItemStack(itemstack1, 3, 39, true)) { return null; } slot.onSlotChange(itemstack1, itemstack); - } - else if (par2 != 1 && par2 != 0) - { - if (FurnaceRecipes.smelting().getSmeltingResult(itemstack1) != null) - { - if (!this.mergeItemStack(itemstack1, 0, 1, false)) - { + } else if (par2 != 1 && par2 != 0) { + if (FurnaceRecipes.smelting().getSmeltingResult(itemstack1) != null) { + if (!this.mergeItemStack(itemstack1, 0, 1, false)) { return null; } - } - else if (TileEntityLimestoneFurnace.isItemFuel(itemstack1)) - { - if (!this.mergeItemStack(itemstack1, 1, 2, false)) - { + } else if (TileEntityLimestoneFurnace.isItemFuel(itemstack1)) { + if (!this.mergeItemStack(itemstack1, 1, 2, false)) { return null; } - } - else if (par2 >= 3 && par2 < 30) - { - if (!this.mergeItemStack(itemstack1, 30, 39, false)) - { + } else if (par2 >= 3 && par2 < 30) { + if (!this.mergeItemStack(itemstack1, 30, 39, false)) { return null; } - } - else if (par2 >= 30 && par2 < 39 && !this.mergeItemStack(itemstack1, 3, 30, false)) - { + } else if (par2 >= 30 && par2 < 39 && !this.mergeItemStack(itemstack1, 3, 30, false)) { return null; } - } - else if (!this.mergeItemStack(itemstack1, 3, 39, false)) - { + } else if (!this.mergeItemStack(itemstack1, 3, 39, false)) { return null; } - if (itemstack1.stackSize == 0) - { - slot.putStack((ItemStack)null); - } - else - { + if (itemstack1.stackSize == 0) { + slot.putStack((ItemStack) null); + } else { slot.onSlotChanged(); } - if (itemstack1.stackSize == itemstack.stackSize) - { + if (itemstack1.stackSize == itemstack.stackSize) { return null; } diff --git a/common/rebelkeithy/mods/atum/furnace/GuiLimestoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java similarity index 65% rename from common/rebelkeithy/mods/atum/furnace/GuiLimestoneFurnace.java rename to src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java index 1fdf0a7..ebc60a0 100644 --- a/common/rebelkeithy/mods/atum/furnace/GuiLimestoneFurnace.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java @@ -1,50 +1,48 @@ -package rebelkeithy.mods.atum.furnace; +package com.teammetallurgy.atum.blocks.tileentity.furnace; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; import org.lwjgl.opengl.GL11; @SideOnly(Side.CLIENT) -public class GuiLimestoneFurnace extends GuiContainer -{ +public class GuiLimestoneFurnace extends GuiContainer { private TileEntityLimestoneFurnace furnaceInventory; - public GuiLimestoneFurnace(InventoryPlayer par1InventoryPlayer, TileEntity par2TileEntityLimestoneFurnace) - { + public GuiLimestoneFurnace(InventoryPlayer par1InventoryPlayer, TileEntity par2TileEntityLimestoneFurnace) { super(new ContainerLimestoneFurnace(par1InventoryPlayer, par2TileEntityLimestoneFurnace)); this.furnaceInventory = (TileEntityLimestoneFurnace) par2TileEntityLimestoneFurnace; } /** - * Draw the foreground layer for the GuiContainer (everything in front of the items) + * Draw the foreground layer for the GuiContainer (everything in front of + * the items) */ @Override - protected void drawGuiContainerForegroundLayer(int par1, int par2) - { - String s = this.furnaceInventory.isInvNameLocalized() ? this.furnaceInventory.getInvName() : StatCollector.translateToLocal(this.furnaceInventory.getInvName()); - this.fontRenderer.drawString(s, this.xSize / 2 - this.fontRenderer.getStringWidth(s) / 2, 6, 4210752); - this.fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + protected void drawGuiContainerForegroundLayer(int par1, int par2) { + String s = StatCollector.translateToLocal(this.furnaceInventory.getInventoryName()); + this.fontRendererObj.drawString(s, this.xSize / 2 - this.fontRendererObj.getStringWidth(s) / 2, 6, 4210752); + this.fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752); } /** - * Draw the background layer for the GuiContainer (everything behind the items) + * Draw the background layer for the GuiContainer (everything behind the + * items) */ @Override - protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) - { + protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - this.mc.renderEngine.bindTexture("/gui/furnace.png"); + this.mc.renderEngine.bindTexture(new ResourceLocation("textures/gui/container/furnace.png")); int k = (this.width - this.xSize) / 2; int l = (this.height - this.ySize) / 2; this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize); int i1; - if (this.furnaceInventory.isBurning()) - { + if (this.furnaceInventory.isBurning()) { i1 = this.furnaceInventory.getBurnTimeRemainingScaled(12); this.drawTexturedModalRect(k + 56, l + 36 + 12 - i1, 176, 12 - i1, 14, i1 + 2); } diff --git a/common/rebelkeithy/mods/atum/furnace/TileEntityLimestoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java similarity index 51% rename from common/rebelkeithy/mods/atum/furnace/TileEntityLimestoneFurnace.java rename to src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java index f946ddc..504458b 100644 --- a/common/rebelkeithy/mods/atum/furnace/TileEntityLimestoneFurnace.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java @@ -1,56 +1,103 @@ -package rebelkeithy.mods.atum.furnace; +package com.teammetallurgy.atum.blocks.tileentity.furnace; + +import com.teammetallurgy.atum.blocks.BlockLimeStoneFurnace; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; -import net.minecraft.block.BlockFurnace; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemHoe; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import net.minecraft.item.ItemTool; +import net.minecraft.item.*; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import net.minecraft.tileentity.TileEntityFurnace; -import net.minecraftforge.common.ForgeDirection; -import net.minecraftforge.common.ForgeDummyContainer; - -public class TileEntityLimestoneFurnace extends TileEntity implements ISidedInventory, net.minecraftforge.common.ISidedInventory -{ - private static final int[] field_102010_d = new int[] {0}; - private static final int[] field_102011_e = new int[] {2, 1}; - private static final int[] field_102009_f = new int[] {1}; +public class TileEntityLimestoneFurnace extends TileEntityFurnace implements ISidedInventory { + private static final int[] field_102010_d = new int[]{0}; + private static final int[] field_102011_e = new int[]{2, 1}; + private static final int[] field_102009_f = new int[]{1}; /** - * The ItemStacks that hold the items currently being used in the furnace + * The number of ticks that the furnace will keep burning */ - private ItemStack[] furnaceItemStacks = new ItemStack[3]; - - /** The number of ticks that the furnace will keep burning */ public int furnaceBurnTime = 0; - /** - * The number of ticks that a fresh copy of the currently-burning item would keep the furnace burning for + * The number of ticks that a fresh copy of the currently-burning item would + * keep the furnace burning for */ public int currentItemBurnTime = 0; - - /** The number of ticks that the current item has been cooking for */ + /** + * The number of ticks that the current item has been cooking for + */ public int furnaceCookTime = 0; + /** + * The ItemStacks that hold the items currently being used in the furnace + */ + private ItemStack[] furnaceItemStacks = new ItemStack[3]; private String field_94130_e; + /** + * Returns the number of ticks that the supplied fuel item will keep the + * furnace burning, or 0 if the item isn't fuel + */ + public static int getItemBurnTime(ItemStack par0ItemStack) { + if (par0ItemStack == null) { + return 0; + } else { + Item i = par0ItemStack.getItem(); + Item item = par0ItemStack.getItem(); + + if (par0ItemStack.getItem() instanceof ItemBlock && i != null) { + Block block = Block.getBlockFromItem(i); + + if (block == Blocks.wooden_slab) { + return 150; + } + + if (block.getMaterial() == Material.wood) { + return 300; + } + } + + if (item instanceof ItemTool && ((ItemTool) item).getToolMaterialName().equals("WOOD")) + return 200; + if (item instanceof ItemSword && ((ItemSword) item).getToolMaterialName().equals("WOOD")) + return 200; + if (item instanceof ItemHoe && ((ItemHoe) item).getToolMaterialName().equals("WOOD")) + return 200; + if (i == Items.stick) + return 100; + if (i == Items.coal) + return 1600; + if (i == Items.lava_bucket) + return 20000; + if (Block.getBlockFromItem(i) == Blocks.sapling) + return 100; + if (i == Items.blaze_rod) + return 2400; + return GameRegistry.getFuelValue(par0ItemStack); + } + } + + /** + * Return true if item is a fuel source (getItemBurnTime() > 0). + */ + public static boolean isItemFuel(ItemStack par0ItemStack) { + return getItemBurnTime(par0ItemStack) > 0; + } + /** * Returns the number of slots in the inventory. */ @Override - public int getSizeInventory() - { + public int getSizeInventory() { return this.furnaceItemStacks.length; } @@ -58,75 +105,62 @@ public int getSizeInventory() * Returns the stack in slot i */ @Override - public ItemStack getStackInSlot(int par1) - { + public ItemStack getStackInSlot(int par1) { return this.furnaceItemStacks[par1]; } /** - * Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a - * new stack. + * Removes from an inventory slot (first arg) up to a specified number + * (second arg) of items and returns them in a new stack. */ @Override - public ItemStack decrStackSize(int par1, int par2) - { - if (this.furnaceItemStacks[par1] != null) - { + public ItemStack decrStackSize(int par1, int par2) { + if (this.furnaceItemStacks[par1] != null) { ItemStack itemstack; - if (this.furnaceItemStacks[par1].stackSize <= par2) - { + if (this.furnaceItemStacks[par1].stackSize <= par2) { itemstack = this.furnaceItemStacks[par1]; this.furnaceItemStacks[par1] = null; return itemstack; - } - else - { + } else { itemstack = this.furnaceItemStacks[par1].splitStack(par2); - if (this.furnaceItemStacks[par1].stackSize == 0) - { + if (this.furnaceItemStacks[par1].stackSize == 0) { this.furnaceItemStacks[par1] = null; } return itemstack; } - } - else - { + } else { return null; } } /** - * When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - - * like when you close a workbench GUI. + * When some containers are closed they call this on each slot, then drop + * whatever it returns as an EntityItem - like when you close a workbench + * GUI. */ @Override - public ItemStack getStackInSlotOnClosing(int par1) - { - if (this.furnaceItemStacks[par1] != null) - { + public ItemStack getStackInSlotOnClosing(int par1) { + if (this.furnaceItemStacks[par1] != null) { ItemStack itemstack = this.furnaceItemStacks[par1]; this.furnaceItemStacks[par1] = null; return itemstack; - } - else - { + } else { return null; } } /** - * Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections). + * Sets the given item stack to the specified slot in the inventory (can be + * crafting or armor sections). */ @Override - public void setInventorySlotContents(int par1, ItemStack par2ItemStack) - { + public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { this.furnaceItemStacks[par1] = par2ItemStack; - if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) - { + if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { par2ItemStack.stackSize = this.getInventoryStackLimit(); } } @@ -135,23 +169,21 @@ public void setInventorySlotContents(int par1, ItemStack par2ItemStack) * Returns the name of the inventory. */ @Override - public String getInvName() - { - return this.isInvNameLocalized() ? this.field_94130_e : "container.furnace"; + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.field_94130_e : "container.limestoneFurnace"; } /** - * If this returns false, the inventory name will be used as an unlocalized name, and translated into the player's - * language. Otherwise it will be used directly. + * If this returns false, the inventory name will be used as an unlocalized + * name, and translated into the player's language. Otherwise it will be + * used directly. */ @Override - public boolean isInvNameLocalized() - { + public boolean hasCustomInventoryName() { return this.field_94130_e != null && this.field_94130_e.length() > 0; } - public void func_94129_a(String par1Str) - { + public void func_94129_a(String par1Str) { this.field_94130_e = par1Str; } @@ -159,19 +191,16 @@ public void func_94129_a(String par1Str) * Reads a tile entity from NBT. */ @Override - public void readFromNBT(NBTTagCompound par1NBTTagCompound) - { + public void readFromNBT(NBTTagCompound par1NBTTagCompound) { super.readFromNBT(par1NBTTagCompound); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items"); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 10); this.furnaceItemStacks = new ItemStack[this.getSizeInventory()]; - for (int i = 0; i < nbttaglist.tagCount(); ++i) - { - NBTTagCompound nbttagcompound1 = (NBTTagCompound)nbttaglist.tagAt(i); + for (int i = 0; i < nbttaglist.tagCount(); ++i) { + NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.getCompoundTagAt(i); byte b0 = nbttagcompound1.getByte("Slot"); - if (b0 >= 0 && b0 < this.furnaceItemStacks.length) - { + if (b0 >= 0 && b0 < this.furnaceItemStacks.length) { this.furnaceItemStacks[b0] = ItemStack.loadItemStackFromNBT(nbttagcompound1); } } @@ -180,8 +209,7 @@ public void readFromNBT(NBTTagCompound par1NBTTagCompound) this.furnaceCookTime = par1NBTTagCompound.getShort("CookTime"); this.currentItemBurnTime = getItemBurnTime(this.furnaceItemStacks[1]); - if (par1NBTTagCompound.hasKey("CustomName")) - { + if (par1NBTTagCompound.hasKey("CustomName")) { this.field_94130_e = par1NBTTagCompound.getString("CustomName"); } } @@ -190,19 +218,16 @@ public void readFromNBT(NBTTagCompound par1NBTTagCompound) * Writes a tile entity to NBT. */ @Override - public void writeToNBT(NBTTagCompound par1NBTTagCompound) - { + public void writeToNBT(NBTTagCompound par1NBTTagCompound) { super.writeToNBT(par1NBTTagCompound); - par1NBTTagCompound.setShort("BurnTime", (short)this.furnaceBurnTime); - par1NBTTagCompound.setShort("CookTime", (short)this.furnaceCookTime); + par1NBTTagCompound.setShort("BurnTime", (short) this.furnaceBurnTime); + par1NBTTagCompound.setShort("CookTime", (short) this.furnaceCookTime); NBTTagList nbttaglist = new NBTTagList(); - for (int i = 0; i < this.furnaceItemStacks.length; ++i) - { - if (this.furnaceItemStacks[i] != null) - { + for (int i = 0; i < this.furnaceItemStacks.length; ++i) { + if (this.furnaceItemStacks[i] != null) { NBTTagCompound nbttagcompound1 = new NBTTagCompound(); - nbttagcompound1.setByte("Slot", (byte)i); + nbttagcompound1.setByte("Slot", (byte) i); this.furnaceItemStacks[i].writeToNBT(nbttagcompound1); nbttaglist.appendTag(nbttagcompound1); } @@ -210,43 +235,67 @@ public void writeToNBT(NBTTagCompound par1NBTTagCompound) par1NBTTagCompound.setTag("Items", nbttaglist); - if (this.isInvNameLocalized()) - { + if (this.hasCustomInventoryName()) { par1NBTTagCompound.setString("CustomName", this.field_94130_e); } } /** - * Returns the maximum stack size for a inventory slot. Seems to always be 64, possibly will be extended. *Isn't - * this more of a set than a get?* + * Called on receiving a packet + * @param net Network Manager + * @param pkt packet */ @Override - public int getInventoryStackLimit() - { + public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { + + NBTTagCompound nbtTag = pkt.func_148857_g(); + + if (nbtTag == null) + return; + + this.readFromNBT(nbtTag); + } + + /** + * Called when syncing tile entities + * @return S35 packet + */ + @Override + public Packet getDescriptionPacket() { + + NBTTagCompound nbtTag = new NBTTagCompound(); + this.writeToNBT(nbtTag); + + S35PacketUpdateTileEntity packet = new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 1, nbtTag); + + return packet; + } + + /** + * Returns the maximum stack size for a inventory slot. Seems to always be + * 64, possibly will be extended. *Isn't this more of a set than a get?* + */ + @Override + public int getInventoryStackLimit() { return 64; } @SideOnly(Side.CLIENT) - /** * Returns an integer between 0 and the passed value representing how close the current item is to being completely * cooked */ - public int getCookProgressScaled(int par1) - { + public int getCookProgressScaled(int par1) { return this.furnaceCookTime * par1 / 200; } @SideOnly(Side.CLIENT) - /** * Returns an integer between 0 and the passed value representing how much burn time is left on the current fuel * item, where 0 means that the item is exhausted and the passed value means that the item is fresh */ - public int getBurnTimeRemainingScaled(int par1) - { - if (this.currentItemBurnTime == 0) - { + public int getBurnTimeRemainingScaled(int par1) { + if (this.currentItemBurnTime == 0) { this.currentItemBurnTime = 200; } @@ -256,195 +305,121 @@ public int getBurnTimeRemainingScaled(int par1) /** * Returns true if the furnace is currently burning */ - public boolean isBurning() - { + public boolean isBurning() { return this.furnaceBurnTime > 0; } /** - * Allows the entity to update its state. Overridden in most subclasses, e.g. the mob spawner uses this to count - * ticks and creates a new spawn inside its implementation. + * Allows the entity to update its state. Overridden in most subclasses, + * e.g. the mob spawner uses this to count ticks and creates a new spawn + * inside its implementation. */ @Override - public void updateEntity() - { + public void updateEntity() { boolean flag = this.furnaceBurnTime > 0; boolean flag1 = false; - if (this.furnaceBurnTime > 0) - { + if (this.furnaceBurnTime > 0) { --this.furnaceBurnTime; } - if (!this.worldObj.isRemote) - { - if (this.furnaceBurnTime == 0 && this.canSmelt()) - { + if (!this.worldObj.isRemote) { + if (this.furnaceBurnTime == 0 && this.canSmelt()) { this.currentItemBurnTime = this.furnaceBurnTime = getItemBurnTime(this.furnaceItemStacks[1]); - if (this.furnaceBurnTime > 0) - { + if (this.furnaceBurnTime > 0) { flag1 = true; - if (this.furnaceItemStacks[1] != null) - { + if (this.furnaceItemStacks[1] != null) { --this.furnaceItemStacks[1].stackSize; - if (this.furnaceItemStacks[1].stackSize == 0) - { - this.furnaceItemStacks[1] = this.furnaceItemStacks[1].getItem().getContainerItemStack(furnaceItemStacks[1]); + if (this.furnaceItemStacks[1].stackSize == 0) { + this.furnaceItemStacks[1] = this.furnaceItemStacks[1].getItem().getContainerItem(furnaceItemStacks[1]); } } } } - if (this.isBurning() && this.canSmelt()) - { + if (this.isBurning() && this.canSmelt()) { ++this.furnaceCookTime; - if (this.furnaceCookTime == 200) - { + if (this.furnaceCookTime == 200) { this.furnaceCookTime = 0; this.smeltItem(); flag1 = true; } - } - else - { + } else { this.furnaceCookTime = 0; } - if (flag != this.furnaceBurnTime > 0) - { + if (flag != this.furnaceBurnTime > 0) { flag1 = true; BlockLimeStoneFurnace.updateFurnaceBlockState(this.furnaceBurnTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); } } - if (flag1) - { - this.onInventoryChanged(); + if (flag1) { + this.markDirty(); } } /** - * Returns true if the furnace can smelt an item, i.e. has a source item, destination stack isn't full, etc. + * Returns true if the furnace can smelt an item, i.e. has a source item, + * destination stack isn't full, etc. */ - private boolean canSmelt() - { - if (this.furnaceItemStacks[0] == null) - { + private boolean canSmelt() { + if (this.furnaceItemStacks[0] == null) { return false; - } - else - { + } else { ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]); - if (itemstack == null) return false; - if (this.furnaceItemStacks[2] == null) return true; - if (!this.furnaceItemStacks[2].isItemEqual(itemstack)) return false; + if (itemstack == null) + return false; + if (this.furnaceItemStacks[2] == null) + return true; + if (!this.furnaceItemStacks[2].isItemEqual(itemstack)) + return false; int result = furnaceItemStacks[2].stackSize + itemstack.stackSize; return (result <= getInventoryStackLimit() && result <= itemstack.getMaxStackSize()); } } /** - * Turn one item from the furnace source stack into the appropriate smelted item in the furnace result stack + * Turn one item from the furnace source stack into the appropriate smelted + * item in the furnace result stack */ - public void smeltItem() - { - if (this.canSmelt()) - { + public void smeltItem() { + if (this.canSmelt()) { ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]); - if (this.furnaceItemStacks[2] == null) - { + if (this.furnaceItemStacks[2] == null) { this.furnaceItemStacks[2] = itemstack.copy(); - } - else if (this.furnaceItemStacks[2].isItemEqual(itemstack)) - { + } else if (this.furnaceItemStacks[2].isItemEqual(itemstack)) { furnaceItemStacks[2].stackSize += itemstack.stackSize; } --this.furnaceItemStacks[0].stackSize; - if (this.furnaceItemStacks[0].stackSize <= 0) - { + if (this.furnaceItemStacks[0].stackSize <= 0) { this.furnaceItemStacks[0] = null; } } } /** - * Returns the number of ticks that the supplied fuel item will keep the furnace burning, or 0 if the item isn't - * fuel - */ - public static int getItemBurnTime(ItemStack par0ItemStack) - { - if (par0ItemStack == null) - { - return 0; - } - else - { - int i = par0ItemStack.getItem().itemID; - Item item = par0ItemStack.getItem(); - - if (par0ItemStack.getItem() instanceof ItemBlock && Block.blocksList[i] != null) - { - Block block = Block.blocksList[i]; - - if (block == Block.woodSingleSlab) - { - return 150; - } - - if (block.blockMaterial == Material.wood) - { - return 300; - } - } - - if (item instanceof ItemTool && ((ItemTool) item).getToolMaterialName().equals("WOOD")) return 200; - if (item instanceof ItemSword && ((ItemSword) item).getToolMaterialName().equals("WOOD")) return 200; - if (item instanceof ItemHoe && ((ItemHoe) item).getMaterialName().equals("WOOD")) return 200; - if (i == Item.stick.itemID) return 100; - if (i == Item.coal.itemID) return 1600; - if (i == Item.bucketLava.itemID) return 20000; - if (i == Block.sapling.blockID) return 100; - if (i == Item.blazeRod.itemID) return 2400; - return GameRegistry.getFuelValue(par0ItemStack); - } - } - - /** - * Return true if item is a fuel source (getItemBurnTime() > 0). - */ - public static boolean isItemFuel(ItemStack par0ItemStack) - { - return getItemBurnTime(par0ItemStack) > 0; - } - - /** - * Do not make give this method the name canInteractWith because it clashes with Container + * Do not make give this method the name canInteractWith because it clashes + * with Container */ @Override - public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) - { - return this.worldObj.getBlockTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double)this.xCoord + 0.5D, (double)this.yCoord + 0.5D, (double)this.zCoord + 0.5D) <= 64.0D; + public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { + return this.worldObj.getTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) this.xCoord + 0.5D, (double) this.yCoord + 0.5D, (double) this.zCoord + 0.5D) <= 64.0D; } - @Override - public void openChest() {} - - @Override - public void closeChest() {} - /** - * Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot. + * Returns true if automation is allowed to insert the given stack (ignoring + * stack size) into the given slot. */ @Override - public boolean isStackValidForSlot(int par1, ItemStack par2ItemStack) - { + public boolean isItemValidForSlot(int par1, ItemStack par2ItemStack) { return par1 == 2 ? false : (par1 == 1 ? isItemFuel(par2ItemStack) : true); } @@ -452,66 +427,18 @@ public boolean isStackValidForSlot(int par1, ItemStack par2ItemStack) * Get the size of the side inventory. */ @Override - public int[] getAccessibleSlotsFromSide(int par1) - { + public int[] getAccessibleSlotsFromSide(int par1) { return par1 == 0 ? field_102011_e : (par1 == 1 ? field_102010_d : field_102009_f); } @Override - public boolean canInsertItem(int par1, ItemStack par2ItemStack, int par3) - { - return this.isStackValidForSlot(par1, par2ItemStack); + public boolean canInsertItem(int par1, ItemStack par2ItemStack, int par3) { + return this.isItemValidForSlot(par1, par2ItemStack); } @Override - public boolean canExtractItem(int par1, ItemStack par2ItemStack, int par3) - { - return par3 != 0 || par1 != 1 || par2ItemStack.itemID == Item.bucketEmpty.itemID; + public boolean canExtractItem(int par1, ItemStack par2ItemStack, int par3) { + return par3 != 0 || par1 != 1 || par2ItemStack.getItem() == Items.bucket; } - /*********************************************************************************** - * This function is here for compatibilities sake, Modders should Check for - * Sided before ContainerWorldly, Vanilla Minecraft does not follow the sided standard - * that Modding has for a while. - * - * In vanilla: - * - * Top: Ores - * Sides: Fuel - * Bottom: Output - * - * Standard Modding: - * Top: Ores - * Sides: Output - * Bottom: Fuel - * - * The Modding one is designed after the GUI, the vanilla one is designed because its - * intended use is for the hopper, which logically would take things in from the top. - * - * This will possibly be removed in future updates, and make vanilla the definitive - * standard. - */ - - @Override - public int getStartInventorySide(ForgeDirection side) - { - if (ForgeDummyContainer.legacyFurnaceSides) - { - if (side == ForgeDirection.DOWN) return 1; - if (side == ForgeDirection.UP) return 0; - return 2; - } - else - { - if (side == ForgeDirection.DOWN) return 2; - if (side == ForgeDirection.UP) return 0; - return 1; - } - } - - @Override - public int getSizeInventorySide(ForgeDirection side) - { - return 1; - } } diff --git a/common/rebelkeithy/mods/atum/entities/ModelDesertWolf.java b/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java similarity index 80% rename from common/rebelkeithy/mods/atum/entities/ModelDesertWolf.java rename to src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java index dffc5e6..8ee21f6 100644 --- a/common/rebelkeithy/mods/atum/entities/ModelDesertWolf.java +++ b/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java @@ -1,46 +1,58 @@ -package rebelkeithy.mods.atum.entities; +package com.teammetallurgy.atum.client.model.entity; +import com.teammetallurgy.atum.entity.EntityDesertWolf; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.passive.EntityWolf; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.util.MathHelper; - import org.lwjgl.opengl.GL11; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - @SideOnly(Side.CLIENT) -public class ModelDesertWolf extends ModelBase -{ - /** main box for the wolf head */ +public class ModelDesertWolf extends ModelBase { + /** + * main box for the wolf head + */ public ModelRenderer wolfHeadMain; - /** The wolf's body */ + /** + * The wolf's body + */ public ModelRenderer wolfBody; - /** Wolf'se first leg */ + /** + * Wolf'se first leg + */ public ModelRenderer wolfLeg1; - /** Wolf's second leg */ + /** + * Wolf's second leg + */ public ModelRenderer wolfLeg2; - /** Wolf's third leg */ + /** + * Wolf's third leg + */ public ModelRenderer wolfLeg3; - /** Wolf's fourth leg */ + /** + * Wolf's fourth leg + */ public ModelRenderer wolfLeg4; - /** The wolf's tail */ + /** + * The wolf's tail + */ ModelRenderer wolfTail; - /** The wolf's mane */ + /** + * The wolf's mane + */ ModelRenderer wolfMane; - public ModelDesertWolf() - { + public ModelDesertWolf() { float f = 0.0F; float f1 = 13.5F; this.wolfHeadMain = new ModelRenderer(this, 0, 0); @@ -76,13 +88,11 @@ public ModelDesertWolf() * Sets the models various rotation angles then renders the model. */ @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) - { + public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { super.render(par1Entity, par2, par3, par4, par5, par6, par7); this.setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - if (this.isChild) - { + if (this.isChild) { float f6 = 2.0F; GL11.glPushMatrix(); GL11.glTranslatef(0.0F, 5.0F * par7, 2.0F * par7); @@ -99,9 +109,7 @@ public void render(Entity par1Entity, float par2, float par3, float par4, float this.wolfTail.renderWithRotation(par7); this.wolfMane.render(par7); GL11.glPopMatrix(); - } - else - { + } else { this.wolfHeadMain.renderWithRotation(par7); this.wolfBody.render(par7); this.wolfLeg1.render(par7); @@ -118,40 +126,33 @@ public void render(Entity par1Entity, float par2, float par3, float par4, float * and third as in the setRotationAngles method. */ @Override - public void setLivingAnimations(EntityLiving par1EntityLiving, float par2, float par3, float par4) - { - EntityDesertWolf entitywolf = (EntityDesertWolf)par1EntityLiving; + public void setLivingAnimations(EntityLivingBase par1EntityLiving, float par2, float par3, float par4) { + EntityDesertWolf entitywolf = (EntityDesertWolf) par1EntityLiving; - if (entitywolf.isAngry()) - { + if (entitywolf.isAngry()) { this.wolfTail.rotateAngleY = 0.0F; - } - else - { + } else { this.wolfTail.rotateAngleY = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; } - if (entitywolf.isSitting()) - { + if (entitywolf.isSitting()) { this.wolfMane.setRotationPoint(-1.0F, 16.0F, -3.0F); - this.wolfMane.rotateAngleX = ((float)Math.PI * 2F / 5F); + this.wolfMane.rotateAngleX = ((float) Math.PI * 2F / 5F); this.wolfMane.rotateAngleY = 0.0F; this.wolfBody.setRotationPoint(0.0F, 18.0F, 0.0F); - this.wolfBody.rotateAngleX = ((float)Math.PI / 4F); + this.wolfBody.rotateAngleX = ((float) Math.PI / 4F); this.wolfTail.setRotationPoint(-1.0F, 21.0F, 6.0F); this.wolfLeg1.setRotationPoint(-2.5F, 22.0F, 2.0F); - this.wolfLeg1.rotateAngleX = ((float)Math.PI * 3F / 2F); + this.wolfLeg1.rotateAngleX = ((float) Math.PI * 3F / 2F); this.wolfLeg2.setRotationPoint(0.5F, 22.0F, 2.0F); - this.wolfLeg2.rotateAngleX = ((float)Math.PI * 3F / 2F); + this.wolfLeg2.rotateAngleX = ((float) Math.PI * 3F / 2F); this.wolfLeg3.rotateAngleX = 5.811947F; this.wolfLeg3.setRotationPoint(-2.49F, 17.0F, -4.0F); this.wolfLeg4.rotateAngleX = 5.811947F; this.wolfLeg4.setRotationPoint(0.51F, 17.0F, -4.0F); - } - else - { + } else { this.wolfBody.setRotationPoint(0.0F, 14.0F, 2.0F); - this.wolfBody.rotateAngleX = ((float)Math.PI / 2F); + this.wolfBody.rotateAngleX = ((float) Math.PI / 2F); this.wolfMane.setRotationPoint(-1.0F, 14.0F, -3.0F); this.wolfMane.rotateAngleX = this.wolfBody.rotateAngleX; this.wolfTail.setRotationPoint(-1.0F, 12.0F, 8.0F); @@ -160,8 +161,8 @@ public void setLivingAnimations(EntityLiving par1EntityLiving, float par2, float this.wolfLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F); this.wolfLeg4.setRotationPoint(0.5F, 16.0F, -4.0F); this.wolfLeg1.rotateAngleX = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; - this.wolfLeg2.rotateAngleX = MathHelper.cos(par2 * 0.6662F + (float)Math.PI) * 1.4F * par3; - this.wolfLeg3.rotateAngleX = MathHelper.cos(par2 * 0.6662F + (float)Math.PI) * 1.4F * par3; + this.wolfLeg2.rotateAngleX = MathHelper.cos(par2 * 0.6662F + (float) Math.PI) * 1.4F * par3; + this.wolfLeg3.rotateAngleX = MathHelper.cos(par2 * 0.6662F + (float) Math.PI) * 1.4F * par3; this.wolfLeg4.rotateAngleX = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; } @@ -177,11 +178,10 @@ public void setLivingAnimations(EntityLiving par1EntityLiving, float par2, float * "far" arms and legs can swing at most. */ @Override - public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity) - { + public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity) { super.setRotationAngles(par1, par2, par3, par4, par5, par6, par7Entity); - this.wolfHeadMain.rotateAngleX = par5 / (180F / (float)Math.PI); - this.wolfHeadMain.rotateAngleY = par4 / (180F / (float)Math.PI); + this.wolfHeadMain.rotateAngleX = par5 / (180F / (float) Math.PI); + this.wolfHeadMain.rotateAngleY = par4 / (180F / (float) Math.PI); this.wolfTail.rotateAngleX = par3; } } diff --git a/common/rebelkeithy/mods/atum/entities/ModelDustySkeleton.java b/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java similarity index 85% rename from common/rebelkeithy/mods/atum/entities/ModelDustySkeleton.java rename to src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java index 027519b..d9036bf 100644 --- a/common/rebelkeithy/mods/atum/entities/ModelDustySkeleton.java +++ b/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java @@ -1,20 +1,17 @@ -package rebelkeithy.mods.atum.entities; +package com.teammetallurgy.atum.client.model.entity; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.client.model.ModelZombie; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.model.ModelZombie; @SideOnly(Side.CLIENT) -public class ModelDustySkeleton extends ModelZombie -{ - public ModelDustySkeleton() - { +public class ModelDustySkeleton extends ModelZombie { + public ModelDustySkeleton() { this(0.0F); } - public ModelDustySkeleton(float par1) - { + public ModelDustySkeleton(float par1) { super(par1, 0.0F, 64, 32); this.bipedRightArm = new ModelRenderer(this, 40, 16); this.bipedRightArm.addBox(-1.0F, -2.0F, -1.0F, 2, 12, 2, par1); diff --git a/src/main/java/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java b/src/main/java/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java new file mode 100644 index 0000000..5c2a699 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java @@ -0,0 +1,44 @@ +package com.teammetallurgy.atum.client.model.tileentity; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelDate extends ModelBase { + + ModelRenderer Fruit; + ModelRenderer Stem; + + public ModelDate() { + super.textureWidth = 32; + super.textureHeight = 32; + this.Fruit = new ModelRenderer(this, 0, 0); + this.Fruit.addBox(0.0F, 0.0F, 0.0F, 6, 8, 6); + this.Fruit.setRotationPoint(-1.0F, 3.0F, -1.0F); + this.Fruit.setTextureSize(32, 32); + this.Fruit.mirror = true; + this.setRotation(this.Fruit, 0.0F, 0.0F, 0.0F); + this.Stem = new ModelRenderer(this, 0, 14); + this.Stem.addBox(0.0F, 0.0F, 0.0F, 2, 6, 2); + this.Stem.setRotationPoint(1.0F, -3.0F, 1.0F); + this.Stem.setTextureSize(32, 32); + this.Stem.mirror = true; + this.setRotation(this.Stem, 0.0F, 0.0F, 0.0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + super.render(entity, f, f1, f2, f3, f4, f5); + this.Fruit.render(f5); + this.Stem.render(f5); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity par7Entity) { + super.setRotationAngles(f, f1, f2, f3, f4, f5, par7Entity); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java new file mode 100644 index 0000000..4fa7b41 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java @@ -0,0 +1,15 @@ +package com.teammetallurgy.atum.client.render.entity; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.renderer.entity.RenderBiped; + +@SideOnly(Side.CLIENT) +public class RenderBandit extends RenderBiped { + + public RenderBandit(ModelBiped par1ModelBiped, float par2) { + super(par1ModelBiped, par2); + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java new file mode 100644 index 0000000..06ed3ab --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java @@ -0,0 +1,56 @@ +package com.teammetallurgy.atum.client.render.entity; + +import com.teammetallurgy.atum.entity.EntityDesertWolf; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.entity.RenderLiving; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.util.ResourceLocation; +import org.lwjgl.opengl.GL11; + +@SideOnly(Side.CLIENT) +public class RenderDesertWolf extends RenderLiving { + public RenderDesertWolf(ModelBase par1ModelBase, ModelBase par2ModelBase, float par3) { + super(par1ModelBase, par3); + this.setRenderPassModel(par2ModelBase); + } + + protected float getTailRotation(EntityDesertWolf par1EntityDesertWolf, float par2) { + return par1EntityDesertWolf.getTailRotation(); + } + + protected int func_82447_a(EntityDesertWolf par1EntityDesertWolf, int par2, float par3) { + float f1; + this.bindEntityTexture(par1EntityDesertWolf); + if (par2 == 0 && par1EntityDesertWolf.getWolfShaking()) { + f1 = par1EntityDesertWolf.getBrightness(par3) * par1EntityDesertWolf.getShadingWhileShaking(par3); + GL11.glColor3f(f1, f1, f1); + return 1; + } else { + return -1; + } + } + + /** + * Queries whether should render the specified pass or not. + */ + @Override + protected int shouldRenderPass(EntityLivingBase par1EntityLiving, int par2, float par3) { + return this.func_82447_a((EntityDesertWolf) par1EntityLiving, par2, par3); + } + + /** + * Defines what float the third param in setRotationAngles of ModelBase is + */ + @Override + protected float handleRotationFloat(EntityLivingBase par1EntityLiving, float par2) { + return this.getTailRotation((EntityDesertWolf) par1EntityLiving, par2); + } + + @Override + protected ResourceLocation getEntityTexture(Entity entity) { + return new ResourceLocation("atum", "textures/entities/DesertWolf_angry.png"); + } +} diff --git a/common/rebelkeithy/mods/atum/entities/RenderGhost.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderGhost.java similarity index 67% rename from common/rebelkeithy/mods/atum/entities/RenderGhost.java rename to src/main/java/com/teammetallurgy/atum/client/render/entity/RenderGhost.java index db9cf12..be1510a 100644 --- a/common/rebelkeithy/mods/atum/entities/RenderGhost.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderGhost.java @@ -1,7 +1,8 @@ -package rebelkeithy.mods.atum.entities; - -import java.util.Random; +package com.teammetallurgy.atum.client.render.entity; +import com.teammetallurgy.atum.entity.EntityGhost; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.model.ModelBase; @@ -13,91 +14,83 @@ import net.minecraft.client.renderer.entity.Render; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.projectile.EntityArrow; import net.minecraft.util.MathHelper; - +import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.Random; @SideOnly(Side.CLIENT) -public class RenderGhost extends Render -{ +public class RenderGhost extends Render { protected ModelBase mainModel; - /** The model to be used during the render passes. */ + /** + * The model to be used during the render passes. + */ protected ModelBase renderPassModel; - public RenderGhost(ModelBase par1ModelBase, float par2) - { + public RenderGhost(ModelBase par1ModelBase, float par2) { this.mainModel = par1ModelBase; this.shadowSize = par2; } /** - * Sets the model to be used in the current render pass (the first render pass is done after the primary model is - * rendered) Args: model + * Sets the model to be used in the current render pass (the first render + * pass is done after the primary model is rendered) Args: model */ - public void setRenderPassModel(ModelBase par1ModelBase) - { + public void setRenderPassModel(ModelBase par1ModelBase) { this.renderPassModel = par1ModelBase; } /** - * Returns a rotation angle that is inbetween two other rotation angles. par1 and par2 are the angles between which - * to interpolate, par3 is probably a float between 0.0 and 1.0 that tells us where "between" the two angles we are. - * Example: par1 = 30, par2 = 50, par3 = 0.5, then return = 40 + * Returns a rotation angle that is inbetween two other rotation angles. + * par1 and par2 are the angles between which to interpolate, par3 is + * probably a float between 0.0 and 1.0 that tells us where "between" the + * two angles we are. Example: par1 = 30, par2 = 50, par3 = 0.5, then return + * = 40 */ - private float interpolateRotation(float par1, float par2, float par3) - { + private float interpolateRotation(float par1, float par2, float par3) { float f3; - for (f3 = par2 - par1; f3 < -180.0F; f3 += 360.0F) - { + for (f3 = par2 - par1; f3 < -180.0F; f3 += 360.0F) { ; } - while (f3 >= 180.0F) - { + while (f3 >= 180.0F) { f3 -= 360.0F; } return par1 + par3 * f3; } - public void doRenderLiving(EntityLiving par1EntityLiving, double par2, double par4, double par6, float par8, float par9) - { + public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, double par4, double par6, float par8, float par9) { GL11.glPushMatrix(); GL11.glDisable(GL11.GL_CULL_FACE); - - par4 += ((EntityGhost)par1EntityLiving).getFloatingHeight(); - //System.out.println("height " + ((EntityGhost)par1EntityLiving).cycleHeight); - + + par4 += ((EntityGhost) par1EntityLiving).getFloatingHeight(); + this.mainModel.onGround = this.renderSwingProgress(par1EntityLiving, par9); - if (this.renderPassModel != null) - { + if (this.renderPassModel != null) { this.renderPassModel.onGround = this.mainModel.onGround; } this.mainModel.isRiding = par1EntityLiving.isRiding(); - if (this.renderPassModel != null) - { + if (this.renderPassModel != null) { this.renderPassModel.isRiding = this.mainModel.isRiding; } this.mainModel.isChild = par1EntityLiving.isChild(); - if (this.renderPassModel != null) - { + if (this.renderPassModel != null) { this.renderPassModel.isChild = this.mainModel.isChild; } - try - { + try { float f2 = this.interpolateRotation(par1EntityLiving.prevRenderYawOffset, par1EntityLiving.renderYawOffset, par9); float f3 = this.interpolateRotation(par1EntityLiving.prevRotationYawHead, par1EntityLiving.rotationYawHead, par9); float f4 = par1EntityLiving.prevRotationPitch + (par1EntityLiving.rotationPitch - par1EntityLiving.prevRotationPitch) * par9; @@ -109,16 +102,14 @@ public void doRenderLiving(EntityLiving par1EntityLiving, double par2, double pa GL11.glScalef(-1.0F, -1.0F, 1.0F); this.preRenderCallback(par1EntityLiving, par9); GL11.glTranslatef(0.0F, -24.0F * f6 - 0.0078125F, 0.0F); - float f7 = par1EntityLiving.prevLimbYaw + (par1EntityLiving.limbYaw - par1EntityLiving.prevLimbYaw) * par9; - float f8 = par1EntityLiving.limbSwing - par1EntityLiving.limbYaw * (1.0F - par9); + float f7 = par1EntityLiving.prevLimbSwingAmount + (par1EntityLiving.limbSwing - par1EntityLiving.prevLimbSwingAmount) * par9; + float f8 = par1EntityLiving.limbSwing - par1EntityLiving.limbSwing * (1.0F - par9); - if (par1EntityLiving.isChild()) - { + if (par1EntityLiving.isChild()) { f8 *= 3.0F; } - if (f7 > 1.0F) - { + if (f7 > 1.0F) { f7 = 1.0F; } @@ -130,43 +121,37 @@ public void doRenderLiving(EntityLiving par1EntityLiving, double par2, double pa float f10; float f11; - for (int j = 0; j < 4; ++j) - { + for (int j = 0; j < 4; ++j) { i = this.shouldRenderPass(par1EntityLiving, j, par9); - if (i > 0) - { + if (i > 0) { this.renderPassModel.setLivingAnimations(par1EntityLiving, f8, f7, par9); this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - if ((i & 240) == 16) - { + if ((i & 240) == 16) { this.func_82408_c(par1EntityLiving, j, par9); this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); } - if ((i & 15) == 15) - { - f9 = (float)par1EntityLiving.ticksExisted + par9; - this.loadTexture("%blur%/misc/glint.png"); + if ((i & 15) == 15) { + f9 = (float) par1EntityLiving.ticksExisted + par9; GL11.glEnable(GL11.GL_BLEND); f10 = 0.5F; GL11.glColor4f(f10, f10, f10, 1.0F); GL11.glDepthFunc(GL11.GL_EQUAL); GL11.glDepthMask(false); - for (int k = 0; k < 2; ++k) - { + for (int k = 0; k < 2; ++k) { GL11.glDisable(GL11.GL_LIGHTING); f11 = 0.76F; GL11.glColor4f(0.5F * f11, 0.25F * f11, 0.8F * f11, 1.0F); GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE); GL11.glMatrixMode(GL11.GL_TEXTURE); GL11.glLoadIdentity(); - float f12 = f9 * (0.001F + (float)k * 0.003F) * 20.0F; + float f12 = f9 * (0.001F + (float) k * 0.003F) * 20.0F; float f13 = 0.33333334F; GL11.glScalef(f13, f13, f13); - GL11.glRotatef(30.0F - (float)k * 60.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(30.0F - (float) k * 60.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(0.0F, f12, 0.0F); GL11.glMatrixMode(GL11.GL_MODELVIEW); this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); @@ -195,42 +180,35 @@ public void doRenderLiving(EntityLiving par1EntityLiving, double par2, double pa GL11.glDisable(GL11.GL_TEXTURE_2D); OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); - if ((i >> 24 & 255) > 0 || par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) - { + if ((i >> 24 & 255) > 0 || par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glDepthFunc(GL11.GL_EQUAL); - if (par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) - { + if (par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { GL11.glColor4f(f14, 0.0F, 0.0F, 0.4F); this.mainModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - for (int l = 0; l < 4; ++l) - { - if (this.inheritRenderPass(par1EntityLiving, l, par9) >= 0) - { + for (int l = 0; l < 4; ++l) { + if (this.inheritRenderPass(par1EntityLiving, l, par9) >= 0) { GL11.glColor4f(f14, 0.0F, 0.0F, 0.4F); this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); } } } - if ((i >> 24 & 255) > 0) - { - f9 = (float)(i >> 16 & 255) / 255.0F; - f10 = (float)(i >> 8 & 255) / 255.0F; - float f15 = (float)(i & 255) / 255.0F; - f11 = (float)(i >> 24 & 255) / 255.0F; + if ((i >> 24 & 255) > 0) { + f9 = (float) (i >> 16 & 255) / 255.0F; + f10 = (float) (i >> 8 & 255) / 255.0F; + float f15 = (float) (i & 255) / 255.0F; + f11 = (float) (i >> 24 & 255) / 255.0F; GL11.glColor4f(f9, f10, f15, f11); this.mainModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - for (int i1 = 0; i1 < 4; ++i1) - { - if (this.inheritRenderPass(par1EntityLiving, i1, par9) >= 0) - { + for (int i1 = 0; i1 < 4; ++i1) { + if (this.inheritRenderPass(par1EntityLiving, i1, par9) >= 0) { GL11.glColor4f(f9, f10, f15, f11); this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); } @@ -244,9 +222,7 @@ public void doRenderLiving(EntityLiving par1EntityLiving, double par2, double pa } GL11.glDisable(GL12.GL_RESCALE_NORMAL); - } - catch (Exception exception) - { + } catch (Exception exception) { exception.printStackTrace(); } @@ -261,16 +237,12 @@ public void doRenderLiving(EntityLiving par1EntityLiving, double par2, double pa /** * Renders the model in RenderLiving */ - protected void renderModel(EntityLiving par1EntityLiving, float par2, float par3, float par4, float par5, float par6, float par7) - { - this.func_98190_a(par1EntityLiving); + protected void renderModel(EntityLivingBase par1EntityLiving, float par2, float par3, float par4, float par5, float par6, float par7) { + this.bindEntityTexture(par1EntityLiving); - if (!par1EntityLiving.isInvisible()) - { + if (!par1EntityLiving.isInvisible()) { this.mainModel.render(par1EntityLiving, par2, par3, par4, par5, par6, par7); - } - else if (!par1EntityLiving.func_98034_c(Minecraft.getMinecraft().thePlayer)) - { + } else if (!par1EntityLiving.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer)) { GL11.glPushMatrix(); GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.15F); GL11.glDepthMask(false); @@ -282,37 +254,26 @@ else if (!par1EntityLiving.func_98034_c(Minecraft.getMinecraft().thePlayer)) GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); GL11.glPopMatrix(); GL11.glDepthMask(true); - } - else - { + } else { this.mainModel.setRotationAngles(par2, par3, par4, par5, par6, par7, par1EntityLiving); } } - protected void func_98190_a(EntityLiving par1EntityLiving) - { - this.loadTexture(par1EntityLiving.getTexture()); - } - /** * Sets a simple glTranslate on a LivingEntity. */ - protected void renderLivingAt(EntityLiving par1EntityLiving, double par2, double par4, double par6) - { - GL11.glTranslatef((float)par2, (float)par4, (float)par6); + protected void renderLivingAt(EntityLivingBase par1EntityLiving, double par2, double par4, double par6) { + GL11.glTranslatef((float) par2, (float) par4, (float) par6); } - protected void rotateCorpse(EntityLiving par1EntityLiving, float par2, float par3, float par4) - { + protected void rotateCorpse(EntityLivingBase par1EntityLiving, float par2, float par3, float par4) { GL11.glRotatef(180.0F - par3, 0.0F, 1.0F, 0.0F); - if (par1EntityLiving.deathTime > 0) - { - float f3 = ((float)par1EntityLiving.deathTime + par4 - 1.0F) / 20.0F * 1.6F; + if (par1EntityLiving.deathTime > 0) { + float f3 = ((float) par1EntityLiving.deathTime + par4 - 1.0F) / 20.0F * 1.6F; f3 = MathHelper.sqrt_float(f3); - if (f3 > 1.0F) - { + if (f3 > 1.0F) { f3 = 1.0F; } @@ -320,39 +281,35 @@ protected void rotateCorpse(EntityLiving par1EntityLiving, float par2, float par } } - protected float renderSwingProgress(EntityLiving par1EntityLiving, float par2) - { + protected float renderSwingProgress(EntityLivingBase par1EntityLiving, float par2) { return par1EntityLiving.getSwingProgress(par2); } /** * Defines what float the third param in setRotationAngles of ModelBase is */ - protected float handleRotationFloat(EntityLiving par1EntityLiving, float par2) - { - return (float)par1EntityLiving.ticksExisted + par2; + protected float handleRotationFloat(EntityLivingBase par1EntityLiving, float par2) { + return (float) par1EntityLiving.ticksExisted + par2; } - protected void renderEquippedItems(EntityLiving par1EntityLiving, float par2) {} + protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2) { + } /** * renders arrows the Entity has been attacked with, attached to it */ - protected void renderArrowsStuckInEntity(EntityLiving par1EntityLiving, float par2) - { + protected void renderArrowsStuckInEntity(EntityLiving par1EntityLiving, float par2) { int i = par1EntityLiving.getArrowCountInEntity(); - if (i > 0) - { + if (i > 0) { EntityArrow entityarrow = new EntityArrow(par1EntityLiving.worldObj, par1EntityLiving.posX, par1EntityLiving.posY, par1EntityLiving.posZ); - Random random = new Random((long)par1EntityLiving.entityId); + Random random = new Random((long) par1EntityLiving.getEntityId()); RenderHelper.disableStandardItemLighting(); - for (int j = 0; j < i; ++j) - { + for (int j = 0; j < i; ++j) { GL11.glPushMatrix(); ModelRenderer modelrenderer = this.mainModel.getRandomModelBox(random); - ModelBox modelbox = (ModelBox)modelrenderer.cubeList.get(random.nextInt(modelrenderer.cubeList.size())); + ModelBox modelbox = (ModelBox) modelrenderer.cubeList.get(random.nextInt(modelrenderer.cubeList.size())); modelrenderer.postRender(0.0625F); float f1 = random.nextFloat(); float f2 = random.nextFloat(); @@ -368,8 +325,8 @@ protected void renderArrowsStuckInEntity(EntityLiving par1EntityLiving, float pa f2 *= -1.0F; f3 *= -1.0F; float f7 = MathHelper.sqrt_float(f1 * f1 + f3 * f3); - entityarrow.prevRotationYaw = entityarrow.rotationYaw = (float)(Math.atan2((double)f1, (double)f3) * 180.0D / Math.PI); - entityarrow.prevRotationPitch = entityarrow.rotationPitch = (float)(Math.atan2((double)f2, (double)f7) * 180.0D / Math.PI); + entityarrow.prevRotationYaw = entityarrow.rotationYaw = (float) (Math.atan2((double) f1, (double) f3) * 180.0D / Math.PI); + entityarrow.prevRotationPitch = entityarrow.rotationPitch = (float) (Math.atan2((double) f2, (double) f7) * 180.0D / Math.PI); double d0 = 0.0D; double d1 = 0.0D; double d2 = 0.0D; @@ -382,61 +339,56 @@ protected void renderArrowsStuckInEntity(EntityLiving par1EntityLiving, float pa } } - protected int inheritRenderPass(EntityLiving par1EntityLiving, int par2, float par3) - { + protected int inheritRenderPass(EntityLivingBase par1EntityLiving, int par2, float par3) { return this.shouldRenderPass(par1EntityLiving, par2, par3); } /** * Queries whether should render the specified pass or not. */ - protected int shouldRenderPass(EntityLiving par1EntityLiving, int par2, float par3) - { + protected int shouldRenderPass(EntityLivingBase par1EntityLiving, int par2, float par3) { return -1; } - protected void func_82408_c(EntityLiving par1EntityLiving, int par2, float par3) {} + protected void func_82408_c(EntityLivingBase par1EntityLiving, int par2, float par3) { + } - protected float getDeathMaxRotation(EntityLiving par1EntityLiving) - { + protected float getDeathMaxRotation(EntityLivingBase par1EntityLiving) { return 90.0F; } /** - * Returns an ARGB int color back. Args: entityLiving, lightBrightness, partialTickTime + * Returns an ARGB int color back. Args: entityLiving, lightBrightness, + * partialTickTime */ - protected int getColorMultiplier(EntityLiving par1EntityLiving, float par2, float par3) - { + protected int getColorMultiplier(EntityLivingBase par1EntityLiving, float par2, float par3) { return 0; } /** - * Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args: - * entityLiving, partialTickTime + * Allows the render to do any OpenGL state modifications necessary before + * the model is rendered. Args: entityLiving, partialTickTime */ - protected void preRenderCallback(EntityLiving par1EntityLiving, float par2) {} + protected void preRenderCallback(EntityLivingBase par1EntityLiving, float par2) { + } /** * Passes the specialRender and renders it */ - protected void passSpecialRender(EntityLiving par1EntityLiving, double par2, double par4, double par6) - { - if (Minecraft.isGuiEnabled() && par1EntityLiving != this.renderManager.livingPlayer && !par1EntityLiving.func_98034_c(Minecraft.getMinecraft().thePlayer) && (par1EntityLiving.func_94059_bO() || par1EntityLiving.func_94056_bM() && par1EntityLiving == this.renderManager.field_96451_i)) - { + protected void passSpecialRender(EntityLivingBase par1EntityLiving, double par2, double par4, double par6) { + if (Minecraft.isGuiEnabled() && par1EntityLiving != this.renderManager.livingPlayer && !par1EntityLiving.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer) && (par1EntityLiving.getAlwaysRenderNameTagForRender() || ((EntityLiving) par1EntityLiving).hasCustomNameTag() && par1EntityLiving == this.renderManager.livingPlayer)) { float f = 1.6F; float f1 = 0.016666668F * f; double d3 = par1EntityLiving.getDistanceSqToEntity(this.renderManager.livingPlayer); float f2 = par1EntityLiving.isSneaking() ? 32.0F : 64.0F; - if (d3 < (double)(f2 * f2)) - { - String s = par1EntityLiving.getTranslatedEntityName(); + if (d3 < (double) (f2 * f2)) { + String s = par1EntityLiving.getCommandSenderName(); - if (par1EntityLiving.isSneaking()) - { + if (par1EntityLiving.isSneaking()) { FontRenderer fontrenderer = this.getFontRendererFromRenderManager(); GL11.glPushMatrix(); - GL11.glTranslatef((float)par2 + 0.0F, (float)par4 + par1EntityLiving.height + 0.5F, (float)par6); + GL11.glTranslatef((float) par2 + 0.0F, (float) par4 + par1EntityLiving.height + 0.5F, (float) par6); GL11.glNormal3f(0.0F, 1.0F, 0.0F); GL11.glRotatef(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); GL11.glRotatef(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); @@ -451,10 +403,10 @@ protected void passSpecialRender(EntityLiving par1EntityLiving, double par2, dou tessellator.startDrawingQuads(); int i = fontrenderer.getStringWidth(s) / 2; tessellator.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F); - tessellator.addVertex((double)(-i - 1), -1.0D, 0.0D); - tessellator.addVertex((double)(-i - 1), 8.0D, 0.0D); - tessellator.addVertex((double)(i + 1), 8.0D, 0.0D); - tessellator.addVertex((double)(i + 1), -1.0D, 0.0D); + tessellator.addVertex((double) (-i - 1), -1.0D, 0.0D); + tessellator.addVertex((double) (-i - 1), 8.0D, 0.0D); + tessellator.addVertex((double) (i + 1), 8.0D, 0.0D); + tessellator.addVertex((double) (i + 1), -1.0D, 0.0D); tessellator.draw(); GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glDepthMask(true); @@ -463,23 +415,17 @@ protected void passSpecialRender(EntityLiving par1EntityLiving, double par2, dou GL11.glDisable(GL11.GL_BLEND); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glPopMatrix(); - } - else - { + } else { this.func_96449_a(par1EntityLiving, par2, par4, par6, s, f1, d3); } } } } - protected void func_96449_a(EntityLiving par1EntityLiving, double par2, double par4, double par6, String par8Str, float par9, double par10) - { - if (par1EntityLiving.isPlayerSleeping()) - { + protected void func_96449_a(EntityLivingBase par1EntityLiving, double par2, double par4, double par6, String par8Str, float par9, double par10) { + if (par1EntityLiving.isPlayerSleeping()) { this.renderLivingLabel(par1EntityLiving, par8Str, par2, par4 - 1.5D, par6, 64); - } - else - { + } else { this.renderLivingLabel(par1EntityLiving, par8Str, par2, par4, par6, 64); } } @@ -487,17 +433,15 @@ protected void func_96449_a(EntityLiving par1EntityLiving, double par2, double p /** * Draws the debug or playername text above a living */ - protected void renderLivingLabel(EntityLiving par1EntityLiving, String par2Str, double par3, double par5, double par7, int par9) - { + protected void renderLivingLabel(EntityLivingBase par1EntityLiving, String par2Str, double par3, double par5, double par7, int par9) { double d3 = par1EntityLiving.getDistanceSqToEntity(this.renderManager.livingPlayer); - if (d3 <= (double)(par9 * par9)) - { + if (d3 <= (double) (par9 * par9)) { FontRenderer fontrenderer = this.getFontRendererFromRenderManager(); float f = 1.6F; float f1 = 0.016666668F * f; GL11.glPushMatrix(); - GL11.glTranslatef((float)par3 + 0.0F, (float)par5 + par1EntityLiving.height + 0.5F, (float)par7); + GL11.glTranslatef((float) par3 + 0.0F, (float) par5 + par1EntityLiving.height + 0.5F, (float) par7); GL11.glNormal3f(0.0F, 1.0F, 0.0F); GL11.glRotatef(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); GL11.glRotatef(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); @@ -510,8 +454,7 @@ protected void renderLivingLabel(EntityLiving par1EntityLiving, String par2Str, Tessellator tessellator = Tessellator.instance; byte b0 = 0; - if (par2Str.equals("deadmau5")) - { + if (par2Str.equals("deadmau5")) { b0 = -10; } @@ -519,10 +462,10 @@ protected void renderLivingLabel(EntityLiving par1EntityLiving, String par2Str, tessellator.startDrawingQuads(); int j = fontrenderer.getStringWidth(par2Str) / 2; tessellator.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F); - tessellator.addVertex((double)(-j - 1), (double)(-1 + b0), 0.0D); - tessellator.addVertex((double)(-j - 1), (double)(8 + b0), 0.0D); - tessellator.addVertex((double)(j + 1), (double)(8 + b0), 0.0D); - tessellator.addVertex((double)(j + 1), (double)(-1 + b0), 0.0D); + tessellator.addVertex((double) (-j - 1), (double) (-1 + b0), 0.0D); + tessellator.addVertex((double) (-j - 1), (double) (8 + b0), 0.0D); + tessellator.addVertex((double) (j + 1), (double) (8 + b0), 0.0D); + tessellator.addVertex((double) (j + 1), (double) (-1 + b0), 0.0D); tessellator.draw(); GL11.glEnable(GL11.GL_TEXTURE_2D); fontrenderer.drawString(par2Str, -fontrenderer.getStringWidth(par2Str) / 2, b0, 553648127); @@ -537,13 +480,19 @@ protected void renderLivingLabel(EntityLiving par1EntityLiving, String par2Str, } /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then - * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic - * (Render 0.0F) - { + if (f11 > 0.0F) { float f12 = -MathHelper.sin(f11 * 3.0F) * f11; GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); } @@ -49,28 +45,27 @@ public void renderArrow(CustomArrow entityArrow, double par2, double par4, doubl GL11.glTranslatef(-4.0F, 0.0F, 0.0F); GL11.glNormal3f(f10, 0.0F, 0.0F); tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f9); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f9); + tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f8); + tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f8); + tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f9); + tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f9); tessellator.draw(); GL11.glNormal3f(-f10, 0.0F, 0.0F); tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f9); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f9); + tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f8); + tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f8); + tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f9); + tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f9); tessellator.draw(); - for (int i = 0; i < 4; ++i) - { + for (int i = 0; i < 4; ++i) { GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); GL11.glNormal3f(0.0F, 0.0F, f10); tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double)f2, (double)f4); - tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double)f3, (double)f4); - tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double)f3, (double)f5); - tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double)f2, (double)f5); + tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double) f2, (double) f4); + tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double) f3, (double) f4); + tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double) f3, (double) f5); + tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double) f2, (double) f5); tessellator.draw(); } @@ -79,13 +74,16 @@ public void renderArrow(CustomArrow entityArrow, double par2, double par4, doubl } /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then - * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic - * (Render 0.0F) { + float f12 = -MathHelper.sin(f11 * 3.0F) * f11; + GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); + } + + GL11.glScalef(2f, 1.5f, 1.5f); + GL11.glTranslatef(-0.85F, 0.0F, 0.0F); + GL11.glNormal3f(f10, 0.0F, 0.0F); + + ItemRenderer.renderItemIn2D(tessellator, -1f, -10 / 32.0f, -5 / 32.0f, 12 / 32.0f, 32, 32 * 32, 0.0625F); + + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + GL11.glPopMatrix(); + } + + /** + * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then handing it off to a worker function which does the actual work. In all + * probabilty, the class Render is generic (Render> 16 & 255) / 255.0F; + float f2 = (float) (l >> 8 & 255) / 255.0F; + float f3 = (float) (l & 255) / 255.0F; + if (EntityRenderer.anaglyphEnable) { + float d0 = (f1 * 30.0F + f2 * 59.0F + f3 * 11.0F) / 100.0F; + float f5 = (f1 * 30.0F + f2 * 70.0F) / 100.0F; + float d1 = (f1 * 30.0F + f3 * 70.0F) / 100.0F; + f1 = d0; + f2 = f5; + f3 = d1; + } + + tessellator.setColorOpaque_F(f * f1, f * f2, f * f3); + double d01 = (double) x; + double d11 = (double) y; + double d2 = (double) z; + if (block == Blocks.tallgrass) { + long icon = (long) (x * 3129871) ^ (long) z * 116129781L ^ (long) y; + icon = icon * icon * 42317861L + icon * 11L; + d01 += ((double) ((float) (icon >> 16 & 15L) / 15.0F) - 0.5D) * 0.5D; + d11 += ((double) ((float) (icon >> 20 & 15L) / 15.0F) - 1.0D) * 0.2D; + d2 += ((double) ((float) (icon >> 24 & 15L) / 15.0F) - 0.5D) * 0.5D; + } + + IIcon icon1 = block.getBlockTextureFromSide(0); + this.drawCrossedSquares(icon1, block, world.getBlockMetadata(x, y, z), d01, d11, d2, 1.0F); + return true; + } + + public void drawCrossedSquares(IIcon icon, Block par1Block, int par2, double par3, double par5, double par7, float par9) { + Tessellator tessellator = Tessellator.instance; + double d3 = (double) icon.getMinU(); + double d4 = (double) icon.getMinV(); + double d5 = (double) icon.getMaxU(); + double d6 = (double) icon.getMaxV(); + double d7 = 0.45D * (double) par9; + double d8 = par3 + 0.5D - d7; + double d9 = par3 + 0.5D + d7; + double d10 = par7 + 0.5D - d7; + double d11 = par7 + 0.5D + d7; + tessellator.addVertexWithUV(d8, par5 + (double) par9, d10, d3, d4); + tessellator.addVertexWithUV(d8, par5 + 0.0D, d10, d3, d6); + tessellator.addVertexWithUV(d9, par5 + 0.0D, d11, d5, d6); + tessellator.addVertexWithUV(d9, par5 + (double) par9, d11, d5, d4); + tessellator.addVertexWithUV(d9, par5 + (double) par9, d11, d3, d4); + tessellator.addVertexWithUV(d9, par5 + 0.0D, d11, d3, d6); + tessellator.addVertexWithUV(d8, par5 + 0.0D, d10, d5, d6); + tessellator.addVertexWithUV(d8, par5 + (double) par9, d10, d5, d4); + tessellator.addVertexWithUV(d8, par5 + (double) par9, d11, d3, d4); + tessellator.addVertexWithUV(d8, par5 + 0.0D, d11, d3, d6); + tessellator.addVertexWithUV(d9, par5 + 0.0D, d10, d5, d6); + tessellator.addVertexWithUV(d9, par5 + (double) par9, d10, d5, d4); + tessellator.addVertexWithUV(d9, par5 + (double) par9, d10, d3, d4); + tessellator.addVertexWithUV(d9, par5 + 0.0D, d10, d3, d6); + tessellator.addVertexWithUV(d8, par5 + 0.0D, d11, d5, d6); + tessellator.addVertexWithUV(d8, par5 + (double) par9, d11, d5, d4); + } + + @Override + public int getRenderId() { + return 0; + } + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { + } + + @Override + public boolean shouldRender3DInInventory(int arg0) { + return false; + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java new file mode 100644 index 0000000..5805e28 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java @@ -0,0 +1,41 @@ +package com.teammetallurgy.atum.entity; + +import net.minecraft.entity.EntityList; + +import com.teammetallurgy.atum.Atum; +import com.teammetallurgy.atum.entity.arrow.*; + +import cpw.mods.fml.common.registry.EntityRegistry; + +public class AtumEntities { + + public void register() { + int entityID = 0; + + // Mobs + + EntityRegistry.registerModEntity(EntityMummy.class, "mummy", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityBanditWarrior.class, "banditWarrior", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityBanditArcher.class, "banditArcher", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityPharaoh.class, "pharaoh", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityDustySkeleton.class, "dustySkeleton", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityGhost.class, "desertGhost", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityStoneSoldier.class, "stoneSoldier", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityDesertWolf.class, "desertWolf", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityBanditWarlord.class, "banditWarlord", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityBarbarian.class, "barbarian", entityID++, Atum.instance, 64, 1, true); + + // Projectiles + + EntityRegistry.registerModEntity(EntityArrowVelocity.class, "ArrowVeloctiy", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityArrowExplosive.class, "ArrowExplosive", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityArrowPoison.class, "ArrowPoison", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityArrowFire.class, "ArrowFire", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityArrowDoubleShot.class, "ArrowDoubleShot", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityArrowQuickdraw.class, "ArrowQuickDraw", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityNutsCall.class, "EntityNutsCall", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityAtumFishHook.class, "EntityAtumFishHook", entityID++, Atum.instance, 64, 1, false); + + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java new file mode 100644 index 0000000..10889c2 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java @@ -0,0 +1,154 @@ +package com.teammetallurgy.atum.entity; + +import com.teammetallurgy.atum.items.AtumItems; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.*; +import net.minecraft.entity.ai.*; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.projectile.EntityArrow; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class EntityBanditArcher extends EntityMob implements IRangedAttackMob { + private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 1.0D, 20, 60, 15.0F); + + public EntityBanditArcher(World par1World) { + super(par1World); + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_BOW)); + this.enchantEquipment(); + + this.setCanPickUpLoot(this.rand.nextFloat() < equipmentDropChances[this.worldObj.difficultySetting.getDifficultyId()]); + this.tasks.addTask(1, new EntityAISwimming(this)); + this.tasks.addTask(2, new EntityAIRestrictSun(this)); + this.tasks.addTask(3, new EntityAIWander(this, 0.8)); + + this.tasks.addTask(4, this.aiArrowAttack); + this.tasks.addTask(5, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); + this.tasks.addTask(6, new EntityAILookIdle(this)); + + this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false)); + this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 2, true)); + + this.experienceValue = 6; + + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(25.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.25D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + /** + * Checks if the entity's current position is a valid location to spawn this + * entity. + */ + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + /** + * Checks to make sure the light is not too bright where the mob is spawning + */ + @Override + protected boolean isValidLightLevel() { + return true; + } + + /** + * Returns true if the newer Entity AI code should be run + */ + @Override + public boolean isAIEnabled() { + return true; + } + + @Override + public boolean attackEntityAsMob(Entity par1Entity) { + if (super.attackEntityAsMob(par1Entity)) { + return true; + } else { + return false; + } + } + + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + /** + * Makes entity wear random armor based on difficulty + */ + @Override + protected void addRandomArmor() { + } + + /** + * Attack the specified entity using a ranged attack. + */ + @Override + public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLiving, float par2) { + EntityArrow entityarrow = new EntityArrow(this.worldObj, this, par1EntityLiving, 1.6F, (float) (14 - this.worldObj.difficultySetting.getDifficultyId() * 4)); + int i = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, this.getHeldItem()); + int j = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, this.getHeldItem()); + entityarrow.setDamage((double) (par2 * 2.0F) + this.rand.nextGaussian() * 0.25D + (double) ((float) this.worldObj.difficultySetting.getDifficultyId() * 0.11F)); + + if (i > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) i * 0.5D + 0.5D); + } + + if (j > 0) { + entityarrow.setKnockbackStrength(j); + } + + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, this.getHeldItem()) > 0) { + entityarrow.setFire(100); + } + + this.playSound("random.bow", 1.0F, 1.0F / (this.getRNG().nextFloat() * 0.4F + 0.8F)); + this.worldObj.spawnEntityInWorld(entityarrow); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + @Override + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readEntityFromNBT(par1NBTTagCompound); + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if (rand.nextInt(20) == 0) { + int damage = (int) (AtumItems.ITEM_BOW.getMaxDamage() - rand.nextInt(AtumItems.ITEM_BOW.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(AtumItems.ITEM_BOW, 1, damage), 0.0F); + } + + if (rand.nextInt(10) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Items.gold_nugget, amount); + } + + if (rand.nextInt(4) == 0) { + int amount = rand.nextInt(3) + 1; + this.dropItem(Items.arrow, amount); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java new file mode 100644 index 0000000..c5dc52d --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java @@ -0,0 +1,102 @@ +package com.teammetallurgy.atum.entity; + +import com.teammetallurgy.atum.items.AtumItems; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class EntityBanditWarlord extends EntityMob { + + public EntityBanditWarlord(World par1World) { + super(par1World); + this.experienceValue = 16; + + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCIMITAR)); + EnchantmentHelper.addRandomEnchantment(this.rand, this.getHeldItem(), 5 + this.worldObj.difficultySetting.getDifficultyId() * this.rand.nextInt(6)); + + for (int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0.05F; + } + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(80.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + @Override + protected void addRandomArmor() { + } + + /** + * Checks if the entity's current position is a valid location to spawn this + * entity. + */ + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + /** + * Will return how many at most can spawn in a chunk at once. + */ + @Override + public int getMaxSpawnedInChunk() { + return 1; + } + + /** + * Checks to make sure the light is not too bright where the mob is spawning + */ + @Override + protected boolean isValidLightLevel() { + return true; + } + + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if (rand.nextInt(20) == 0) { + int damage = (int) (AtumItems.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(AtumItems.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(AtumItems.ITEM_SCIMITAR, 1, damage), 0.0F); + } + + if (rand.nextInt(4) == 0) { + int amount = rand.nextInt(3) + 3; + this.dropItem(Items.gold_nugget, amount); + } + + if (rand.nextInt(4) == 0) { + int choice = rand.nextInt(4); + if (choice == 0) { + this.dropItem(AtumItems.wandererHelmet, 1); + } else if (choice == 1) { + this.dropItem(AtumItems.wandererChest, 1); + } else if (choice == 2) { + this.dropItem(AtumItems.wandererLegs, 1); + } else if (choice == 3) { + this.dropItem(AtumItems.wandererBoots, 1); + } + } + } +} diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java new file mode 100644 index 0000000..bd7402d --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java @@ -0,0 +1,89 @@ +package com.teammetallurgy.atum.entity; + +import com.teammetallurgy.atum.items.AtumItems; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class EntityBanditWarrior extends EntityMob { + + public EntityBanditWarrior(World par1World) { + super(par1World); + this.experienceValue = 8; + + super.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCIMITAR)); + this.enchantEquipment(); + + for (int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0F; + } + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(3.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + public String getTexture() { + return "atum:textures/entities/BanditWarrior.png"; + } + + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + /** + * Checks to make sure the light is not too bright where the mob is spawning + */ + @Override + protected boolean isValidLightLevel() { + return true; + } + + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + /** + * Returns the amount of damage a mob should deal. + */ + public int getAttackStrength(Entity par1Entity) { + ItemStack itemstack = this.getHeldItem(); + float f = (float) (this.getMaxHealth() - this.getHealth()) / (float) this.getMaxHealth(); + int i = 3 + MathHelper.floor_float(f * 4.0F); + + return i; + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if (rand.nextInt(20) == 0) { + int damage = (int) (AtumItems.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(AtumItems.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(AtumItems.ITEM_SCIMITAR, 1, damage), 0.0F); + } + + if (rand.nextInt(10) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Items.gold_nugget, amount); + } + } +} diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java new file mode 100644 index 0000000..da02a8c --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java @@ -0,0 +1,77 @@ +package com.teammetallurgy.atum.entity; + +import com.teammetallurgy.atum.items.AtumItems; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class EntityBarbarian extends EntityMob { + + public EntityBarbarian(World par1World) { + super(par1World); + this.experienceValue = 9; + + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_GREATSWORD)); + this.enchantEquipment(); + + for (int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0F; + } + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + @Override + protected void addRandomArmor() { + } + + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + @Override + protected boolean isValidLightLevel() { + return true; + } + + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + @Override + protected void dropFewItems(boolean par1, int par2) { + if (rand.nextInt(20) == 0) { + int damage = (int) (AtumItems.ITEM_GREATSWORD.getMaxDamage() - rand.nextInt(AtumItems.ITEM_GREATSWORD.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(AtumItems.ITEM_GREATSWORD, 1, damage), 0.0F); + } + + if (rand.nextInt(4) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Items.gold_nugget, amount); + } + } + + @Override + protected void attackEntity(Entity mob, float par2) { + + if (!(mob instanceof EntityStoneSoldier || mob instanceof EntityPharaoh)) { + float j = 1.2f; + mob.addVelocity((double) (-MathHelper.sin(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), 0.1D, (double) (MathHelper.cos(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); + } + super.attackEntity(mob, par2); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java b/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java new file mode 100644 index 0000000..72d8650 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java @@ -0,0 +1,509 @@ +package com.teammetallurgy.atum.entity; + +import com.teammetallurgy.atum.items.AtumItems; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.entity.*; +import net.minecraft.entity.ai.*; +import net.minecraft.entity.passive.EntityAnimal; +import net.minecraft.entity.passive.EntityTameable; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.projectile.EntityArrow; +import net.minecraft.init.Items; +import net.minecraft.item.ItemFood; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.pathfinding.PathEntity; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class EntityDesertWolf extends EntityTameable { + private float field_70926_e; + private float field_70924_f; + + /** + * true is the wolf is wet else false + */ + private boolean isShaking; + private boolean field_70928_h; + + /** + * This time increases while wolf is shaking and emitting water particles. + */ + private float timeWolfIsShaking; + private float prevTimeWolfIsShaking; + + public EntityDesertWolf(World par1World) { + super(par1World); + this.dataWatcher.addObject(18, new Float(this.getHealth())); + this.dataWatcher.addObject(19, new Byte((byte) 0)); + this.setAngry(true); + this.experienceValue = 6; + + this.setSize(0.6F, 0.8F); + this.getNavigator().setAvoidsWater(true); + this.tasks.addTask(1, new EntityAISwimming(this)); + this.tasks.addTask(2, this.aiSit); + this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); + this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1, true)); + this.tasks.addTask(5, new EntityAIFollowOwner(this, 0.8, 10.0F, 2.0F)); + this.tasks.addTask(6, new EntityAIMate(this, 0.8)); + this.tasks.addTask(7, new EntityAIWander(this, this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).getAttributeValue())); + this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); + this.tasks.addTask(9, new EntityAILookIdle(this)); + this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); + this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); + this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); + this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntityPlayer.class, 16, true)); + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(8.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.43000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + /** + * Returns true if the newer Entity AI code should be run + */ + @Override + public boolean isAIEnabled() { + return true; + } + + /** + * Finds the closest player within 16 blocks to attack, or null if this + * Entity isn't interested in attacking (Animals, Spiders at day, peaceful + * PigZombies). + */ + @Override + protected Entity findPlayerToAttack() { + EntityPlayer entityplayer = this.worldObj.getClosestVulnerablePlayerToEntity(this, 16.0D); + return entityplayer != null && this.canEntityBeSeen(entityplayer) ? entityplayer : null; + } + + /** + * Sets the active target the Task system uses for tracking + */ + @Override + public void setAttackTarget(EntityLivingBase par1EntityLiving) { + super.setAttackTarget(par1EntityLiving); + + if (par1EntityLiving instanceof EntityPlayer) { + this.setAngry(true); + } + } + + /** + * main AI tick function, replaces updateEntityActionState + */ + @Override + protected void updateAITick() { + this.dataWatcher.updateObject(18, Float.valueOf(this.getHealth())); + } + + /** + * Checks if the entity's current position is a valid location to spawn this + * entity. + */ + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + @Override + protected void func_145780_a(int p_145780_1_, int p_145780_2_, int p_145780_3_, Block p_145780_4_) { + this.playSound("mob.wolf.step", 0.15F, 1.0F); + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + @Override + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeEntityToNBT(par1NBTTagCompound); + par1NBTTagCompound.setBoolean("Angry", this.isAngry()); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + @Override + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readEntityFromNBT(par1NBTTagCompound); + this.setAngry(par1NBTTagCompound.getBoolean("Angry")); + + } + + /** + * Determines if an entity can be despawned, used on idle far away entities + */ + @Override + protected boolean canDespawn() { + return this.isAngry(); + } + + /** + * Returns the sound this mob makes while it's alive. + */ + @Override + protected String getLivingSound() { + return this.isAngry() ? "mob.wolf.growl" : (this.rand.nextInt(3) == 0 ? (this.isTamed() && this.dataWatcher.getWatchableObjectInt(18) < 10 ? "mob.wolf.whine" : "mob.wolf.panting") : "mob.wolf.bark"); + } + + /** + * Returns the sound this mob makes when it is hurt. + */ + @Override + protected String getHurtSound() { + return "mob.wolf.hurt"; + } + + /** + * Returns the sound this mob makes on death. + */ + @Override + protected String getDeathSound() { + return "mob.wolf.death"; + } + + /** + * Returns the volume for the sounds this mob makes. + */ + @Override + protected float getSoundVolume() { + return 0.4F; + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if (rand.nextInt(10) == 0) { + this.dropItem(Items.bone, 1); + } + if (rand.nextInt(4) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(AtumItems.ITEM_PELT, amount); + } + } + + /** + * Called frequently so the entity can update its state every tick as + * required. For example, zombies and skeletons use this to react to + * sunlight and start to burn. + */ + @Override + public void onLivingUpdate() { + super.onLivingUpdate(); + + if (!this.worldObj.isRemote && this.isShaking && !this.field_70928_h && !this.hasPath() && this.onGround) { + this.field_70928_h = true; + this.timeWolfIsShaking = 0.0F; + this.prevTimeWolfIsShaking = 0.0F; + this.worldObj.setEntityState(this, (byte) 8); + } + } + + /** + * Called to update the entity's position/logic. + */ + @Override + public void onUpdate() { + super.onUpdate(); + + if (!this.worldObj.isRemote && this.worldObj.difficultySetting.getDifficultyId() == 0) { + this.setDead(); + return; + } + + this.field_70924_f = this.field_70926_e; + + if (this.func_70922_bv()) { + this.field_70926_e += (1.0F - this.field_70926_e) * 0.4F; + } else { + this.field_70926_e += (0.0F - this.field_70926_e) * 0.4F; + } + + if (this.func_70922_bv()) { + this.numTicksToChaseTarget = 10; + } + + if (this.isWet()) { + this.isShaking = true; + this.field_70928_h = false; + this.timeWolfIsShaking = 0.0F; + this.prevTimeWolfIsShaking = 0.0F; + } else if ((this.isShaking || this.field_70928_h) && this.field_70928_h) { + if (this.timeWolfIsShaking == 0.0F) { + this.playSound("mob.wolf.shake", this.getSoundVolume(), (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); + } + + this.prevTimeWolfIsShaking = this.timeWolfIsShaking; + this.timeWolfIsShaking += 0.05F; + + if (this.prevTimeWolfIsShaking >= 2.0F) { + this.isShaking = false; + this.field_70928_h = false; + this.prevTimeWolfIsShaking = 0.0F; + this.timeWolfIsShaking = 0.0F; + } + + if (this.timeWolfIsShaking > 0.4F) { + float f = (float) this.boundingBox.minY; + int i = (int) (MathHelper.sin((this.timeWolfIsShaking - 0.4F) * (float) Math.PI) * 7.0F); + + for (int j = 0; j < i; ++j) { + float f1 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; + float f2 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; + this.worldObj.spawnParticle("splash", this.posX + (double) f1, (double) (f + 0.8F), this.posZ + (double) f2, this.motionX, this.motionY, this.motionZ); + } + } + } + } + + @SideOnly(Side.CLIENT) + public boolean getWolfShaking() { + return this.isShaking; + } + + @SideOnly(Side.CLIENT) + /** + * Used when calculating the amount of shading to apply while the wolf is shaking. + */ + public float getShadingWhileShaking(float par1) { + return 0.75F + (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1) / 2.0F * 0.25F; + } + + @SideOnly(Side.CLIENT) + public float getShakeAngle(float par1, float par2) { + float f2 = (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1 + par2) / 1.8F; + + if (f2 < 0.0F) { + f2 = 0.0F; + } else if (f2 > 1.0F) { + f2 = 1.0F; + } + + return MathHelper.sin(f2 * (float) Math.PI) * MathHelper.sin(f2 * (float) Math.PI * 11.0F) * 0.15F * (float) Math.PI; + } + + @SideOnly(Side.CLIENT) + public float getInterestedAngle(float par1) { + return (this.field_70924_f + (this.field_70926_e - this.field_70924_f) * par1) * 0.15F * (float) Math.PI; + } + + @Override + public float getEyeHeight() { + return this.height * 0.8F; + } + + /** + * The speed it takes to move the entityliving's rotationPitch through the + * faceEntity method. This is only currently use in wolves. + */ + @Override + public int getVerticalFaceSpeed() { + return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); + } + + /** + * Called when the entity is attacked. + */ + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if (this.isEntityInvulnerable()) { + return false; + } else { + Entity entity = par1DamageSource.getEntity(); + this.aiSit.setSitting(false); + + if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) { + par2 = (par2 + 1) / 2; + } + + return super.attackEntityFrom(par1DamageSource, par2); + } + } + + @Override + public boolean attackEntityAsMob(Entity par1Entity) { + int i = this.isTamed() ? 4 : 2; + return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), i); + } + + /** + * Called when a player interacts with a mob. e.g. gets milk from a cow, + * gets into the saddle on a pig. + */ + @Override + public boolean interact(EntityPlayer par1EntityPlayer) { + ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); + + if (this.isTamed()) { + if (itemstack != null) { + if (itemstack.getItem() instanceof ItemFood) { + ItemFood itemfood = (ItemFood) itemstack.getItem(); + + if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectInt(18) < 20) { + if (!par1EntityPlayer.capabilities.isCreativeMode) { + --itemstack.stackSize; + } + + this.heal(itemfood.func_150905_g(itemstack)); + + if (itemstack.stackSize <= 0) { + par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); + } + + return true; + } + } + } + + if (this.func_152114_e(par1EntityPlayer) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) { + this.aiSit.setSitting(!this.isSitting()); + this.isJumping = false; + this.setPathToEntity((PathEntity) null); + } + } else if (itemstack != null && itemstack.getItem() == Items.bone && !this.isAngry()) { + if (!par1EntityPlayer.capabilities.isCreativeMode) { + --itemstack.stackSize; + } + + if (itemstack.stackSize <= 0) { + par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); + } + + if (!this.worldObj.isRemote) { + if (this.rand.nextInt(3) == 0) { + this.setTamed(true); + this.setPathToEntity((PathEntity) null); + this.setAttackTarget((EntityLiving) null); + this.aiSit.setSitting(true); + this.func_152115_b(par1EntityPlayer.getUniqueID().toString()); + this.playTameEffect(true); + this.worldObj.setEntityState(this, (byte) 7); + } else { + this.playTameEffect(false); + this.worldObj.setEntityState(this, (byte) 6); + } + } + + return true; + } + + return super.interact(par1EntityPlayer); + } + + @SideOnly(Side.CLIENT) + @Override + public void handleHealthUpdate(byte par1) { + if (par1 == 8) { + this.field_70928_h = true; + this.timeWolfIsShaking = 0.0F; + this.prevTimeWolfIsShaking = 0.0F; + } else { + super.handleHealthUpdate(par1); + } + } + + @SideOnly(Side.CLIENT) + public float getTailRotation() { + return this.isAngry() ? 1.5393804F : (this.isTamed() ? (0.55F - (float) (20 - this.dataWatcher.getWatchableObjectInt(18)) * 0.02F) * (float) Math.PI : ((float) Math.PI / 5F)); + } + + /** + * Checks if the parameter is an item which this animal can be fed to breed + * it (wheat, carrots or seeds depending on the animal type) + */ + @Override + public boolean isBreedingItem(ItemStack par1ItemStack) { + return par1ItemStack == null ? false : (!(par1ItemStack.getItem() instanceof ItemFood) ? false : ((ItemFood) par1ItemStack.getItem()).isWolfsFavoriteMeat()); + } + + /** + * Will return how many at most can spawn in a chunk at once. + */ + @Override + public int getMaxSpawnedInChunk() { + return 8; + } + + /** + * Determines whether this wolf is angry or not. + */ + public boolean isAngry() { + return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; + } + + /** + * Sets whether this wolf is angry or not. + */ + public void setAngry(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); + } + } + + public void func_70918_i(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(19); + + if (par1) { + this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); + } else { + this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); + } + } + + /** + * Returns true if the mob is currently able to mate with the specified mob. + */ + @Override + public boolean canMateWith(EntityAnimal par1EntityAnimal) { + if (par1EntityAnimal == this) { + return false; + } else if (!this.isTamed()) { + return false; + } else if (!(par1EntityAnimal instanceof EntityDesertWolf)) { + return false; + } else { + EntityDesertWolf entitywolf = (EntityDesertWolf) par1EntityAnimal; + return !entitywolf.isTamed() ? false : (entitywolf.isSitting() ? false : this.isInLove() && entitywolf.isInLove()); + } + } + + public boolean func_70922_bv() { + return this.dataWatcher.getWatchableObjectByte(19) == 1; + } + + @Override + public EntityAgeable createChild(EntityAgeable par1EntityAgeable) { + EntityDesertWolf entitywolf = new EntityDesertWolf(this.worldObj); + String s = this.func_152113_b(); + + if (s != null && s.trim().length() > 0) { + entitywolf.func_152115_b(s); + entitywolf.setTamed(true); + } + + return entitywolf; + } + + @Override + public EntityLivingBase getOwner() { + return null; + } +} diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java b/src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java new file mode 100644 index 0000000..4e6ca12 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java @@ -0,0 +1,71 @@ +package com.teammetallurgy.atum.entity; + +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.init.Items; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; + +public class EntityDustySkeleton extends EntityMob { + + boolean onFire = false; + + public EntityDustySkeleton(World par1World) { + super(par1World); + this.isImmuneToFire = true; + this.experienceValue = 6; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D); + double speed = 0.53000000417232513D; + if (this.onFire) { + speed = 0.9D; + } + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(speed); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + @Override + public void onUpdate() { + super.onUpdate(); + if (this.isBurning()) { + this.onFire = true; + this.applyEntityAttributes(); + } + } + + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + return super.attackEntityFrom(par1DamageSource, par2); + } + + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + @Override + protected boolean isValidLightLevel() { + return true; + } + + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } + + @Override + protected void dropFewItems(boolean par1, int par2) { + switch (this.rand.nextInt(4)) { + case 0: + int amount = rand.nextInt(2) + 1; + this.dropItem(Items.bone, amount); + break; + } + } +} diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java b/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java new file mode 100644 index 0000000..745b41b --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java @@ -0,0 +1,139 @@ +package com.teammetallurgy.atum.entity; + +import com.teammetallurgy.atum.items.AtumItems; +import net.minecraft.block.Block; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import net.minecraftforge.common.ForgeHooks; + +public class EntityGhost extends EntityMob { + private int cycleHeight = 0; + private int cycleTime = 100; + + public EntityGhost(World par1World) { + super(par1World); + this.isImmuneToFire = true; + this.experienceValue = 6; + cycleTime = (int) ((Math.random() * 40) + 80); + cycleHeight = (int) (Math.random() * cycleTime); + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(1.04D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(2.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + /** + * Returns true if the newer Entity AI code should be run + */ + @Override + public boolean isAIEnabled() { + return false; + } + + public void onLivingUpdate() { + cycleHeight = (cycleHeight + 1) % cycleTime; + + super.onLivingUpdate(); + } + + /** + * Checks if the entity's current position is a valid location to spawn this + * entity. + */ + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + /** + * Checks to make sure the light is not too bright where the mob is spawning + */ + @Override + protected boolean isValidLightLevel() { + return true; + } + + @Override + protected void jump() { + this.motionY = 0.56999998688697815D; + + if (this.isPotionActive(Potion.jump)) { + this.motionY += (double) ((float) (this.getActivePotionEffect(Potion.jump).getAmplifier() + 1) * 0.1F); + } + + if (this.isSprinting()) { + float f = this.rotationYaw * 0.017453292F; + this.motionX -= (double) (MathHelper.sin(f) * 0.2F); + this.motionZ += (double) (MathHelper.cos(f) * 0.2F); + } + + this.isAirBorne = true; + ForgeHooks.onLivingJump(this); + } + + /** + * Plays step sound at given x, y, z for the entity + */ + @Override + protected void func_145780_a(int par1, int par2, int par3, Block par4) { + } + + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } + + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + return super.attackEntityFrom(par1DamageSource, par2); + } + + /** + * Basic mob attack. Default to touch of death in EntityCreature. Overridden + * by each mob to define their attack. + */ + @Override + protected void attackEntity(Entity par1Entity, float par2) { + if (this.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > this.boundingBox.minY && par1Entity.boundingBox.minY < this.boundingBox.maxY) { + this.attackTime = 20; + this.attackEntityAsMob(par1Entity); + if (Math.random() > 0.75 && par1Entity instanceof EntityLiving) { + EntityLiving e = (EntityLiving) par1Entity; + e.addPotionEffect(new PotionEffect(2, 100, 2)); + } + } + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if (this.rand.nextInt(4) == 0) { + int amount = rand.nextInt(3) + 1; + this.dropItem(AtumItems.ITEM_ECTOPLASM, amount); + } + } + + public double getFloatingHeight() { + return Math.cos(2 * Math.PI * (cycleHeight / (double) cycleTime)) / 3.0F; + } +} diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java b/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java new file mode 100644 index 0000000..3aef389 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java @@ -0,0 +1,76 @@ +package com.teammetallurgy.atum.entity; + +import com.teammetallurgy.atum.items.AtumItems; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.init.Items; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; + +public class EntityMummy extends EntityMob { + + public EntityMummy(World par1World) { + super(par1World); + this.experienceValue = 8; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(40.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(2.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + @Override + protected boolean isValidLightLevel() { + return true; + } + + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } + + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if (par1DamageSource.isFireDamage()) { + par2 += 1; + } + if (this.isBurning()) { + par2 = (int) (par2 * 1.5); + } + + return super.attackEntityFrom(par1DamageSource, par2); + } + + @Override + public boolean attackEntityAsMob(Entity par1Entity) { + boolean flag = super.attackEntityAsMob(par1Entity); + + if (flag && this.isBurning() && this.rand.nextFloat() < (float) this.worldObj.difficultySetting.getDifficultyId() * 0.4F) { + par1Entity.setFire(2 * this.worldObj.difficultySetting.getDifficultyId()); + } + + return flag; + } + + @Override + protected void dropFewItems(boolean par1, int par2) { + if (rand.nextInt(4) == 0) { + this.dropItem(Items.rotten_flesh, 1); + } + if (rand.nextInt(4) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(AtumItems.ITEM_SCRAP, amount); + } + } +} diff --git a/common/rebelkeithy/mods/atum/entities/EntityPharaoh.java b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java similarity index 58% rename from common/rebelkeithy/mods/atum/entities/EntityPharaoh.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java index 14f86db..3d35e0a 100644 --- a/common/rebelkeithy/mods/atum/entities/EntityPharaoh.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java @@ -1,81 +1,65 @@ -package rebelkeithy.mods.atum.entities; - -import java.util.List; -import java.util.Random; +package com.teammetallurgy.atum.entity; +import com.teammetallurgy.atum.items.AtumLoot; +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; +import com.teammetallurgy.atum.items.AtumItems; +import cpw.mods.fml.common.FMLCommonHandler; import net.minecraft.block.Block; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.boss.BossStatus; import net.minecraft.entity.boss.IBossDisplayData; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; +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.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; +import net.minecraft.util.*; import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.atum.AtumLoot; -import rebelkeithy.mods.atum.cursedchest.TileEntityPharaohChest; -import cpw.mods.fml.common.FMLCommonHandler; -public class EntityPharaoh extends EntityMob implements IBossDisplayData -{ +import java.util.List; + +public class EntityPharaoh extends EntityMob implements IBossDisplayData { + public static String[] prefix = {"Ama", "Ata", "Ato", "Bak", "Cal", "Djet", "Eje", "For", "Gol", "Gut", "Hop", "Hor", "Huni", "Iam", "Jor", "Kal", "Khas", "Khor", "Lat", "Mal", "Not", "Oap", "Pra", "Qo", "Ras", "Shas", "Thoth", "Tui", "Uld", "Ver", "Wot", "Xo", "Yat", "Zyt", "Khep"}; + public static String[] suffix = {"Ahat", "Amesh", "Amon", "Anut", "Baroom", "Chanta", "Erant", "Funam", "Daresh", "Djer", "Hotesh", "Khaden", "Kron", "Gorkum", "Ialenter", "Ma'at", "Narmer", "Radeem", "Jaloom", "Lepsha", "Quor", "Oleshet", "Peput", "Talat", "Ulam", "Veresh", "Ranesh", "Snef", "Wollolo", "Hathor", "Intef", "Neferk", "Khatne", "Tepy", "Moret"}; + public static String[] numeral = {"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV"}; int linkedX; int linkedY; int linkedZ; - int stage; - - public static String[] prefix = { "Ama'", "Ata'", "Ato'", "Bak'", "Cal'", "Djet'", "Eje'", "For'", "Gol'", "Gut'", "Hop'", "Hor'", "Huni'", "Iam'", "Jor'", "Kal'", "Khas'", "Khor'", "Lat'", "Mal'", "Not'", "Oap'", "Pra'", "Qo'", - "Ras'", "Shas'", "Thoth'", "Tui'", "Uld'", "Ver'", "Wot'", "Xo'", "Yat'", "Zyt'", "Khep'" }; - public static String[] suffix = { "Ahat", "Amesh", "Amon", "Anut", "Baroom", "Chanta", "Erant", "Funam", "Daresh", "Djer", "Hotesh", "Khaden", "Kron", "Gorkum", "Ialenter", "Ma'at", "Narmer", "Radeem", "Jaloom", "Lepsha", "Quor", - "Oleshet", "Peput", "Talat", "Ulam", "Veresh", "Ranesh", "Snef", "Wollolo", "Hathor", "Intef", "Neferk", "Khatne", "Tepy", "Moret" }; - public static String[] numeral = { "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV" }; - private int suffixID = 0; private int prefixID = 0; private int numID = 0; private int regenTime = 0; - public EntityPharaoh(World par1World) - { + public EntityPharaoh(World par1World) { super(par1World); this.experienceValue = 250; - Random rand = new Random(); stage = 0; - } - public void setName(int par1, int par2, int par3) - { - suffixID = par1; - prefixID = par2; - numID = par3; - this.dataWatcher.updateObject(18, new Integer(suffixID)); - this.dataWatcher.updateObject(19, new Integer(prefixID)); - this.dataWatcher.updateObject(20, new Integer(numID)); - } - - @Override - public void initCreature() - { - super.initCreature(); - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.scepter)); + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCEPTER)); - for (int i = 0; i < this.equipmentDropChances.length; ++i) - { + for (int i = 0; i < this.equipmentDropChances.length; ++i) { this.equipmentDropChances[i] = 0F; } } - public void link(int x, int y, int z) - { + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(300.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + public void link(int x, int y, int z) { linkedX = x; linkedY = y; linkedZ = z; @@ -84,34 +68,28 @@ public void link(int x, int y, int z) /** * Makes the entity despawn if requirements are reached */ - protected void despawnEntity() - {} + @Override + protected void despawnEntity() { + } @Override - public void onDeath(DamageSource par1DamageSource) - { + public void onDeath(DamageSource par1DamageSource) { super.onDeath(par1DamageSource); - if (par1DamageSource.damageType == "player") - { + if (par1DamageSource.damageType == "player") { EntityPlayer slayer = (EntityPlayer) par1DamageSource.getEntity(); - if (!worldObj.isRemote) - { + if (!worldObj.isRemote) { List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; - for (EntityPlayer player : players) - { - player.sendChatToPlayer(this.getEntityName() + " was slain by " + slayer.getEntityName()); + for (EntityPlayer player : players) { + player.addChatMessage(new ChatComponentText(this.getCommandSenderName() + " " + StatCollector.translateToLocal("chat.atum.killPharaoh") + " " + slayer.getGameProfile().getName())); } } } - if (linkedX != 0 && linkedY != 0 && linkedZ != 0) - { - TileEntity te = worldObj.getBlockTileEntity(linkedX, linkedY, linkedZ); - if (te != null) - { - if (te instanceof TileEntityPharaohChest) - { + if (linkedX != 0 && linkedY != 0 && linkedZ != 0) { + TileEntity te = worldObj.getTileEntity(linkedX, linkedY, linkedZ); + if (te != null) { + if (te instanceof TileEntityPharaohChest) { TileEntityPharaohChest tepc = (TileEntityPharaohChest) te; tepc.setOpenable(); } @@ -120,54 +98,30 @@ public void onDeath(DamageSource par1DamageSource) } @Override - public int getMaxHealth() - { - return 300; - } - - @Override - public String getEntityName() - { - try - { + public String getCommandSenderName() { + try { int s = this.dataWatcher.getWatchableObjectInt(18); int p = this.dataWatcher.getWatchableObjectInt(19); int n = this.dataWatcher.getWatchableObjectInt(20); - return "Pharaoh " + prefix[p] + suffix[s] + " " + numeral[n]; - } catch (Exception e) - { + return "Pharaoh " + StatCollector.translateToLocal("entity.atum.pharaoh." + prefix[p]) + StatCollector.translateToLocal("entity.atum.pharaoh." + suffix[s]) + " " + numeral[n]; + } catch (Exception e) { return ""; } - - } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/mobs/PharaohBlue.png"; } /** * Get this Entity's EnumCreatureAttribute */ @Override - public EnumCreatureAttribute getCreatureAttribute() - { + public EnumCreatureAttribute getCreatureAttribute() { return EnumCreatureAttribute.UNDEAD; } - @Override - public float getSpeedModifier() - { - return super.getSpeedModifier(); - } - /** * knocks back this entity */ @Override - public void knockBack(Entity par1Entity, int par2, double par3, double par5) - { + public void knockBack(Entity par1Entity, float par2, double par3, double par5) { this.isAirBorne = true; float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); float f1 = 0.3F; @@ -175,54 +129,42 @@ public void knockBack(Entity par1Entity, int par2, double par3, double par5) this.motionY /= 2.0D; this.motionZ /= 2.0D; this.motionX -= par3 / (double) f * (double) f1; - // this.motionY += (double)f1; this.motionZ -= par5 / (double) f * (double) f1; - if (this.motionY > 0.4000000059604645D) - { + if (this.motionY > 0.4000000059604645D) { this.motionY = 0.4000000059604645D; } } @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) - { - if (par1DamageSource.isFireDamage()) - { + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if (par1DamageSource.isFireDamage()) { par2 = 0; } - if (super.attackEntityFrom(par1DamageSource, par2)) - { - if (par1DamageSource.getEntity() != null) - { + if (super.attackEntityFrom(par1DamageSource, par2)) { + if (par1DamageSource.getEntity() != null) { Entity par1Entity = par1DamageSource.getEntity(); int j = 0; - if (par1Entity instanceof EntityLiving) - { + if (par1Entity instanceof EntityLiving) { j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); - if (j > 0) - { + if (j > 0) { this.motionX /= 0.6D; this.motionZ /= 0.6D; - this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, - (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); + this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); } } } - if (this.getHealth() < this.getMaxHealth() * 0.75 && stage == 0) - { + if (this.getHealth() < this.getMaxHealth() * 0.75 && stage == 0) { stage++; spawnGuards(); - } else if (stage == 1 && this.getHealth() < this.getMaxHealth() * 0.5) - { + } else if (stage == 1 && this.getHealth() < this.getMaxHealth() * 0.5) { stage++; spawnGuards(); - } else if (stage == 2 && this.getHealth() < this.getMaxHealth() * 0.25) - { + } else if (stage == 2 && this.getHealth() < this.getMaxHealth() * 0.25) { stage++; spawnGuards(); } @@ -233,10 +175,11 @@ public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) } /** - * Destroys all blocks that aren't associated with 'The End' inside the given bounding box. + * Destroys all blocks that aren't associated with 'The End' inside the + * given bounding box. */ - private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) - { + + private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) { int minX = MathHelper.floor_double(par1AxisAlignedBB.minX); int minY = MathHelper.floor_double(par1AxisAlignedBB.minY); int minZ = MathHelper.floor_double(par1AxisAlignedBB.minZ); @@ -246,97 +189,80 @@ private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) boolean flag = false; boolean flag1 = false; - for (int x = minX; x <= maxX; ++x) - { - for (int y = minY; y <= maxY; ++y) - { - for (int z = minZ; z <= maxZ; ++z) - { - int id = this.worldObj.getBlockId(x, y, z); + for (int x = minX; x <= maxX; ++x) { + for (int y = minY; y <= maxY; ++y) { + for (int z = minZ; z <= maxZ; ++z) { + Block block = this.worldObj.getBlock(x, y, z); int metadata = this.worldObj.getBlockMetadata(x, y, z); - Block block = Block.blocksList[id]; - if (block != null) - { - if (id != AtumBlocks.largeBrick.blockID && id != AtumBlocks.pharaohChest.blockID && Block.blocksList[id].isBlockSolid(worldObj, x, y, z, 0)) - { - Block.blocksList[id].dropBlockAsItem(worldObj, x, y, z, metadata, 0); + if (block != null) { + if (block != AtumBlocks.BLOCK_LARGEBRICK && block != AtumBlocks.BLOCK_PHARAOHCHEST && block != Blocks.bedrock && block.isBlockSolid(worldObj, x, y, z, 0)) { + block.dropBlockAsItem(worldObj, x, y, z, metadata, 0); flag1 = this.worldObj.setBlockToAir(x, y, z) || flag1; } - + flag = true; } } } } - if (flag1) - { - System.out.println("explode"); - double d0 = par1AxisAlignedBB.minX + (par1AxisAlignedBB.maxX - par1AxisAlignedBB.minX) * (double)this.rand.nextFloat(); - double d1 = par1AxisAlignedBB.minY + (par1AxisAlignedBB.maxY - par1AxisAlignedBB.minY) * (double)this.rand.nextFloat(); - double d2 = par1AxisAlignedBB.minZ + (par1AxisAlignedBB.maxZ - par1AxisAlignedBB.minZ) * (double)this.rand.nextFloat(); + if (flag1) { + double d0 = par1AxisAlignedBB.minX + (par1AxisAlignedBB.maxX - par1AxisAlignedBB.minX) * (double) this.rand.nextFloat(); + double d1 = par1AxisAlignedBB.minY + (par1AxisAlignedBB.maxY - par1AxisAlignedBB.minY) * (double) this.rand.nextFloat(); + double d2 = par1AxisAlignedBB.minZ + (par1AxisAlignedBB.maxZ - par1AxisAlignedBB.minZ) * (double) this.rand.nextFloat(); this.worldObj.spawnParticle("largeexplode", d0, d1, d2, 0.0D, 0.0D, 0.0D); } return flag; } - private void spawnGuards() - { + private void spawnGuards() { int numSpawned = 0; - if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ)) - { + if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ)) { numSpawned++; } if (numSpawned >= 2) return; - if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) - { + if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { numSpawned++; } if (numSpawned >= 2) return; - if (trySpawnMummy((int) posX, (int) posY, (int) posZ + 1)) - { + if (trySpawnMummy((int) posX, (int) posY, (int) posZ + 1)) { numSpawned++; } if (numSpawned >= 2) return; - if (trySpawnMummy((int) posX, (int) posY, (int) posZ - 1)) - { + if (trySpawnMummy((int) posX, (int) posY, (int) posZ - 1)) { numSpawned++; } if (numSpawned >= 2) return; - if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ + 1)) - { + if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ + 1)) { numSpawned++; } if (numSpawned >= 2) return; - if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) - { + if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { numSpawned++; } if (numSpawned >= 2) return; - if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ + 1)) - { + if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ + 1)) { numSpawned++; } if (numSpawned >= 2) return; - if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ - 1)) - { + if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ - 1)) { numSpawned++; } if (numSpawned >= 2) @@ -344,12 +270,10 @@ private void spawnGuards() } - public boolean trySpawnMummy(int x, int y, int z) - { + public boolean trySpawnMummy(int x, int y, int z) { EntityMummy mummy1 = new EntityMummy(worldObj); mummy1.setPosition(x, y, z); - if (mummy1.getCanSpawnHere()) - { + if (mummy1.getCanSpawnHere()) { if (!worldObj.isRemote) worldObj.spawnEntityInWorld(mummy1); mummy1.spawnExplosionParticle(); @@ -359,21 +283,11 @@ public boolean trySpawnMummy(int x, int y, int z) return false; } - /** - * Returns the amount of damage a mob should deal. - */ - @Override - public int getAttackStrength(Entity par1Entity) - { - return 4; - } - /** * (abstract) Protected helper method to write subclass entity data to NBT. */ @Override - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { super.writeEntityToNBT(par1NBTTagCompound); par1NBTTagCompound.setInteger("suffix", dataWatcher.getWatchableObjectInt(18)); par1NBTTagCompound.setInteger("prefix", dataWatcher.getWatchableObjectInt(19)); @@ -384,10 +298,9 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) * (abstract) Protected helper method to read subclass entity data from NBT. */ @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { super.readEntityFromNBT(par1NBTTagCompound); - this.dataWatcher.updateObject(16, Integer.valueOf(this.health)); + this.dataWatcher.updateObject(16, Float.valueOf(this.prevHealth)); suffixID = par1NBTTagCompound.getInteger("suffix"); prefixID = par1NBTTagCompound.getInteger("prefix"); numID = par1NBTTagCompound.getInteger("numeral"); @@ -397,12 +310,10 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) } @Override - protected void entityInit() - { + protected void entityInit() { super.entityInit(); - this.dataWatcher.addObject(16, new Integer(100)); - if (suffixID == 0 && prefixID == 0 && numID == 0) - { + this.dataWatcher.addObject(16, new Float(100)); + if (suffixID == 0 && prefixID == 0 && numID == 0) { suffixID = rand.nextInt(suffix.length); prefixID = rand.nextInt(prefix.length); numID = rand.nextInt(numeral.length); @@ -415,15 +326,13 @@ protected void entityInit() /** * Called to update the entity's position/logic. */ - public void onUpdate() - { + @Override + public void onUpdate() { super.onUpdate(); - if (!this.worldObj.isRemote && this.worldObj.difficultySetting == 0) - { - TileEntity te = worldObj.getBlockTileEntity(linkedX, linkedY, linkedZ); - if (te instanceof TileEntityPharaohChest) - { + if (!this.worldObj.isRemote && this.worldObj.difficultySetting.getDifficultyId() == 0) { + TileEntity te = worldObj.getTileEntity(linkedX, linkedY, linkedZ); + if (te instanceof TileEntityPharaohChest) { ((TileEntityPharaohChest) te).setPharaohDespawned(); } this.setDead(); @@ -431,29 +340,20 @@ public void onUpdate() } @Override - public void onLivingUpdate() - { - if (!this.worldObj.isRemote) - { - this.dataWatcher.updateObject(16, Integer.valueOf(this.health)); + public void onLivingUpdate() { + if (!this.worldObj.isRemote) { + this.dataWatcher.updateObject(16, Float.valueOf(this.prevHealth)); } - if (regenTime++ > 20) - { + if (regenTime++ > 20) { regenTime = 0; this.heal(1); } super.onLivingUpdate(); - - if(!worldObj.isRemote) - this.destroyBlocksInAABB(this.boundingBox.expand(0.1, 0, 0.1)); - } - @Override - public int getBossHealth() - { - return this.dataWatcher.getWatchableObjectInt(16); + if (!worldObj.isRemote) + this.destroyBlocksInAABB(this.boundingBox.expand(0.1, 0, 0.1)); } /** @@ -462,12 +362,10 @@ public int getBossHealth() * kill this mob. */ @Override - protected void dropFewItems(boolean par1, int par2) - { + protected void dropFewItems(boolean par1, int par2) { int amount = rand.nextInt(2) + 1; - this.dropItem(Item.ingotGold.itemID, amount); + this.dropItem(Items.gold_ingot, amount); this.entityDropItem(AtumLoot.getRandomArtifact(), 0.0F); - } } diff --git a/common/rebelkeithy/mods/atum/entities/EntityStone.java b/src/main/java/com/teammetallurgy/atum/entity/EntityStone.java similarity index 54% rename from common/rebelkeithy/mods/atum/entities/EntityStone.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityStone.java index b89889b..6b5cd9e 100644 --- a/common/rebelkeithy/mods/atum/entities/EntityStone.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityStone.java @@ -1,32 +1,20 @@ -package rebelkeithy.mods.atum.entities; +package com.teammetallurgy.atum.entity; -import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.monster.EntityMob; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.world.World; -public class EntityStone extends EntityMob -{ +public class EntityStone extends EntityMob { - public EntityStone(World par1World) - { + public EntityStone(World par1World) { super(par1World); } - @Override - public int getMaxHealth() - { - return 10; - } - - - public boolean isPotionApplicable(PotionEffect par1PotionEffect) - { + public boolean isPotionApplicable(PotionEffect par1PotionEffect) { int i = par1PotionEffect.getPotionID(); - if (i == Potion.poison.id) - { + if (i == Potion.poison.id) { return false; } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java b/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java new file mode 100644 index 0000000..977281b --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java @@ -0,0 +1,105 @@ +package com.teammetallurgy.atum.entity; + +import com.teammetallurgy.atum.items.AtumItems; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class EntityStoneSoldier extends EntityStone { + + public EntityStoneSoldier(World par1World) { + super(par1World); + this.isImmuneToFire = true; + this.experienceValue = 8; + + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_STONESOLDIER_SWORD)); + + for (int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0F; + } + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(80.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + @Override + protected boolean isValidLightLevel() { + return true; + } + + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if (super.attackEntityFrom(par1DamageSource, par2)) { + if (par1DamageSource.getEntity() != null) { + Entity par1Entity = par1DamageSource.getEntity(); + int j = 0; + if (par1Entity instanceof EntityLiving) { + j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); + + if (j > 0) { + this.motionX /= 0.6D; + this.motionZ /= 0.6D; + this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); + } + } + + } + return true; + } + + return false; + } + + /** + * knocks back this entity + */ + @Override + public void knockBack(Entity par1Entity, float par2, double par3, double par5) { + this.isAirBorne = true; + float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); + float f1 = 0.2F; + this.motionX /= 2.0D; + this.motionY /= 2.0D; + this.motionZ /= 2.0D; + this.motionX -= par3 / (double) f * (double) f1; + this.motionZ -= par5 / (double) f * (double) f1; + + if (this.motionY > 0.4000000059604645D) { + this.motionY = 0.4000000059604645D; + } + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if (this.rand.nextInt(4) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(AtumItems.ITEM_STONECHUNK, amount); + } + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java new file mode 100644 index 0000000..7f5f9e7 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java @@ -0,0 +1,37 @@ +package com.teammetallurgy.atum.entity.arrow; + +import net.minecraft.entity.projectile.EntityArrow; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class CustomArrow extends EntityArrow { + + public float arrowShake = 0; + + public CustomArrow(World par1World) { + super(par1World); + } + + @Override + public void readEntityFromNBT(NBTTagCompound nbttagcompound) { + super.readFromNBT(nbttagcompound); + } + + @Override + public void writeEntityToNBT(NBTTagCompound nbttagcompound) { + super.writeToNBT(nbttagcompound); + } + + @Override + protected void entityInit() { + } + + public String getTexture() { + return "minecraft:arrow"; + } + + @Override + public void onUpdate() { + this.onEntityUpdate(); + } +} diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowDoubleShot.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java similarity index 51% rename from common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowDoubleShot.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java index ee06ae6..786682a 100644 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowDoubleShot.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java @@ -1,66 +1,61 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import java.util.List; - -import rebelkeithy.mods.particleregistry.ParticleRegistry; +package com.teammetallurgy.atum.entity.arrow; +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; -import net.minecraft.enchantment.EnchantmentThorns; +import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IProjectile; import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; +import net.minecraft.network.play.server.S2BPacketChangeGameState; +import net.minecraft.util.*; import net.minecraft.world.World; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class EntityArrowDoubleShot extends CustomArrow implements IProjectile, IThrowableEntity -{ +import java.util.List; + +public class EntityArrowDoubleShot extends CustomArrow implements IProjectile, IThrowableEntity { + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; private int xTile = -1; private int yTile = -1; private int zTile = -1; - private int inTile = 0; + private Block inTile = null; private int inData = 0; private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; private int ticksInGround; private int ticksInAir = 0; private double damage = 2.0D; - /** The amount of knockback an arrow applies when it hits a mob. */ + /** + * The amount of knockback an arrow applies when it hits a mob. + */ private int knockbackStrength; - public EntityArrowDoubleShot(World par1World) - { + public EntityArrowDoubleShot(World par1World) { super(par1World); this.renderDistanceWeight = 10.0D; this.setSize(0.5F, 0.5F); } - public EntityArrowDoubleShot(World par1World, double par2, double par4, double par6) - { + public EntityArrowDoubleShot(World par1World, double par2, double par4, double par6) { super(par1World); this.renderDistanceWeight = 10.0D; this.setSize(0.5F, 0.5F); @@ -68,117 +63,106 @@ public EntityArrowDoubleShot(World par1World, double par2, double par4, double p this.yOffset = 0.0F; } - public EntityArrowDoubleShot(World par1World, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) - { + public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { super(par1World); this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if (par2EntityLiving instanceof EntityPlayer) - { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } - this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + if (d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); double d4 = d0 / d3; double d5 = d2 / d3; this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); } } - public EntityArrowDoubleShot(World par1World, EntityLiving par2EntityLiving, float par3) - { + public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, float par3) { super(par1World); this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if (par2EntityLiving instanceof EntityPlayer) - { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); this.setPosition(this.posX, this.posY, this.posZ); this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); } - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); } /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; this.motionX = par1; this.motionY = par3; this.motionZ = par5; float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); this.ticksInGround = 0; } @SideOnly(Side.CLIENT) - /** * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, * posY, posZ, yaw, pitch */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { this.setPosition(par1, par3, par5); this.setRotation(par7, par8); } @SideOnly(Side.CLIENT) - /** * Sets the velocity to the args. Args: x, y, z */ - public void setVelocity(double par1, double par3, double par5) - { + public void setVelocity(double par1, double par3, double par5) { this.motionX = par1; this.motionY = par3; this.motionZ = par5; - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch; this.prevRotationYaw = this.rotationYaw; this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); @@ -189,71 +173,58 @@ public void setVelocity(double par1, double par3, double par5) /** * Called to update the entity's position/logic. */ - public void onUpdate() - { + public void onUpdate() { super.onUpdate(); - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); } - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { this.inGround = true; } } - if (this.arrowShake > 0) - { + if (this.arrowShake > 0) { --this.arrowShake; } - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if (j == this.inTile && k == this.inData) - { + if (j == this.inTile && k == this.inData) { ++this.ticksInGround; - if (this.ticksInGround == 1200) - { + if (this.ticksInGround == 1200) { this.setDead(); } - } - else - { + } else { this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); this.ticksInGround = 0; this.ticksInAir = 0; } - } - else - { + } else { ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) { + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } Entity entity = null; @@ -262,22 +233,18 @@ public void onUpdate() int l; float f1; - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); + for (l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - if (movingobjectposition1 != null) - { + if (movingobjectposition1 != null) { double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - if (d1 < d0 || d0 == 0.0D) - { + if (d1 < d0 || d0 == 0.0D) { entity = entity1; d0 = d1; } @@ -285,17 +252,14 @@ public void onUpdate() } } - if (entity != null) - { + if (entity != null) { movingobjectposition = new MovingObjectPosition(entity); } - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).func_96122_a(entityplayer)) - { + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { movingobjectposition = null; } } @@ -303,75 +267,59 @@ public void onUpdate() float f2; float f3; - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - if (this.getIsCritical()) - { + if (this.getIsCritical()) { i1 += this.rand.nextInt(i1 / 2 + 2); } DamageSource damagesource = null; - if (this.shootingEntity == null) - { + if (this.shootingEntity == null) { damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { + } else { damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); } - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { movingobjectposition.entityHit.setFire(5); } - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) - { + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + if (!this.worldObj.isRemote) { entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); } - if (this.knockbackStrength > 0) - { + if (this.knockbackStrength > 0) { f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); + if (f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); } } - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); } - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); } } this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { this.setDead(); } - } - else - { + } else { this.motionX *= -0.10000000149011612D; this.motionY *= -0.10000000149011612D; this.motionZ *= -0.10000000149011612D; @@ -379,39 +327,33 @@ public void onUpdate() this.prevRotationYaw += 180.0F; this.ticksInAir = 0; } - } - else - { + } else { this.xTile = movingobjectposition.blockX; this.yTile = movingobjectposition.blockY; this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); this.inGround = true; this.arrowShake = 7; this.setIsCritical(false); - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); } } } - if (this.getIsCritical() && worldObj.isRemote) - { - for (l = 0; l < 4; ++l) - { - //this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ, 0.7, 1, 0.7); + if (this.getIsCritical() && worldObj.isRemote) { + for (l = 0; l < 4; ++l) { + this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } @@ -419,25 +361,21 @@ public void onUpdate() this.posY += this.motionY; this.posZ += this.motionZ; f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { ; } - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { this.prevRotationPitch += 360.0F; } - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { this.prevRotationYaw -= 360.0F; } - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { this.prevRotationYaw += 360.0F; } @@ -446,66 +384,58 @@ public void onUpdate() float f4 = 0.99F; f1 = 0.05F; - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); } f4 = 0.45F; } - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)f1; + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) f1; this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); + this.func_145775_I(); } } /** * (abstract) Protected helper method to write subclass entity data to NBT. */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); par1NBTTagCompound.setDouble("damage", this.damage); } /** * (abstract) Protected helper method to read subclass entity data from NBT. */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if (par1NBTTagCompound.hasKey("damage")) - { + if (par1NBTTagCompound.hasKey("damage")) { this.damage = par1NBTTagCompound.getDouble("damage"); } - if (par1NBTTagCompound.hasKey("pickup")) - { + if (par1NBTTagCompound.hasKey("pickup")) { this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { + } else if (par1NBTTagCompound.hasKey("player")) { this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; } } @@ -513,19 +443,15 @@ else if (par1NBTTagCompound.hasKey("player")) /** * Called by a player entity when they collide with an entity */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) - { + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { flag = false; } - if (flag) - { + if (flag) { this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); par1EntityPlayer.onItemPickup(this, 1); this.setDead(); @@ -534,87 +460,75 @@ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) } /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops */ - protected boolean canTriggerWalking() - { + protected boolean canTriggerWalking() { return false; } @SideOnly(Side.CLIENT) - public float getShadowSize() - { + public float getShadowSize() { return 0.0F; } - public void setDamage(double par1) - { - this.damage = par1; + public double getDamage() { + return this.damage; } - public double getDamage() - { - return this.damage; + public void setDamage(double par1) { + this.damage = par1; } /** * Sets the amount of knockback the arrow applies when it hits a mob. */ - public void setKnockbackStrength(int par1) - { + public void setKnockbackStrength(int par1) { this.knockbackStrength = par1; } /** * If returns false, the item will not inflict any damage against entities. */ - public boolean canAttackWithItem() - { + public boolean canAttackWithItem() { return false; } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ - public void setIsCritical(boolean par1) - { + public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } + return (b0 & 1) != 0; } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ - public boolean getIsCritical() - { + public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + @Override + public Entity getThrower() { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) { + shootingEntity = entity; } - @Override - public Entity getThrower() - { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; - } - @Override - public String getTexture() - { - return "/mods/Atum/textures/projectiles/arrows_double.png"; + public String getTexture() { + return "Atum:textures/projectiles/arrows_double.png"; } } diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowExplosive.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java similarity index 51% rename from common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowExplosive.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java index 9c5cae3..80d2895 100644 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowExplosive.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java @@ -1,64 +1,61 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import java.util.List; - -import rebelkeithy.mods.particleregistry.ParticleRegistry; +package com.teammetallurgy.atum.entity.arrow; +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; -import net.minecraft.enchantment.EnchantmentThorns; +import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IProjectile; import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; +import net.minecraft.network.play.server.S2BPacketChangeGameState; +import net.minecraft.util.*; import net.minecraft.world.World; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class EntityArrowExplosive extends CustomArrow implements IProjectile, IThrowableEntity -{ +import java.util.List; + +public class EntityArrowExplosive extends CustomArrow implements IProjectile, IThrowableEntity { + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; private int xTile = -1; private int yTile = -1; private int zTile = -1; - private int inTile = 0; + private Block inTile = null; private int inData = 0; private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; private int ticksInGround; private int ticksInAir = 0; private double damage = 2.0D; - /** The amount of knockback an arrow applies when it hits a mob. */ + /** + * The amount of knockback an arrow applies when it hits a mob. + */ private int knockbackStrength; - public EntityArrowExplosive(World par1World) - { + public EntityArrowExplosive(World par1World) { super(par1World); this.renderDistanceWeight = 10.0D; this.setSize(0.5F, 0.5F); } - public EntityArrowExplosive(World par1World, double par2, double par4, double par6) - { + public EntityArrowExplosive(World par1World, double par2, double par4, double par6) { super(par1World); this.renderDistanceWeight = 10.0D; this.setSize(0.5F, 0.5F); @@ -66,117 +63,106 @@ public EntityArrowExplosive(World par1World, double par2, double par4, double pa this.yOffset = 0.0F; } - public EntityArrowExplosive(World par1World, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) - { + public EntityArrowExplosive(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { super(par1World); this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if (par2EntityLiving instanceof EntityPlayer) - { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } - this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + if (d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); double d4 = d0 / d3; double d5 = d2 / d3; this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); } } - public EntityArrowExplosive(World par1World, EntityLiving par2EntityLiving, float par3) - { + public EntityArrowExplosive(World par1World, EntityLivingBase par2EntityLiving, float par3) { super(par1World); this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if (par2EntityLiving instanceof EntityPlayer) - { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); this.setPosition(this.posX, this.posY, this.posZ); this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); } - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); } /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; this.motionX = par1; this.motionY = par3; this.motionZ = par5; float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); this.ticksInGround = 0; } @SideOnly(Side.CLIENT) - /** * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, * posY, posZ, yaw, pitch */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { this.setPosition(par1, par3, par5); this.setRotation(par7, par8); } @SideOnly(Side.CLIENT) - /** * Sets the velocity to the args. Args: x, y, z */ - public void setVelocity(double par1, double par3, double par5) - { + public void setVelocity(double par1, double par3, double par5) { this.motionX = par1; this.motionY = par3; this.motionZ = par5; - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch; this.prevRotationYaw = this.rotationYaw; this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); @@ -187,72 +173,59 @@ public void setVelocity(double par1, double par3, double par5) /** * Called to update the entity's position/logic. */ - public void onUpdate() - { + public void onUpdate() { super.onUpdate(); - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); } - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { this.worldObj.newExplosion(this, this.posX, this.posY, this.posZ, 2.0F, this.isBurning(), true); this.inGround = true; } } - if (this.arrowShake > 0) - { + if (this.arrowShake > 0) { --this.arrowShake; } - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if (j == this.inTile && k == this.inData) - { + if (j == this.inTile && k == this.inData) { ++this.ticksInGround; - if (this.ticksInGround == 1200) - { + if (this.ticksInGround == 1200) { this.setDead(); } - } - else - { + } else { this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); this.ticksInGround = 0; this.ticksInAir = 0; } - } - else - { + } else { ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) { + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } Entity entity = null; @@ -261,22 +234,18 @@ public void onUpdate() int l; float f1; - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); + for (l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - if (movingobjectposition1 != null) - { + if (movingobjectposition1 != null) { double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - if (d1 < d0 || d0 == 0.0D) - { + if (d1 < d0 || d0 == 0.0D) { entity = entity1; d0 = d1; } @@ -284,17 +253,14 @@ public void onUpdate() } } - if (entity != null) - { + if (entity != null) { movingobjectposition = new MovingObjectPosition(entity); } - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).func_96122_a(entityplayer)) - { + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { movingobjectposition = null; } } @@ -302,75 +268,60 @@ public void onUpdate() float f2; float f3; - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - if (this.getIsCritical()) - { + if (this.getIsCritical()) { i1 += this.rand.nextInt(i1 / 2 + 2); } DamageSource damagesource = null; - if (this.shootingEntity == null) - { + if (this.shootingEntity == null) { damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { + } else { damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); } - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { movingobjectposition.entityHit.setFire(5); } - + this.worldObj.createExplosion(this, entity.posX, entity.posY, entity.posZ, 2.0F, true); this.setDead(); - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) - { + + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + if (!this.worldObj.isRemote) { entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); } - if (this.knockbackStrength > 0) - { + if (this.knockbackStrength > 0) { f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); + if (f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); } } - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); } - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); } } this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - } - else - { + } else { this.motionX *= -0.10000000149011612D; this.motionY *= -0.10000000149011612D; this.motionZ *= -0.10000000149011612D; @@ -378,21 +329,19 @@ public void onUpdate() this.prevRotationYaw += 180.0F; this.ticksInAir = 0; } - } - else - { + } else { this.xTile = movingobjectposition.blockX; this.yTile = movingobjectposition.blockY; this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); this.worldObj.createExplosion(this, movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord, 2.0F, true); this.inGround = true; @@ -400,50 +349,41 @@ public void onUpdate() this.setDead(); this.setIsCritical(false); - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); } } } - if (this.getIsCritical() && worldObj.isRemote) - { - for (l = 0; l < 4; ++l) - { - //this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ, 0.5, 0.1, 0.5); + if (this.getIsCritical() && worldObj.isRemote) { + for (l = 0; l < 4; ++l) { + this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } - - if(Math.random() > 0.0) - { - worldObj.spawnParticle("smoke", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX/10F, (-this.motionY + 0.2D)/10F, -this.motionZ/10F); + + if (Math.random() > 0.0) { + worldObj.spawnParticle("smoke", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX / 10F, (-this.motionY + 0.2D) / 10F, -this.motionZ / 10F); } this.posX += this.motionX; this.posY += this.motionY; this.posZ += this.motionZ; f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { ; } - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { this.prevRotationPitch += 360.0F; } - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { this.prevRotationYaw -= 360.0F; } - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { this.prevRotationYaw += 360.0F; } @@ -452,66 +392,58 @@ public void onUpdate() float f4 = 0.99F; f1 = 0.15F; - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); } f4 = 0.8F; } - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)f1; + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) f1; this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); + this.func_145775_I(); } } /** * (abstract) Protected helper method to write subclass entity data to NBT. */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); par1NBTTagCompound.setDouble("damage", this.damage); } /** * (abstract) Protected helper method to read subclass entity data from NBT. */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if (par1NBTTagCompound.hasKey("damage")) - { + if (par1NBTTagCompound.hasKey("damage")) { this.damage = par1NBTTagCompound.getDouble("damage"); } - if (par1NBTTagCompound.hasKey("pickup")) - { + if (par1NBTTagCompound.hasKey("pickup")) { this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { + } else if (par1NBTTagCompound.hasKey("player")) { this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; } } @@ -519,19 +451,15 @@ else if (par1NBTTagCompound.hasKey("player")) /** * Called by a player entity when they collide with an entity */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) - { + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { flag = false; } - if (flag) - { + if (flag) { this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); par1EntityPlayer.onItemPickup(this, 1); this.setDead(); @@ -540,87 +468,75 @@ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) } /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops */ - protected boolean canTriggerWalking() - { + protected boolean canTriggerWalking() { return false; } @SideOnly(Side.CLIENT) - public float getShadowSize() - { + public float getShadowSize() { return 0.0F; } - public void setDamage(double par1) - { - this.damage = par1; + public double getDamage() { + return this.damage; } - public double getDamage() - { - return this.damage; + public void setDamage(double par1) { + this.damage = par1; } /** * Sets the amount of knockback the arrow applies when it hits a mob. */ - public void setKnockbackStrength(int par1) - { + public void setKnockbackStrength(int par1) { this.knockbackStrength = par1; } /** * If returns false, the item will not inflict any damage against entities. */ - public boolean canAttackWithItem() - { + public boolean canAttackWithItem() { return false; } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ - public void setIsCritical(boolean par1) - { + public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } + return (b0 & 1) != 0; } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ - public boolean getIsCritical() - { + public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + @Override + public Entity getThrower() { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) { + shootingEntity = entity; } - @Override - public Entity getThrower() - { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; - } - @Override - public String getTexture() - { - return "/mods/Atum/textures/projectiles/arrows_exploding.png"; + public String getTexture() { + return "Atum:textures/projectiles/arrows_exploding.png"; } } diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowFire.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java similarity index 50% rename from common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowFire.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java index 1ca156b..4b7725f 100644 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowFire.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java @@ -1,66 +1,62 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import java.util.List; - -import rebelkeithy.mods.particleregistry.ParticleRegistry; +package com.teammetallurgy.atum.entity.arrow; +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; -import net.minecraft.enchantment.EnchantmentThorns; +import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IProjectile; import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; +import net.minecraft.network.play.server.S2BPacketChangeGameState; +import net.minecraft.util.*; import net.minecraft.world.World; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class EntityArrowFire extends CustomArrow implements IProjectile, IThrowableEntity -{ +import java.util.List; + +public class EntityArrowFire extends CustomArrow implements IProjectile, IThrowableEntity { + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; private int xTile = -1; private int yTile = -1; private int zTile = -1; - private int inTile = 0; + private Block inTile = null; private int inData = 0; private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; private int ticksInGround; private int ticksInAir = 0; private double damage = 2.0D; - /** The amount of knockback an arrow applies when it hits a mob. */ + /** + * The amount of knockback an arrow applies when it hits a mob. + */ private int knockbackStrength; - public EntityArrowFire(World par1World) - { + public EntityArrowFire(World par1World) { super(par1World); this.renderDistanceWeight = 10.0D; this.setSize(0.5F, 0.5F); } - public EntityArrowFire(World par1World, double par2, double par4, double par6) - { + public EntityArrowFire(World par1World, double par2, double par4, double par6) { super(par1World); this.renderDistanceWeight = 10.0D; this.setSize(0.5F, 0.5F); @@ -68,117 +64,106 @@ public EntityArrowFire(World par1World, double par2, double par4, double par6) this.yOffset = 0.0F; } - public EntityArrowFire(World par1World, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) - { + public EntityArrowFire(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { super(par1World); this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if (par2EntityLiving instanceof EntityPlayer) - { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } - this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + if (d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); double d4 = d0 / d3; double d5 = d2 / d3; this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); } } - public EntityArrowFire(World par1World, EntityLiving par2EntityLiving, float par3) - { + public EntityArrowFire(World par1World, EntityLivingBase par2EntityLiving, float par3) { super(par1World); this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if (par2EntityLiving instanceof EntityPlayer) - { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); this.setPosition(this.posX, this.posY, this.posZ); this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); } - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); } /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; this.motionX = par1; this.motionY = par3; this.motionZ = par5; float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); this.ticksInGround = 0; } @SideOnly(Side.CLIENT) - /** * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, * posY, posZ, yaw, pitch */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { this.setPosition(par1, par3, par5); this.setRotation(par7, par8); } @SideOnly(Side.CLIENT) - /** * Sets the velocity to the args. Args: x, y, z */ - public void setVelocity(double par1, double par3, double par5) - { + public void setVelocity(double par1, double par3, double par5) { this.motionX = par1; this.motionY = par3; this.motionZ = par5; - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch; this.prevRotationYaw = this.rotationYaw; this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); @@ -189,74 +174,61 @@ public void setVelocity(double par1, double par3, double par5) /** * Called to update the entity's position/logic. */ - public void onUpdate() - { + public void onUpdate() { super.onUpdate(); - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); } - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { this.inGround = true; } } - if (this.arrowShake > 0) - { + if (this.arrowShake > 0) { --this.arrowShake; } - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if (j == this.inTile && k == this.inData) - { + if (j == this.inTile && k == this.inData) { ++this.ticksInGround; - if(worldObj.isAirBlock((int)posX, (int)posY, (int)posZ)) - worldObj.setBlock((int)posX, (int)posY, (int)posZ, Block.fire.blockID); - - if (this.ticksInGround == 1200) - { + if (worldObj.isAirBlock((int) posX, (int) posY, (int) posZ)) + worldObj.setBlock((int) posX, (int) posY, (int) posZ, Blocks.fire); + + if (this.ticksInGround == 1200) { this.setDead(); } - } - else - { + } else { this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); this.ticksInGround = 0; this.ticksInAir = 0; } - } - else - { + } else { ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) { + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } Entity entity = null; @@ -265,22 +237,18 @@ public void onUpdate() int l; float f1; - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); + for (l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - if (movingobjectposition1 != null) - { + if (movingobjectposition1 != null) { double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - if (d1 < d0 || d0 == 0.0D) - { + if (d1 < d0 || d0 == 0.0D) { entity = entity1; d0 = d1; } @@ -288,17 +256,14 @@ public void onUpdate() } } - if (entity != null) - { + if (entity != null) { movingobjectposition = new MovingObjectPosition(entity); } - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).func_96122_a(entityplayer)) - { + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { movingobjectposition = null; } } @@ -306,75 +271,59 @@ public void onUpdate() float f2; float f3; - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - if (this.getIsCritical()) - { + if (this.getIsCritical()) { i1 += this.rand.nextInt(i1 / 2 + 2); } DamageSource damagesource = null; - if (this.shootingEntity == null) - { + if (this.shootingEntity == null) { damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { + } else { damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); } - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { movingobjectposition.entityHit.setFire(5); } - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) - { + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + if (!this.worldObj.isRemote) { entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); } - if (this.knockbackStrength > 0) - { + if (this.knockbackStrength > 0) { f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); + if (f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); } } - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); } - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); } } this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { this.setDead(); } - } - else - { + } else { this.motionX *= -0.10000000149011612D; this.motionY *= -0.10000000149011612D; this.motionZ *= -0.10000000149011612D; @@ -382,39 +331,33 @@ public void onUpdate() this.prevRotationYaw += 180.0F; this.ticksInAir = 0; } - } - else - { + } else { this.xTile = movingobjectposition.blockX; this.yTile = movingobjectposition.blockY; this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); this.inGround = true; this.arrowShake = 7; this.setIsCritical(false); - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); } } } - if (this.getIsCritical() && worldObj.isRemote) - { - for (l = 0; l < 4; ++l) - { - //this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ, 0.8, 0.5, 0.2); + if (this.getIsCritical() && worldObj.isRemote) { + for (l = 0; l < 4; ++l) { + this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } @@ -422,25 +365,21 @@ public void onUpdate() this.posY += this.motionY; this.posZ += this.motionZ; f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { ; } - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { this.prevRotationPitch += 360.0F; } - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { this.prevRotationYaw -= 360.0F; } - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { this.prevRotationYaw += 360.0F; } @@ -449,66 +388,58 @@ public void onUpdate() float f4 = 0.99F; f1 = 0.05F; - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); } f4 = 0.45F; } - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)f1; + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) f1; this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); + this.func_145775_I(); } } /** * (abstract) Protected helper method to write subclass entity data to NBT. */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); par1NBTTagCompound.setDouble("damage", this.damage); } /** * (abstract) Protected helper method to read subclass entity data from NBT. */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if (par1NBTTagCompound.hasKey("damage")) - { + if (par1NBTTagCompound.hasKey("damage")) { this.damage = par1NBTTagCompound.getDouble("damage"); } - if (par1NBTTagCompound.hasKey("pickup")) - { + if (par1NBTTagCompound.hasKey("pickup")) { this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { + } else if (par1NBTTagCompound.hasKey("player")) { this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; } } @@ -516,19 +447,15 @@ else if (par1NBTTagCompound.hasKey("player")) /** * Called by a player entity when they collide with an entity */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) - { + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { flag = false; } - if (flag) - { + if (flag) { this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); par1EntityPlayer.onItemPickup(this, 1); this.setDead(); @@ -537,87 +464,75 @@ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) } /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops */ - protected boolean canTriggerWalking() - { + protected boolean canTriggerWalking() { return false; } @SideOnly(Side.CLIENT) - public float getShadowSize() - { + public float getShadowSize() { return 0.0F; } - public void setDamage(double par1) - { - this.damage = par1; + public double getDamage() { + return this.damage; } - public double getDamage() - { - return this.damage; + public void setDamage(double par1) { + this.damage = par1; } /** * Sets the amount of knockback the arrow applies when it hits a mob. */ - public void setKnockbackStrength(int par1) - { + public void setKnockbackStrength(int par1) { this.knockbackStrength = par1; } /** * If returns false, the item will not inflict any damage against entities. */ - public boolean canAttackWithItem() - { + public boolean canAttackWithItem() { return false; } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ - public void setIsCritical(boolean par1) - { + public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } + return (b0 & 1) != 0; } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ - public boolean getIsCritical() - { + public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + @Override + public Entity getThrower() { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) { + shootingEntity = entity; } - @Override - public Entity getThrower() - { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; - } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/projectiles/arrows_fire.png"; + @Override + public String getTexture() { + return "Atum:textures/projectiles/arrows_fire.png"; } } diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowPoison.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java similarity index 51% rename from common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowPoison.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java index 13ad972..07dcf62 100644 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowPoison.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java @@ -1,66 +1,63 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import java.util.List; - -import rebelkeithy.mods.particleregistry.ParticleRegistry; +package com.teammetallurgy.atum.entity.arrow; +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; -import net.minecraft.enchantment.EnchantmentThorns; +import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IProjectile; import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; +import net.minecraft.network.play.server.S2BPacketChangeGameState; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; +import net.minecraft.util.*; import net.minecraft.world.World; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class EntityArrowPoison extends CustomArrow implements IProjectile, IThrowableEntity -{ +import java.util.List; + +public class EntityArrowPoison extends CustomArrow implements IProjectile, IThrowableEntity { + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; private int xTile = -1; private int yTile = -1; private int zTile = -1; - private int inTile = 0; + private Block inTile = null; private int inData = 0; private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; private int ticksInGround; private int ticksInAir = 0; private double damage = 2.0D; - /** The amount of knockback an arrow applies when it hits a mob. */ + /** + * The amount of knockback an arrow applies when it hits a mob. + */ private int knockbackStrength; - public EntityArrowPoison(World par1World) - { + public EntityArrowPoison(World par1World) { super(par1World); this.renderDistanceWeight = 10.0D; this.setSize(0.5F, 0.5F); } - public EntityArrowPoison(World par1World, double par2, double par4, double par6) - { + public EntityArrowPoison(World par1World, double par2, double par4, double par6) { super(par1World); this.renderDistanceWeight = 10.0D; this.setSize(0.5F, 0.5F); @@ -68,117 +65,106 @@ public EntityArrowPoison(World par1World, double par2, double par4, double par6) this.yOffset = 0.0F; } - public EntityArrowPoison(World par1World, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) - { + public EntityArrowPoison(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { super(par1World); this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if (par2EntityLiving instanceof EntityPlayer) - { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } - this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + if (d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); double d4 = d0 / d3; double d5 = d2 / d3; this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); } } - public EntityArrowPoison(World par1World, EntityLiving par2EntityLiving, float par3) - { + public EntityArrowPoison(World par1World, EntityLivingBase par2EntityLiving, float par3) { super(par1World); this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if (par2EntityLiving instanceof EntityPlayer) - { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); this.setPosition(this.posX, this.posY, this.posZ); this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); } - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); } /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; this.motionX = par1; this.motionY = par3; this.motionZ = par5; float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); this.ticksInGround = 0; } @SideOnly(Side.CLIENT) - /** * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, * posY, posZ, yaw, pitch */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { this.setPosition(par1, par3, par5); this.setRotation(par7, par8); } @SideOnly(Side.CLIENT) - /** * Sets the velocity to the args. Args: x, y, z */ - public void setVelocity(double par1, double par3, double par5) - { + public void setVelocity(double par1, double par3, double par5) { this.motionX = par1; this.motionY = par3; this.motionZ = par5; - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch; this.prevRotationYaw = this.rotationYaw; this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); @@ -189,71 +175,58 @@ public void setVelocity(double par1, double par3, double par5) /** * Called to update the entity's position/logic. */ - public void onUpdate() - { + public void onUpdate() { super.onUpdate(); - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); } - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { this.inGround = true; } } - if (this.arrowShake > 0) - { + if (this.arrowShake > 0) { --this.arrowShake; } - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if (j == this.inTile && k == this.inData) - { + if (j == this.inTile && k == this.inData) { ++this.ticksInGround; - if (this.ticksInGround == 1200) - { + if (this.ticksInGround == 1200) { this.setDead(); } - } - else - { + } else { this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); this.ticksInGround = 0; this.ticksInAir = 0; } - } - else - { + } else { ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) { + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } Entity entity = null; @@ -262,22 +235,18 @@ public void onUpdate() int l; float f1; - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); + for (l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - if (movingobjectposition1 != null) - { + if (movingobjectposition1 != null) { double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - if (d1 < d0 || d0 == 0.0D) - { + if (d1 < d0 || d0 == 0.0D) { entity = entity1; d0 = d1; } @@ -285,17 +254,14 @@ public void onUpdate() } } - if (entity != null) - { + if (entity != null) { movingobjectposition = new MovingObjectPosition(entity); } - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).func_96122_a(entityplayer)) - { + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { movingobjectposition = null; } } @@ -303,77 +269,61 @@ public void onUpdate() float f2; float f3; - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - if (this.getIsCritical()) - { + if (this.getIsCritical()) { i1 += this.rand.nextInt(i1 / 2 + 2); } DamageSource damagesource = null; - if (this.shootingEntity == null) - { + if (this.shootingEntity == null) { damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { + } else { damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); } - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { movingobjectposition.entityHit.setFire(5); } - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; entityliving.addPotionEffect(new PotionEffect(Potion.poison.id, 140, 2, false)); - - if (!this.worldObj.isRemote) - { + + if (!this.worldObj.isRemote) { entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); } - if (this.knockbackStrength > 0) - { + if (this.knockbackStrength > 0) { f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); + if (f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); } } - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); } - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); } } this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { this.setDead(); } - } - else - { + } else { this.motionX *= -0.10000000149011612D; this.motionY *= -0.10000000149011612D; this.motionZ *= -0.10000000149011612D; @@ -381,39 +331,33 @@ public void onUpdate() this.prevRotationYaw += 180.0F; this.ticksInAir = 0; } - } - else - { + } else { this.xTile = movingobjectposition.blockX; this.yTile = movingobjectposition.blockY; this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); this.inGround = true; this.arrowShake = 7; this.setIsCritical(false); - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); } } } - if (this.getIsCritical() && worldObj.isRemote) - { - for (l = 0; l < 4; ++l) - { - //this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ, 0.5, 0.9, 0.5); + if (this.getIsCritical() && worldObj.isRemote) { + for (l = 0; l < 4; ++l) { + this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } @@ -421,25 +365,21 @@ public void onUpdate() this.posY += this.motionY; this.posZ += this.motionZ; f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { ; } - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { this.prevRotationPitch += 360.0F; } - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { this.prevRotationYaw -= 360.0F; } - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { this.prevRotationYaw += 360.0F; } @@ -448,66 +388,58 @@ public void onUpdate() float f4 = 0.99F; f1 = 0.05F; - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); } f4 = 0.45F; } - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)f1; + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) f1; this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); + this.func_145775_I(); } } /** * (abstract) Protected helper method to write subclass entity data to NBT. */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); par1NBTTagCompound.setDouble("damage", this.damage); } /** * (abstract) Protected helper method to read subclass entity data from NBT. */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if (par1NBTTagCompound.hasKey("damage")) - { + if (par1NBTTagCompound.hasKey("damage")) { this.damage = par1NBTTagCompound.getDouble("damage"); } - if (par1NBTTagCompound.hasKey("pickup")) - { + if (par1NBTTagCompound.hasKey("pickup")) { this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { + } else if (par1NBTTagCompound.hasKey("player")) { this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; } } @@ -515,19 +447,15 @@ else if (par1NBTTagCompound.hasKey("player")) /** * Called by a player entity when they collide with an entity */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) - { + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { flag = false; } - if (flag) - { + if (flag) { this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); par1EntityPlayer.onItemPickup(this, 1); this.setDead(); @@ -536,87 +464,75 @@ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) } /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops */ - protected boolean canTriggerWalking() - { + protected boolean canTriggerWalking() { return false; } @SideOnly(Side.CLIENT) - public float getShadowSize() - { + public float getShadowSize() { return 0.0F; } - public void setDamage(double par1) - { - this.damage = par1; + public double getDamage() { + return this.damage; } - public double getDamage() - { - return this.damage; + public void setDamage(double par1) { + this.damage = par1; } /** * Sets the amount of knockback the arrow applies when it hits a mob. */ - public void setKnockbackStrength(int par1) - { + public void setKnockbackStrength(int par1) { this.knockbackStrength = par1; } /** * If returns false, the item will not inflict any damage against entities. */ - public boolean canAttackWithItem() - { + public boolean canAttackWithItem() { return false; } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ - public void setIsCritical(boolean par1) - { + public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } + return (b0 & 1) != 0; } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ - public boolean getIsCritical() - { + public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + @Override + public Entity getThrower() { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) { + shootingEntity = entity; } - @Override - public Entity getThrower() - { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; - } - @Override - public String getTexture() - { - return "/mods/Atum/textures/projectiles/arrows_poison.png"; + public String getTexture() { + return "Atum:textures/projectiles/arrows_poison.png"; } } diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowQuickdraw.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java similarity index 51% rename from common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowQuickdraw.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java index ac852ce..7563571 100644 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowQuickdraw.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java @@ -1,66 +1,61 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import java.util.List; - -import rebelkeithy.mods.particleregistry.ParticleRegistry; +package com.teammetallurgy.atum.entity.arrow; +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; -import net.minecraft.enchantment.EnchantmentThorns; +import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IProjectile; import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; +import net.minecraft.network.play.server.S2BPacketChangeGameState; +import net.minecraft.util.*; import net.minecraft.world.World; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class EntityArrowQuickdraw extends CustomArrow implements IProjectile, IThrowableEntity -{ +import java.util.List; + +public class EntityArrowQuickdraw extends CustomArrow implements IProjectile, IThrowableEntity { + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; private int xTile = -1; private int yTile = -1; private int zTile = -1; - private int inTile = 0; + private Block inTile = null; private int inData = 0; private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; private int ticksInGround; private int ticksInAir = 0; private double damage = 2.0D; - /** The amount of knockback an arrow applies when it hits a mob. */ + /** + * The amount of knockback an arrow applies when it hits a mob. + */ private int knockbackStrength; - public EntityArrowQuickdraw(World par1World) - { + public EntityArrowQuickdraw(World par1World) { super(par1World); this.renderDistanceWeight = 10.0D; this.setSize(0.5F, 0.5F); } - public EntityArrowQuickdraw(World par1World, double par2, double par4, double par6) - { + public EntityArrowQuickdraw(World par1World, double par2, double par4, double par6) { super(par1World); this.renderDistanceWeight = 10.0D; this.setSize(0.5F, 0.5F); @@ -68,117 +63,106 @@ public EntityArrowQuickdraw(World par1World, double par2, double par4, double pa this.yOffset = 0.0F; } - public EntityArrowQuickdraw(World par1World, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) - { + public EntityArrowQuickdraw(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { super(par1World); this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if (par2EntityLiving instanceof EntityPlayer) - { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } - this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + if (d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); double d4 = d0 / d3; double d5 = d2 / d3; this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); } } - public EntityArrowQuickdraw(World par1World, EntityLiving par2EntityLiving, float par3) - { + public EntityArrowQuickdraw(World par1World, EntityLivingBase par2EntityLiving, float par3) { super(par1World); this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if (par2EntityLiving instanceof EntityPlayer) - { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); this.setPosition(this.posX, this.posY, this.posZ); this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); } - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); } /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; this.motionX = par1; this.motionY = par3; this.motionZ = par5; float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); this.ticksInGround = 0; } @SideOnly(Side.CLIENT) - /** * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, * posY, posZ, yaw, pitch */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { this.setPosition(par1, par3, par5); this.setRotation(par7, par8); } @SideOnly(Side.CLIENT) - /** * Sets the velocity to the args. Args: x, y, z */ - public void setVelocity(double par1, double par3, double par5) - { + public void setVelocity(double par1, double par3, double par5) { this.motionX = par1; this.motionY = par3; this.motionZ = par5; - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch; this.prevRotationYaw = this.rotationYaw; this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); @@ -189,71 +173,58 @@ public void setVelocity(double par1, double par3, double par5) /** * Called to update the entity's position/logic. */ - public void onUpdate() - { + public void onUpdate() { super.onUpdate(); - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); } - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { this.inGround = true; } } - if (this.arrowShake > 0) - { + if (this.arrowShake > 0) { --this.arrowShake; } - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if (j == this.inTile && k == this.inData) - { + if (j == this.inTile && k == this.inData) { ++this.ticksInGround; - if (this.ticksInGround == 1200) - { + if (this.ticksInGround == 1200) { this.setDead(); } - } - else - { + } else { this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); this.ticksInGround = 0; this.ticksInAir = 0; } - } - else - { + } else { ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) { + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } Entity entity = null; @@ -262,22 +233,18 @@ public void onUpdate() int l; float f1; - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); + for (l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - if (movingobjectposition1 != null) - { + if (movingobjectposition1 != null) { double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - if (d1 < d0 || d0 == 0.0D) - { + if (d1 < d0 || d0 == 0.0D) { entity = entity1; d0 = d1; } @@ -285,17 +252,14 @@ public void onUpdate() } } - if (entity != null) - { + if (entity != null) { movingobjectposition = new MovingObjectPosition(entity); } - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).func_96122_a(entityplayer)) - { + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { movingobjectposition = null; } } @@ -303,75 +267,59 @@ public void onUpdate() float f2; float f3; - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - if (this.getIsCritical()) - { + if (this.getIsCritical()) { i1 += this.rand.nextInt(i1 / 2 + 2); } DamageSource damagesource = null; - if (this.shootingEntity == null) - { + if (this.shootingEntity == null) { damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { + } else { damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); } - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { movingobjectposition.entityHit.setFire(5); } - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) - { + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + if (!this.worldObj.isRemote) { entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); } - if (this.knockbackStrength > 0) - { + if (this.knockbackStrength > 0) { f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); + if (f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); } } - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); } - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); } } this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { this.setDead(); } - } - else - { + } else { this.motionX *= -0.10000000149011612D; this.motionY *= -0.10000000149011612D; this.motionZ *= -0.10000000149011612D; @@ -379,39 +327,33 @@ public void onUpdate() this.prevRotationYaw += 180.0F; this.ticksInAir = 0; } - } - else - { + } else { this.xTile = movingobjectposition.blockX; this.yTile = movingobjectposition.blockY; this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); this.inGround = true; this.arrowShake = 7; this.setIsCritical(false); - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); } } } - if (this.getIsCritical() && worldObj.isRemote) - { - for (l = 0; l < 4; ++l) - { - //this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ, 0.9, 0.6, 0.5); + if (this.getIsCritical() && worldObj.isRemote) { + for (l = 0; l < 4; ++l) { + this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } @@ -419,25 +361,21 @@ public void onUpdate() this.posY += this.motionY; this.posZ += this.motionZ; f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { ; } - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { this.prevRotationPitch += 360.0F; } - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { this.prevRotationYaw -= 360.0F; } - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { this.prevRotationYaw += 360.0F; } @@ -446,66 +384,58 @@ public void onUpdate() float f4 = 0.99F; f1 = 0.05F; - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); } f4 = 0.45F; } - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)f1; + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) f1; this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); + this.func_145775_I(); } } /** * (abstract) Protected helper method to write subclass entity data to NBT. */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); par1NBTTagCompound.setDouble("damage", this.damage); } /** * (abstract) Protected helper method to read subclass entity data from NBT. */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if (par1NBTTagCompound.hasKey("damage")) - { + if (par1NBTTagCompound.hasKey("damage")) { this.damage = par1NBTTagCompound.getDouble("damage"); } - if (par1NBTTagCompound.hasKey("pickup")) - { + if (par1NBTTagCompound.hasKey("pickup")) { this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { + } else if (par1NBTTagCompound.hasKey("player")) { this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; } } @@ -513,19 +443,15 @@ else if (par1NBTTagCompound.hasKey("player")) /** * Called by a player entity when they collide with an entity */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) - { + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { flag = false; } - if (flag) - { + if (flag) { this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); par1EntityPlayer.onItemPickup(this, 1); this.setDead(); @@ -534,87 +460,75 @@ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) } /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops */ - protected boolean canTriggerWalking() - { + protected boolean canTriggerWalking() { return false; } @SideOnly(Side.CLIENT) - public float getShadowSize() - { + public float getShadowSize() { return 0.0F; } - public void setDamage(double par1) - { - this.damage = par1; + public double getDamage() { + return this.damage; } - public double getDamage() - { - return this.damage; + public void setDamage(double par1) { + this.damage = par1; } /** * Sets the amount of knockback the arrow applies when it hits a mob. */ - public void setKnockbackStrength(int par1) - { + public void setKnockbackStrength(int par1) { this.knockbackStrength = par1; } /** * If returns false, the item will not inflict any damage against entities. */ - public boolean canAttackWithItem() - { + public boolean canAttackWithItem() { return false; } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ - public void setIsCritical(boolean par1) - { + public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } + return (b0 & 1) != 0; } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ - public boolean getIsCritical() - { + public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + @Override + public Entity getThrower() { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) { + shootingEntity = entity; } - @Override - public Entity getThrower() - { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; - } - @Override - public String getTexture() - { - return "/mods/Atum/textures/projectiles/arrows_quickdraw.png"; + public String getTexture() { + return "Atum:textures/projectiles/arrows_quickdraw.png"; } } diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowVelocity.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java similarity index 51% rename from common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowVelocity.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java index 93ea0d4..b62d076 100644 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowVelocity.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java @@ -1,64 +1,61 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import java.util.List; - -import rebelkeithy.mods.particleregistry.ParticleRegistry; +package com.teammetallurgy.atum.entity.arrow; +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; -import net.minecraft.enchantment.EnchantmentThorns; +import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IProjectile; import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; +import net.minecraft.network.play.server.S2BPacketChangeGameState; +import net.minecraft.util.*; import net.minecraft.world.World; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class EntityArrowVelocity extends CustomArrow implements IProjectile, IThrowableEntity -{ +import java.util.List; + +public class EntityArrowVelocity extends CustomArrow implements IProjectile, IThrowableEntity { + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; private int xTile = -1; private int yTile = -1; private int zTile = -1; - private int inTile = 0; + private Block inTile = null; private int inData = 0; private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; private int ticksInGround; private int ticksInAir = 0; private double damage = 2.0D; - /** The amount of knockback an arrow applies when it hits a mob. */ + /** + * The amount of knockback an arrow applies when it hits a mob. + */ private int knockbackStrength; - public EntityArrowVelocity(World par1World) - { + public EntityArrowVelocity(World par1World) { super(par1World); this.renderDistanceWeight = 10.0D; this.setSize(0.5F, 0.5F); } - public EntityArrowVelocity(World par1World, double par2, double par4, double par6) - { + public EntityArrowVelocity(World par1World, double par2, double par4, double par6) { super(par1World); this.renderDistanceWeight = 10.0D; this.setSize(0.5F, 0.5F); @@ -66,117 +63,106 @@ public EntityArrowVelocity(World par1World, double par2, double par4, double par this.yOffset = 0.0F; } - public EntityArrowVelocity(World par1World, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) - { + public EntityArrowVelocity(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { super(par1World); this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if (par2EntityLiving instanceof EntityPlayer) - { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } - this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + if (d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); double d4 = d0 / d3; double d5 = d2 / d3; this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); } } - public EntityArrowVelocity(World par1World, EntityLiving par2EntityLiving, float par3) - { + public EntityArrowVelocity(World par1World, EntityLivingBase par2EntityLiving, float par3) { super(par1World); this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if (par2EntityLiving instanceof EntityPlayer) - { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); this.setPosition(this.posX, this.posY, this.posZ); this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); } - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); } /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; this.motionX = par1; this.motionY = par3; this.motionZ = par5; float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); this.ticksInGround = 0; } @SideOnly(Side.CLIENT) - /** * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, * posY, posZ, yaw, pitch */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { this.setPosition(par1, par3, par5); this.setRotation(par7, par8); } @SideOnly(Side.CLIENT) - /** * Sets the velocity to the args. Args: x, y, z */ - public void setVelocity(double par1, double par3, double par5) - { + public void setVelocity(double par1, double par3, double par5) { this.motionX = par1; this.motionY = par3; this.motionZ = par5; - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch; this.prevRotationYaw = this.rotationYaw; this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); @@ -187,71 +173,58 @@ public void setVelocity(double par1, double par3, double par5) /** * Called to update the entity's position/logic. */ - public void onUpdate() - { + public void onUpdate() { super.onUpdate(); - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); } - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { this.inGround = true; } } - if (this.arrowShake > 0) - { + if (this.arrowShake > 0) { --this.arrowShake; } - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if (j == this.inTile && k == this.inData) - { + if (j == this.inTile && k == this.inData) { ++this.ticksInGround; - if (this.ticksInGround == 1200) - { + if (this.ticksInGround == 1200) { this.setDead(); } - } - else - { + } else { this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); this.ticksInGround = 0; this.ticksInAir = 0; } - } - else - { + } else { ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) { + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } Entity entity = null; @@ -260,22 +233,18 @@ public void onUpdate() int l; float f1; - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); + for (l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - if (movingobjectposition1 != null) - { + if (movingobjectposition1 != null) { double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - if (d1 < d0 || d0 == 0.0D) - { + if (d1 < d0 || d0 == 0.0D) { entity = entity1; d0 = d1; } @@ -283,17 +252,14 @@ public void onUpdate() } } - if (entity != null) - { + if (entity != null) { movingobjectposition = new MovingObjectPosition(entity); } - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).func_96122_a(entityplayer)) - { + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { movingobjectposition = null; } } @@ -301,75 +267,59 @@ public void onUpdate() float f2; float f3; - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - if (this.getIsCritical()) - { + if (this.getIsCritical()) { i1 += this.rand.nextInt(i1 / 2 + 2); } DamageSource damagesource = null; - if (this.shootingEntity == null) - { + if (this.shootingEntity == null) { damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { + } else { damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); } - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { movingobjectposition.entityHit.setFire(5); } - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; - if (!this.worldObj.isRemote) - { + if (!this.worldObj.isRemote) { entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); } - if (this.knockbackStrength > 0) - { + if (this.knockbackStrength > 0) { f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); + if (f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); } } - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); } - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); } } this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { this.setDead(); } - } - else - { + } else { this.motionX *= -0.10000000149011612D; this.motionY *= -0.10000000149011612D; this.motionZ *= -0.10000000149011612D; @@ -377,39 +327,33 @@ public void onUpdate() this.prevRotationYaw += 180.0F; this.ticksInAir = 0; } - } - else - { + } else { this.xTile = movingobjectposition.blockX; this.yTile = movingobjectposition.blockY; this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); this.inGround = true; this.arrowShake = 7; this.setIsCritical(false); - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); } } } - if (this.getIsCritical() && worldObj.isRemote) - { - for (l = 0; l < 4; ++l) - { - //this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ, 0.2, 0.2, 0.2); + if (this.getIsCritical() && worldObj.isRemote) { + for (l = 0; l < 4; ++l) { + this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } @@ -417,25 +361,21 @@ public void onUpdate() this.posY += this.motionY; this.posZ += this.motionZ; f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { ; } - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { this.prevRotationPitch += 360.0F; } - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { this.prevRotationYaw -= 360.0F; } - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { this.prevRotationYaw += 360.0F; } @@ -444,66 +384,58 @@ public void onUpdate() float f4 = 0.99F; f1 = 0.05F; - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { f3 = 0.5F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); } f4 = 0.9F; } - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)Math.min(0.05, f1/(motionX*motionX + motionZ*motionZ)); + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) Math.min(0.05, f1 / (motionX * motionX + motionZ * motionZ)); this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); + this.func_145775_I(); } } /** * (abstract) Protected helper method to write subclass entity data to NBT. */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); par1NBTTagCompound.setDouble("damage", this.damage); } /** * (abstract) Protected helper method to read subclass entity data from NBT. */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if (par1NBTTagCompound.hasKey("damage")) - { + if (par1NBTTagCompound.hasKey("damage")) { this.damage = par1NBTTagCompound.getDouble("damage"); } - if (par1NBTTagCompound.hasKey("pickup")) - { + if (par1NBTTagCompound.hasKey("pickup")) { this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { + } else if (par1NBTTagCompound.hasKey("player")) { this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; } } @@ -511,19 +443,15 @@ else if (par1NBTTagCompound.hasKey("player")) /** * Called by a player entity when they collide with an entity */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) - { + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { flag = false; } - if (flag) - { + if (flag) { this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); par1EntityPlayer.onItemPickup(this, 1); this.setDead(); @@ -532,87 +460,75 @@ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) } /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops */ - protected boolean canTriggerWalking() - { + protected boolean canTriggerWalking() { return false; } @SideOnly(Side.CLIENT) - public float getShadowSize() - { + public float getShadowSize() { return 0.0F; } - public void setDamage(double par1) - { - this.damage = par1; + public double getDamage() { + return this.damage; } - public double getDamage() - { - return this.damage; + public void setDamage(double par1) { + this.damage = par1; } /** * Sets the amount of knockback the arrow applies when it hits a mob. */ - public void setKnockbackStrength(int par1) - { + public void setKnockbackStrength(int par1) { this.knockbackStrength = par1; } /** * If returns false, the item will not inflict any damage against entities. */ - public boolean canAttackWithItem() - { + public boolean canAttackWithItem() { return false; } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ - public void setIsCritical(boolean par1) - { + public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } + return (b0 & 1) != 0; } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ - public boolean getIsCritical() - { + public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + @Override + public Entity getThrower() { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) { + shootingEntity = entity; } - @Override - public Entity getThrower() - { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; - } - @Override - public String getTexture() - { - return "/mods/Atum/textures/projectiles/arrows_velocity.png"; + public String getTexture() { + return "Atum:textures/projectiles/arrows_velocity.png"; } } diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityAtumFishHook.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java similarity index 57% rename from common/rebelkeithy/mods/atum/artifacts/arrow/EntityAtumFishHook.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java index 66f37c4..24c98a4 100644 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityAtumFishHook.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java @@ -1,54 +1,55 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import java.util.List; +package com.teammetallurgy.atum.entity.arrow; +import com.teammetallurgy.atum.handler.AtumConfig; +import com.teammetallurgy.atum.items.AtumFish; +import com.teammetallurgy.atum.items.AtumItems; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.Entity; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityXPOrb; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityFishHook; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.stats.StatList; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; +import net.minecraft.util.*; import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumFish; -import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.atum.AtumConfig; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class EntityAtumFishHook extends EntityFishHook -{ - /** The tile this entity is on, X position */ - private int xTile; +import java.util.List; - /** The tile this entity is on, Y position */ +public class EntityAtumFishHook extends EntityFishHook { + public int shake; + public EntityPlayer angler; + /** + * The entity that the fishing rod is connected to, if any. When you right + * click on the fishing rod and the hook falls on to an entity, this it that + * entity. + */ + public Entity bobber; + /** + * The tile this entity is on, X position + */ + private int xTile; + /** + * The tile this entity is on, Y position + */ private int yTile; - - /** The tile this entity is on, Z position */ + /** + * The tile this entity is on, Z position + */ private int zTile; - private int inTile; + private Block inTile; private boolean inGround; - public int shake; - public EntityPlayer angler; private int ticksInGround; private int ticksInAir; - - /** the number of ticks remaining until this fish can no longer be caught */ - private int ticksCatchable; - /** - * The entity that the fishing rod is connected to, if any. When you right click on the fishing rod and the hook - * falls on to an entity, this it that entity. + * the number of ticks remaining until this fish can no longer be caught */ - public Entity bobber; + private int ticksCatchable; private int fishPosRotationIncrements; private double fishX; private double fishY; @@ -62,13 +63,12 @@ public class EntityAtumFishHook extends EntityFishHook @SideOnly(Side.CLIENT) private double velocityZ; - public EntityAtumFishHook(World par1World) - { + public EntityAtumFishHook(World par1World) { super(par1World); this.xTile = -1; this.yTile = -1; this.zTile = -1; - this.inTile = 0; + this.inTile = null; this.inGround = false; this.shake = 0; this.ticksInAir = 0; @@ -79,8 +79,7 @@ public EntityAtumFishHook(World par1World) } @SideOnly(Side.CLIENT) - public EntityAtumFishHook(World par1World, double par2, double par4, double par6, EntityPlayer par8EntityPlayer) - { + public EntityAtumFishHook(World par1World, double par2, double par4, double par6, EntityPlayer par8EntityPlayer) { this(par1World); this.setPosition(par2, par4, par6); this.ignoreFrustumCheck = true; @@ -88,13 +87,12 @@ public EntityAtumFishHook(World par1World, double par2, double par4, double par6 par8EntityPlayer.fishEntity = this; } - public EntityAtumFishHook(World par1World, EntityPlayer par2EntityPlayer) - { - super(par1World); + public EntityAtumFishHook(World par1World, EntityPlayer par2EntityPlayer) { + super(par1World, par2EntityPlayer); this.xTile = -1; this.yTile = -1; this.zTile = -1; - this.inTile = 0; + this.inTile = null; this.inGround = false; this.shake = 0; this.ticksInAir = 0; @@ -104,68 +102,64 @@ public EntityAtumFishHook(World par1World, EntityPlayer par2EntityPlayer) this.angler = par2EntityPlayer; this.angler.fishEntity = this; this.setSize(0.25F, 0.25F); - this.setLocationAndAngles(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.62D - (double)par2EntityPlayer.yOffset, par2EntityPlayer.posZ, par2EntityPlayer.rotationYaw, par2EntityPlayer.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.setLocationAndAngles(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.62D - (double) par2EntityPlayer.yOffset, par2EntityPlayer.posZ, par2EntityPlayer.rotationYaw, par2EntityPlayer.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); this.setPosition(this.posX, this.posY, this.posZ); this.yOffset = 0.0F; float f = 0.4F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI) * f); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI) * f); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI) * f); + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI) * f); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI) * f); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI) * f); this.calculateVelocity(this.motionX, this.motionY, this.motionZ, 1.5F, 1.0F); } - protected void entityInit() {} + protected void entityInit() { + } @SideOnly(Side.CLIENT) - /** * Checks if the entity is in range to render by using the past in distance and comparing it to its average edge * length * 64 * renderDistanceWeight Args: distance */ - public boolean isInRangeToRenderDist(double par1) - { + public boolean isInRangeToRenderDist(double par1) { double d1 = this.boundingBox.getAverageEdgeLength() * 4.0D; d1 *= 64.0D; return par1 < d1 * d1; } - public void calculateVelocity(double par1, double par3, double par5, float par7, float par8) - { + public void calculateVelocity(double par1, double par3, double par5, float par7, float par8) { float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; this.motionX = par1; this.motionY = par3; this.motionZ = par5; float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); this.ticksInGround = 0; } @SideOnly(Side.CLIENT) - /** * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, * posY, posZ, yaw, pitch */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { this.fishX = par1; this.fishY = par3; this.fishZ = par5; - this.fishYaw = (double)par7; - this.fishPitch = (double)par8; + this.fishYaw = (double) par7; + this.fishPitch = (double) par8; this.fishPosRotationIncrements = par9; this.motionX = this.velocityX; this.motionY = this.velocityY; @@ -173,12 +167,10 @@ public void setPositionAndRotation2(double par1, double par3, double par5, float } @SideOnly(Side.CLIENT) - /** * Sets the velocity to the args. Args: x, y, z */ - public void setVelocity(double par1, double par3, double par5) - { + public void setVelocity(double par1, double par3, double par5) { this.velocityX = this.motionX = par1; this.velocityY = this.motionY = par3; this.velocityZ = this.motionZ = par5; @@ -187,41 +179,33 @@ public void setVelocity(double par1, double par3, double par5) /** * Called to update the entity's position/logic. */ - public void onUpdate() - { + public void onUpdate() { this.onEntityUpdate(); - if (this.fishPosRotationIncrements > 0) - { - double d0 = this.posX + (this.fishX - this.posX) / (double)this.fishPosRotationIncrements; - double d1 = this.posY + (this.fishY - this.posY) / (double)this.fishPosRotationIncrements; - double d2 = this.posZ + (this.fishZ - this.posZ) / (double)this.fishPosRotationIncrements; - double d3 = MathHelper.wrapAngleTo180_double(this.fishYaw - (double)this.rotationYaw); - this.rotationYaw = (float)((double)this.rotationYaw + d3 / (double)this.fishPosRotationIncrements); - this.rotationPitch = (float)((double)this.rotationPitch + (this.fishPitch - (double)this.rotationPitch) / (double)this.fishPosRotationIncrements); + if (this.fishPosRotationIncrements > 0) { + double d0 = this.posX + (this.fishX - this.posX) / (double) this.fishPosRotationIncrements; + double d1 = this.posY + (this.fishY - this.posY) / (double) this.fishPosRotationIncrements; + double d2 = this.posZ + (this.fishZ - this.posZ) / (double) this.fishPosRotationIncrements; + double d3 = MathHelper.wrapAngleTo180_double(this.fishYaw - (double) this.rotationYaw); + this.rotationYaw = (float) ((double) this.rotationYaw + d3 / (double) this.fishPosRotationIncrements); + this.rotationPitch = (float) ((double) this.rotationPitch + (this.fishPitch - (double) this.rotationPitch) / (double) this.fishPosRotationIncrements); --this.fishPosRotationIncrements; this.setPosition(d0, d1, d2); this.setRotation(this.rotationYaw, this.rotationPitch); - } - else - { - if (!this.worldObj.isRemote) - { + } else { + if (!this.worldObj.isRemote) { ItemStack itemstack = this.angler.getCurrentEquippedItem(); - if (this.angler.isDead || !this.angler.isEntityAlive() || itemstack == null || itemstack.getItem() != AtumItems.anuketsBounty || this.getDistanceSqToEntity(this.angler) > 1024.0D) - { + if (this.angler.isDead || !this.angler.isEntityAlive() || itemstack == null || itemstack.getItem() != AtumItems.anuketsBounty || this.getDistanceSqToEntity(this.angler) > 1024.0D) { this.setDead(); this.angler.fishEntity = null; return; } - if (this.bobber != null) - { - if (!this.bobber.isDead) - { + if (this.bobber != null) { + if (!this.bobber.isDead) { this.posX = this.bobber.posX; - this.posY = this.bobber.boundingBox.minY + (double)this.bobber.height * 0.8D; + this.posY = this.bobber.boundingBox.minY + (double) this.bobber.height * 0.8D; this.posZ = this.bobber.posZ; return; } @@ -230,21 +214,17 @@ public void onUpdate() } } - if (this.shake > 0) - { + if (this.shake > 0) { --this.shake; } - if (this.inGround) - { - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if (this.inGround) { + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - if (i == this.inTile) - { + if (i == this.inTile) { ++this.ticksInGround; - if (this.ticksInGround == 1200) - { + if (this.ticksInGround == 1200) { this.setDead(); } @@ -252,26 +232,23 @@ public void onUpdate() } this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); this.ticksInGround = 0; this.ticksInAir = 0; - } - else - { + } else { ++this.ticksInAir; } - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks(vec3, vec31); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + if (movingobjectposition != null) { + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } Entity entity = null; @@ -279,22 +256,18 @@ public void onUpdate() double d4 = 0.0D; double d5; - for (int j = 0; j < list.size(); ++j) - { - Entity entity1 = (Entity)list.get(j); + for (int j = 0; j < list.size(); ++j) { + Entity entity1 = (Entity) list.get(j); - if (entity1.canBeCollidedWith() && (entity1 != this.angler || this.ticksInAir >= 5)) - { + if (entity1.canBeCollidedWith() && (entity1 != this.angler || this.ticksInAir >= 5)) { float f = 0.3F; - AxisAlignedBB axisalignedbb = entity1.boundingBox.expand((double)f, (double)f, (double)f); + AxisAlignedBB axisalignedbb = entity1.boundingBox.expand((double) f, (double) f, (double) f); MovingObjectPosition movingobjectposition1 = axisalignedbb.calculateIntercept(vec3, vec31); - if (movingobjectposition1 != null) - { + if (movingobjectposition1 != null) { d5 = vec3.distanceTo(movingobjectposition1.hitVec); - if (d5 < d4 || d4 == 0.0D) - { + if (d5 < d4 || d4 == 0.0D) { entity = entity1; d4 = d5; } @@ -302,49 +275,38 @@ public void onUpdate() } } - if (entity != null) - { + if (entity != null) { movingobjectposition = new MovingObjectPosition(entity); } - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - if (movingobjectposition.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.angler), 0)) - { + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { + if (movingobjectposition.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.angler), 0)) { this.bobber = movingobjectposition.entityHit; } - } - else - { + } else { this.inGround = true; } } - if (!this.inGround) - { + if (!this.inGround) { this.moveEntity(this.motionX, this.motionY, this.motionZ); float f1 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f1) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f1) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { ; } - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { this.prevRotationPitch += 360.0F; } - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { this.prevRotationYaw -= 360.0F; } - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { this.prevRotationYaw += 360.0F; } @@ -352,85 +314,72 @@ public void onUpdate() this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; float f2 = 0.92F; - if (this.onGround || this.isCollidedHorizontally) - { + if (this.onGround || this.isCollidedHorizontally) { f2 = 0.5F; } byte b0 = 5; double d6 = 0.0D; - for (int k = 0; k < b0; ++k) - { - double d7 = this.boundingBox.minY + (this.boundingBox.maxY - this.boundingBox.minY) * (double)(k + 0) / (double)b0 - 0.125D + 0.125D; - double d8 = this.boundingBox.minY + (this.boundingBox.maxY - this.boundingBox.minY) * (double)(k + 1) / (double)b0 - 0.125D + 0.125D; - AxisAlignedBB axisalignedbb1 = AxisAlignedBB.getAABBPool().getAABB(this.boundingBox.minX, d7, this.boundingBox.minZ, this.boundingBox.maxX, d8, this.boundingBox.maxZ); + for (int k = 0; k < b0; ++k) { + double d7 = this.boundingBox.minY + (this.boundingBox.maxY - this.boundingBox.minY) * (double) (k + 0) / (double) b0 - 0.125D + 0.125D; + double d8 = this.boundingBox.minY + (this.boundingBox.maxY - this.boundingBox.minY) * (double) (k + 1) / (double) b0 - 0.125D + 0.125D; + AxisAlignedBB axisalignedbb1 = AxisAlignedBB.getBoundingBox(this.boundingBox.minX, d7, this.boundingBox.minZ, this.boundingBox.maxX, d8, this.boundingBox.maxZ); - if (this.worldObj.isAABBInMaterial(axisalignedbb1, Material.water)) - { - d6 += 1.0D / (double)b0; + if (this.worldObj.isAABBInMaterial(axisalignedbb1, Material.water)) { + d6 += 1.0D / (double) b0; } } - if (d6 > 0.0D) - { - if (this.ticksCatchable > 0) - { + if (d6 > 0.0D) { + if (this.ticksCatchable > 0) { --this.ticksCatchable; - } - else - { + } else { short short1 = 500; - if (this.worldObj.canLightningStrikeAt(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY) + 1, MathHelper.floor_double(this.posZ))) - { + if (this.worldObj.canLightningStrikeAt(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY) + 1, MathHelper.floor_double(this.posZ))) { short1 = 300; } - if (this.rand.nextInt(short1) == 0) - { + if (this.rand.nextInt(short1) == 0) { this.ticksCatchable = this.rand.nextInt(30) + 10; this.motionY -= 0.20000000298023224D; this.playSound("random.splash", 0.25F, 1.0F + (this.rand.nextFloat() - this.rand.nextFloat()) * 0.4F); - float f3 = (float)MathHelper.floor_double(this.boundingBox.minY); + float f3 = (float) MathHelper.floor_double(this.boundingBox.minY); int l; float f4; float f5; - for (l = 0; (float)l < 1.0F + this.width * 20.0F; ++l) - { + for (l = 0; (float) l < 1.0F + this.width * 20.0F; ++l) { f5 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; f4 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; - this.worldObj.spawnParticle("bubble", this.posX + (double)f5, (double)(f3 + 1.0F), this.posZ + (double)f4, this.motionX, this.motionY - (double)(this.rand.nextFloat() * 0.2F), this.motionZ); + this.worldObj.spawnParticle("bubble", this.posX + (double) f5, (double) (f3 + 1.0F), this.posZ + (double) f4, this.motionX, this.motionY - (double) (this.rand.nextFloat() * 0.2F), this.motionZ); } - for (l = 0; (float)l < 1.0F + this.width * 20.0F; ++l) - { + for (l = 0; (float) l < 1.0F + this.width * 20.0F; ++l) { f5 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; f4 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; - this.worldObj.spawnParticle("splash", this.posX + (double)f5, (double)(f3 + 1.0F), this.posZ + (double)f4, this.motionX, this.motionY, this.motionZ); + this.worldObj.spawnParticle("splash", this.posX + (double) f5, (double) (f3 + 1.0F), this.posZ + (double) f4, this.motionX, this.motionY, this.motionZ); } } } } - if (this.ticksCatchable > 0) - { - this.motionY -= (double)(this.rand.nextFloat() * this.rand.nextFloat() * this.rand.nextFloat()) * 0.2D; + if (this.ticksCatchable > 0) { + this.motionY -= (double) (this.rand.nextFloat() * this.rand.nextFloat() * this.rand.nextFloat()) * 0.2D; } d5 = d6 * 2.0D - 1.0D; this.motionY += 0.03999999910593033D * d5; - if (d6 > 0.0D) - { - f2 = (float)((double)f2 * 0.9D); + if (d6 > 0.0D) { + f2 = (float) ((double) f2 * 0.9D); this.motionY *= 0.8D; } - this.motionX *= (double)f2; - this.motionY *= (double)f2; - this.motionZ *= (double)f2; + this.motionX *= (double) f2; + this.motionY *= (double) f2; + this.motionZ *= (double) f2; this.setPosition(this.posX, this.posY, this.posZ); } } @@ -439,69 +388,59 @@ public void onUpdate() /** * (abstract) Protected helper method to write subclass entity data to NBT. */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("shake", (byte)this.shake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("shake", (byte) this.shake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); } /** * (abstract) Protected helper method to read subclass entity data from NBT. */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); this.shake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; } @SideOnly(Side.CLIENT) - public float getShadowSize() - { + public float getShadowSize() { return 0.0F; } - public int catchFish() - { - if (this.worldObj.isRemote) - { + public int catchFish() { + if (this.worldObj.isRemote) { return 0; - } - else - { + } else { byte b0 = 0; - if (this.bobber != null) - { + if (this.bobber != null) { double d0 = this.angler.posX - this.posX; double d1 = this.angler.posY - this.posY; double d2 = this.angler.posZ - this.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d1 * d1 + d2 * d2); + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d1 * d1 + d2 * d2); double d4 = 0.1D; this.bobber.motionX += d0 * d4; - this.bobber.motionY += d1 * d4 + (double)MathHelper.sqrt_double(d3) * 0.08D; + this.bobber.motionY += d1 * d4 + (double) MathHelper.sqrt_double(d3) * 0.08D; this.bobber.motionZ += d2 * d4; b0 = 3; - } - else if (this.ticksCatchable > 0) - { - EntityItem entityitem = new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, new ItemStack(Item.fishRaw)); - //if(worldObj.provider.dimensionId == ConfigAtum.dimensionID) - entityitem.setEntityItemStack(AtumFish.getRandomFish()); + } else if (this.ticksCatchable > 0) { + EntityItem entityitem = new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, new ItemStack(Items.fish)); + if (worldObj.provider.dimensionId == AtumConfig.DIMENSION_ID) + entityitem.setEntityItemStack(AtumFish.getRandomFish()); double d5 = this.angler.posX - this.posX; double d6 = this.angler.posY - this.posY; double d7 = this.angler.posZ - this.posZ; - double d8 = (double)MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7); + double d8 = (double) MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7); double d9 = 0.1D; entityitem.motionX = d5 * d9; - entityitem.motionY = d6 * d9 + (double)MathHelper.sqrt_double(d8) * 0.08D; + entityitem.motionY = d6 * d9 + (double) MathHelper.sqrt_double(d8) * 0.08D; entityitem.motionZ = d7 * d9; this.worldObj.spawnEntityInWorld(entityitem); this.angler.addStat(StatList.fishCaughtStat, 1); @@ -509,8 +448,7 @@ else if (this.ticksCatchable > 0) b0 = 1; } - if (this.inGround) - { + if (this.inGround) { b0 = 2; } @@ -523,12 +461,10 @@ else if (this.ticksCatchable > 0) /** * Will get destroyed next tick. */ - public void setDead() - { + public void setDead() { super.setDead(); - if (this.angler != null) - { + if (this.angler != null) { this.angler.fishEntity = null; } } diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityNutsCall.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java similarity index 52% rename from common/rebelkeithy/mods/atum/artifacts/arrow/EntityNutsCall.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java index 5d46e78..8eda344 100644 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityNutsCall.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java @@ -1,11 +1,13 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import java.util.List; +package com.teammetallurgy.atum.entity.arrow; +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; -import net.minecraft.enchantment.EnchantmentThorns; +import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IProjectile; import net.minecraft.entity.effect.EntityLightningBolt; import net.minecraft.entity.monster.EntityEnderman; @@ -13,55 +15,48 @@ import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; +import net.minecraft.network.play.server.S2BPacketChangeGameState; +import net.minecraft.util.*; import net.minecraft.world.World; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class EntityNutsCall extends CustomArrow implements IProjectile, IThrowableEntity -{ +import java.util.List; + +public class EntityNutsCall extends CustomArrow implements IProjectile, IThrowableEntity { + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; + public ItemStack stack; private int xTile = -1; private int yTile = -1; private int zTile = -1; - private int inTile = 0; + private Block inTile = null; private int inData = 0; private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; private int ticksInGround; private int ticksInAir = 0; private double damage = 2.0D; - - public ItemStack stack; - - /** The amount of knockback an arrow applies when it hits a mob. */ + /** + * The amount of knockback an arrow applies when it hits a mob. + */ private int knockbackStrength; - public EntityNutsCall(World par1World) - { + public EntityNutsCall(World par1World) { super(par1World); this.renderDistanceWeight = 10.0D; isImmuneToFire = true; this.setSize(1.5F, 0.5F); } - public EntityNutsCall(World par1World, double par2, double par4, double par6) - { + public EntityNutsCall(World par1World, double par2, double par4, double par6) { super(par1World); this.renderDistanceWeight = 10.0D; isImmuneToFire = true; @@ -70,124 +65,112 @@ public EntityNutsCall(World par1World, double par2, double par4, double par6) this.yOffset = 0.0F; } - public EntityNutsCall(World par1World, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) - { + public EntityNutsCall(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { super(par1World); isImmuneToFire = true; this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if (par2EntityLiving instanceof EntityPlayer) - { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } - this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + if (d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); double d4 = d0 / d3; double d5 = d2 / d3; this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); } } - public EntityNutsCall(World par1World, EntityLiving par2EntityLiving, float par3) - { + public EntityNutsCall(World par1World, EntityLivingBase par2EntityLiving, float par3) { super(par1World); isImmuneToFire = true; this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if (par2EntityLiving instanceof EntityPlayer) - { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } this.setSize(1.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); this.setPosition(this.posX, this.posY, this.posZ); this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); } - - public void setStack(ItemStack stack) - { - this.stack = stack; + + public void setStack(ItemStack stack) { + this.stack = stack; } - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); } /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; this.motionX = par1; this.motionY = par3; this.motionZ = par5; float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); this.ticksInGround = 0; } @SideOnly(Side.CLIENT) - /** * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, * posY, posZ, yaw, pitch */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { this.setPosition(par1, par3, par5); this.setRotation(par7, par8); } @SideOnly(Side.CLIENT) - /** * Sets the velocity to the args. Args: x, y, z */ - public void setVelocity(double par1, double par3, double par5) - { + public void setVelocity(double par1, double par3, double par5) { this.motionX = par1; this.motionY = par3; this.motionZ = par5; - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch; this.prevRotationYaw = this.rotationYaw; this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); @@ -198,71 +181,58 @@ public void setVelocity(double par1, double par3, double par5) /** * Called to update the entity's position/logic. */ - public void onUpdate() - { + public void onUpdate() { super.onUpdate(); - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); } - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { this.inGround = true; } } - if (this.arrowShake > 0) - { + if (this.arrowShake > 0) { --this.arrowShake; } - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if (j == this.inTile && k == this.inData) - { + if (j == this.inTile && k == this.inData) { ++this.ticksInGround; - if (this.ticksInGround == 20000) - { + if (this.ticksInGround == 20000) { this.setDead(); } - } - else - { + } else { this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); this.ticksInGround = 0; this.ticksInAir = 0; } - } - else - { + } else { ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) { + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } Entity entity = null; @@ -271,22 +241,18 @@ public void onUpdate() int l; float f1; - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); + for (l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - if (movingobjectposition1 != null) - { + if (movingobjectposition1 != null) { double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - if (d1 < d0 || d0 == 0.0D) - { + if (d1 < d0 || d0 == 0.0D) { entity = entity1; d0 = d1; } @@ -294,17 +260,14 @@ public void onUpdate() } } - if (entity != null) - { + if (entity != null) { movingobjectposition = new MovingObjectPosition(entity); } - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).func_96122_a(entityplayer)) - { + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { movingobjectposition = null; } } @@ -312,68 +275,54 @@ public void onUpdate() float f2; float f3; - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - if (this.getIsCritical()) - { + if (this.getIsCritical()) { i1 += this.rand.nextInt(i1 / 2 + 2); } DamageSource damagesource = null; - if (this.shootingEntity == null) - { + if (this.shootingEntity == null) { damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { + } else { damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); } - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { movingobjectposition.entityHit.setFire(5); } - - if(Math.random() > 0.5) - worldObj.addWeatherEffect(new EntityLightningBolt(worldObj, (double)posX, (double)posY, (double)posZ)); - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - - if (this.knockbackStrength > 0) - { + + if (Math.random() > 0.5) + worldObj.addWeatherEffect(new EntityLightningBolt(worldObj, (double) posX, (double) posY, (double) posZ)); + + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + if (this.knockbackStrength > 0) { f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); + if (f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); } } - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); } - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); } } this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - } - else - { + } else { this.motionX *= -0.10000000149011612D; this.motionY *= -0.10000000149011612D; this.motionZ *= -0.10000000149011612D; @@ -381,38 +330,33 @@ public void onUpdate() this.prevRotationYaw += 180.0F; this.ticksInAir = 0; } - } - else - { + } else { this.xTile = movingobjectposition.blockX; this.yTile = movingobjectposition.blockY; this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); this.inGround = true; this.arrowShake = 7; this.setIsCritical(false); - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); } } } - if (this.getIsCritical()) - { - for (l = 0; l < 4; ++l) - { - this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + if (this.getIsCritical()) { + for (l = 0; l < 4; ++l) { + this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } @@ -420,25 +364,21 @@ public void onUpdate() this.posY += this.motionY; this.posZ += this.motionZ; f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { ; } - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { this.prevRotationPitch += 360.0F; } - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { this.prevRotationYaw -= 360.0F; } - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { this.prevRotationYaw += 360.0F; } @@ -447,74 +387,66 @@ public void onUpdate() float f4 = 0.99F; f1 = 0.05F; - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); } f4 = 0.45F; } - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)f1; + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) f1; this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); + this.func_145775_I(); } } /** * (abstract) Protected helper method to write subclass entity data to NBT. */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); par1NBTTagCompound.setDouble("damage", this.damage); - + NBTTagCompound stackTag = new NBTTagCompound(); stack.writeToNBT(stackTag); - - par1NBTTagCompound.setCompoundTag("itemstack", stackTag); + + par1NBTTagCompound.setTag("itemstack", stackTag); } /** * (abstract) Protected helper method to read subclass entity data from NBT. */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if (par1NBTTagCompound.hasKey("damage")) - { + if (par1NBTTagCompound.hasKey("damage")) { this.damage = par1NBTTagCompound.getDouble("damage"); } - if (par1NBTTagCompound.hasKey("pickup")) - { + if (par1NBTTagCompound.hasKey("pickup")) { this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { + } else if (par1NBTTagCompound.hasKey("player")) { this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; } - + NBTTagCompound stackTag = par1NBTTagCompound.getCompoundTag("itemstack"); stack = ItemStack.loadItemStackFromNBT(stackTag); } @@ -522,19 +454,15 @@ else if (par1NBTTagCompound.hasKey("player")) /** * Called by a player entity when they collide with an entity */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(stack)) - { + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(stack)) { flag = false; } - if (flag) - { + if (flag) { this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); par1EntityPlayer.onItemPickup(this, 1); this.setDead(); @@ -543,81 +471,70 @@ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) } /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops */ - protected boolean canTriggerWalking() - { + protected boolean canTriggerWalking() { return false; } @SideOnly(Side.CLIENT) - public float getShadowSize() - { + public float getShadowSize() { return 0.0F; } - public void setDamage(double par1) - { - this.damage = par1; + public double getDamage() { + return this.damage; } - public double getDamage() - { - return this.damage; + public void setDamage(double par1) { + this.damage = par1; } /** * Sets the amount of knockback the arrow applies when it hits a mob. */ - public void setKnockbackStrength(int par1) - { + public void setKnockbackStrength(int par1) { this.knockbackStrength = par1; } /** * If returns false, the item will not inflict any damage against entities. */ - public boolean canAttackWithItem() - { + public boolean canAttackWithItem() { return false; } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ - public void setIsCritical(boolean par1) - { + public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } + return (b0 & 1) != 0; } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ - public boolean getIsCritical() - { + public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } } - @Override - public Entity getThrower() - { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; - } + @Override + public Entity getThrower() { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) { + shootingEntity = entity; + } } diff --git a/src/main/java/com/teammetallurgy/atum/gui/AtumConfigGui.java b/src/main/java/com/teammetallurgy/atum/gui/AtumConfigGui.java new file mode 100644 index 0000000..804809a --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/gui/AtumConfigGui.java @@ -0,0 +1,33 @@ +package com.teammetallurgy.atum.gui; + +import com.teammetallurgy.atum.handler.AtumConfig; +import com.teammetallurgy.atum.utils.Constants; +import cpw.mods.fml.client.config.GuiConfig; +import cpw.mods.fml.client.config.IConfigElement; +import net.minecraft.client.gui.GuiScreen; +import net.minecraftforge.common.config.ConfigElement; +import net.minecraftforge.common.config.Configuration; + +import java.util.ArrayList; +import java.util.List; + +import static net.minecraftforge.common.config.Configuration.CATEGORY_GENERAL; + +public class AtumConfigGui extends GuiConfig { + + static Configuration cfg = AtumConfig.config; + static AtumConfig cfgh; + + public AtumConfigGui(GuiScreen parent) { + super(parent, generateConfigList(), Constants.MODID, false, false, GuiConfig.getAbridgedConfigPath(AtumConfig.config.toString())); + } + + public static List generateConfigList() { + + ArrayList elements = new ArrayList(); + + elements.add(new ConfigElement(cfg.getCategory(CATEGORY_GENERAL))); + System.out.println(cfgh.general); + return elements; + } +} diff --git a/src/main/java/com/teammetallurgy/atum/gui/AtumGuiFactory.java b/src/main/java/com/teammetallurgy/atum/gui/AtumGuiFactory.java new file mode 100644 index 0000000..62c9d3e --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/gui/AtumGuiFactory.java @@ -0,0 +1,29 @@ +package com.teammetallurgy.atum.gui; + +import cpw.mods.fml.client.IModGuiFactory; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiScreen; + +import java.util.Set; + +public class AtumGuiFactory implements IModGuiFactory { + @Override + public void initialize(Minecraft minecraftInstance) { + + } + + @Override + public Class mainConfigGuiClass() { + return AtumConfigGui.class; + } + + @Override + public Set runtimeGuiCategories() { + return null; + } + + @Override + public RuntimeOptionGuiHandler getHandlerFor(RuntimeOptionCategoryElement element) { + return null; + } +} diff --git a/src/main/java/com/teammetallurgy/atum/gui/AtumGuiHandler.java b/src/main/java/com/teammetallurgy/atum/gui/AtumGuiHandler.java new file mode 100644 index 0000000..d6b4dd3 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/gui/AtumGuiHandler.java @@ -0,0 +1,36 @@ +package com.teammetallurgy.atum.gui; + +import com.teammetallurgy.atum.blocks.tileentity.furnace.ContainerLimestoneFurnace; +import com.teammetallurgy.atum.blocks.tileentity.furnace.GuiLimestoneFurnace; +import com.teammetallurgy.atum.blocks.tileentity.furnace.TileEntityLimestoneFurnace; +import cpw.mods.fml.common.network.IGuiHandler; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public class AtumGuiHandler implements IGuiHandler { + + @Override + public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { + TileEntityLimestoneFurnace te = (TileEntityLimestoneFurnace) world.getTileEntity(x, y, z); + + if (te != null) { + if (te instanceof TileEntityLimestoneFurnace) { + return new ContainerLimestoneFurnace(player.inventory, te); + } + } + return null; + } + + @Override + public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { + TileEntityLimestoneFurnace te = (TileEntityLimestoneFurnace) world.getTileEntity(x, y, z); + + if (te != null) { + if (te instanceof TileEntityLimestoneFurnace) { + return new GuiLimestoneFurnace(player.inventory, te); + } + } + return null; + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/handler/AtumConfig.java b/src/main/java/com/teammetallurgy/atum/handler/AtumConfig.java new file mode 100644 index 0000000..db878b2 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/handler/AtumConfig.java @@ -0,0 +1,83 @@ +package com.teammetallurgy.atum.handler; + +import com.teammetallurgy.atum.utils.Constants; +import cpw.mods.fml.client.event.ConfigChangedEvent; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.common.config.Configuration; +import net.minecraftforge.common.config.Property; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import static net.minecraftforge.common.config.Configuration.CATEGORY_GENERAL; + +public class AtumConfig { + + public static Configuration config; + + public static String general = "general settings"; + public static boolean ALLOW_CREATION; + public static boolean FOG_ENABLED; + public static boolean OASIS_ENABLED; + + public static int DIMENSION_ID; + public static int BIOME_DESERT_ID; + + public AtumConfig(File file) { + this.config = new Configuration(file); + + FMLCommonHandler.instance().bus().register(this); + syncConfigData(); + } + + @SubscribeEvent + public void onConfigChange(ConfigChangedEvent.OnConfigChangedEvent event) { + + if (event.modID.equals(Constants.MODID)) + syncConfigData(); + } + + private void syncConfigData() { + List propOrder = new ArrayList(); + Property prop; + + prop = config.get(CATEGORY_GENERAL, "Atum Portal", true); + prop.comment = "Can a non-creative user create a portal using the scarab?"; + prop.setLanguageKey("atum.configGui.portalCreation"); + ALLOW_CREATION = prop.getBoolean(true); + propOrder.add(prop.getName()); + + prop = config.get(CATEGORY_GENERAL, "Atum Fog", true); + prop.comment = "Should clientside fog be rendered?"; + prop.setLanguageKey("atum.configGui.fog"); + FOG_ENABLED = prop.getBoolean(true); + propOrder.add(prop.getName()); + + prop = config.get(CATEGORY_GENERAL, "Atum Oasis", true); + prop.comment = "Should oases be generated?"; + prop.setLanguageKey("atum.configGui.oasis"); + OASIS_ENABLED = prop.getBoolean(true); + propOrder.add(prop.getName()); + + prop = config.get(CATEGORY_GENERAL, "Atum Dimension ID", 17); + prop.comment = "The ID of the Atum Dimension"; + prop.setLanguageKey("atum.configGui.dimensionID").setRequiresMcRestart(true); + DIMENSION_ID = prop.getInt(); + propOrder.add(prop.getName()); + + prop = config.get(CATEGORY_GENERAL, "Atum Desert Biome ID", 200); + prop.comment = "The ID of the Atum Dimension biome Desert"; + prop.setLanguageKey("atum.configGui.biomeID").setRequiresMcRestart(true); + BIOME_DESERT_ID = prop.getInt(); + propOrder.add(prop.getName()); + + config.setCategoryPropertyOrder(CATEGORY_GENERAL, propOrder); + + if (config.hasChanged()) { + config.save(); + } + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/handler/AtumCreativeTab.java b/src/main/java/com/teammetallurgy/atum/handler/AtumCreativeTab.java new file mode 100644 index 0000000..ba995d2 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/handler/AtumCreativeTab.java @@ -0,0 +1,17 @@ +package com.teammetallurgy.atum.handler; + +import com.teammetallurgy.atum.items.AtumItems; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; + +public class AtumCreativeTab extends CreativeTabs { + + public AtumCreativeTab() { + super("atum"); + } + + @Override + public Item getTabIconItem() { + return AtumItems.ITEM_SCARAB; + } +} diff --git a/src/main/java/com/teammetallurgy/atum/handler/CraftingHandler.java b/src/main/java/com/teammetallurgy/atum/handler/CraftingHandler.java new file mode 100644 index 0000000..8952515 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/handler/CraftingHandler.java @@ -0,0 +1,100 @@ +package com.teammetallurgy.atum.handler; + +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.utils.Constants; + +import cpw.mods.fml.common.registry.GameRegistry; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraftforge.oredict.ShapedOreRecipe; +import net.minecraftforge.oredict.ShapelessOreRecipe; + +public class CraftingHandler { + public void register() { + addRecipes(); + addSmeltingRecipes(); + addShapelessRecipes(); + } + + private void addRecipes() { + GameRegistry.addShapelessRecipe(new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 1, 2), new ItemStack(AtumBlocks.BLOCK_LARGEBRICK)); + GameRegistry.addShapelessRecipe(new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 1, 2), new ItemStack(AtumBlocks.BLOCK_LARGEBRICK,1,1)); + GameRegistry.addShapelessRecipe(new ItemStack(AtumBlocks.BLOCK_LARGESTONESTAIRSBREAKABLE), new ItemStack(AtumBlocks.BLOCK_LARGESTONESTAIRS)); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 4, 2), "XX", "XX", 'X', AtumBlocks.BLOCK_STONE)); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.BLOCK_SMALLBRICK, 4), "XX", "XX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE)); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(AtumBlocks.BLOCK_CARVEDBRICK, 1), AtumBlocks.BLOCK_STONE)); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SMOOTHSTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_STONE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_COBBLESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_LARGESTONESTAIRSBREAKABLE, 6), "X ", "XX ", "XXX", 'X', new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 1, 2)); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SMALLSTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 0), "XXX", 'X', AtumBlocks.BLOCK_STONE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 1), "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 2), "XXX", 'X', new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 1, 2)); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 3), "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 0), "XXX", "XXX", 'X', AtumBlocks.BLOCK_STONE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 1), "XXX", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 2), "XXX", "XXX", 'X', new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 1, 2)); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 3), "XXX", "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_FRAMEDGLASS), " X ", "XSX", " X ", 'X', Items.stick, 'S', AtumBlocks.BLOCK_CRYSTALGLASS); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_CRACKEDLARGEBRICK, 4), "XX", "XX", 'X', AtumItems.ITEM_STONECHUNK); + GameRegistry.addRecipe(new ItemStack(Items.experience_bottle), " X ", "XBX", " X ", 'X', AtumItems.ITEM_ECTOPLASM, 'B', Items.potionitem); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneSword), "L", "L", "S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneShovel), "L", "S", "S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestonePickaxe), "LLL", " S ", " S ", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneAxe), "LL", "LS", " S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneHoe), "LL", " S", " S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyHelmet), "XXX", "X X", 'X', AtumItems.ITEM_SCRAP); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyChest), "X X", "XXX", "XXX", 'X', AtumItems.ITEM_SCRAP); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyLegs), "XXX", "X X", "X X", 'X', AtumItems.ITEM_SCRAP); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyBoots), "X X", "X X", 'X', AtumItems.ITEM_SCRAP); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererHelmet), "XXX", "X X", 'X', AtumItems.ITEM_LINEN); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererChest), "X X", "XXX", "XXX", 'X', AtumItems.ITEM_LINEN); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererLegs), "XXX", "X X", "X X", 'X', AtumItems.ITEM_LINEN); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererBoots), "X X", "X X", 'X', AtumItems.ITEM_LINEN); + GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_LINEN), "XXX", 'X', AtumItems.ITEM_FLAX); + GameRegistry.addRecipe(new ItemStack(Items.glass_bottle, 3), "X X", " X ", 'X', AtumBlocks.BLOCK_CRYSTALGLASS); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_THINCRYSTALGLASS, 16), "XXX", "XXX", 'X', AtumBlocks.BLOCK_CRYSTALGLASS); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_THINFRAMEDGLASS, 16), "XXX", "XXX", 'X', AtumBlocks.BLOCK_FRAMEDGLASS); + GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_SCROLL), "XXX", "SXS", "XXX", 'X', AtumItems.papyrusPlant, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_SCARAB), " G ", "GDG", " G ", 'G', Items.gold_ingot, 'D', Items.diamond); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_FURNACEIDLE), "XXX", "X X", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); + + String [] oreColours = Constants.ORE_DIC_COLOURS; + + for (int i = 0; i < oreColours.length; i++) { + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack (AtumBlocks.BLOCK_CRYSTALSTAINEDGLASS, 8, i), "GGG", "GDG", "GGG", 'G', AtumBlocks.BLOCK_CRYSTALGLASS, 'D', "dye" + oreColours[i])); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_THINCRYSTALSTAINEDGLASS, 16, i), "GGG", "GGG", 'G', new ItemStack (AtumBlocks.BLOCK_CRYSTALSTAINEDGLASS, 1, i)); + + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack (AtumBlocks.BLOCK_FRAMEDSTAINEDGLASS, 8, i), "GGG", "GDG", "GGG", 'G', AtumBlocks.BLOCK_FRAMEDGLASS, 'D', "dye" + oreColours[i])); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_THINFRAMEDSTAINEDGLASS, 16, i), "GGG", "GGG", 'G', new ItemStack (AtumBlocks.BLOCK_FRAMEDSTAINEDGLASS, 1, i)); + + GameRegistry.addRecipe(new ItemStack (AtumBlocks.BLOCK_FRAMEDSTAINEDGLASS, 1, i), " S ", "SGS", " S ", 'S', Items.stick, 'G', new ItemStack (AtumBlocks.BLOCK_CRYSTALSTAINEDGLASS, 1, i)); + } + } + + private void addSmeltingRecipes() { + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_IRONORE, new ItemStack(Items.iron_ingot), 0.7F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_COALORE, new ItemStack(Items.coal), 0.1F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_REDSTONEORE, new ItemStack(Items.redstone), 0.7F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_LAPISORE, new ItemStack(Items.dye, 1, 4), 0.2F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_GOLDORE, new ItemStack(Items.gold_ingot), 1.0F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_DIAMONDORE, new ItemStack(Items.diamond), 1.0F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_LOG, new ItemStack(Items.coal, 1, 1), 0.15F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_LIMESTONECOBBLE, new ItemStack(AtumBlocks.BLOCK_STONE), 0.1F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_SAND, new ItemStack(AtumBlocks.BLOCK_CRYSTALGLASS), 0.1F); + } + + private void addShapelessRecipes() { + GameRegistry.addShapelessRecipe(new ItemStack(AtumBlocks.BLOCK_PLANKS, 4), AtumBlocks.BLOCK_LOG); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertHelmet), AtumItems.wandererHelmet, Items.iron_helmet); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertChest), AtumItems.wandererChest, Items.iron_chestplate); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertLegs), AtumItems.wandererLegs, Items.iron_leggings); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertBoots), AtumItems.wandererBoots, Items.iron_boots); + GameRegistry.addShapelessRecipe(new ItemStack(Blocks.sand), AtumBlocks.BLOCK_SAND); + GameRegistry.addShapelessRecipe(new ItemStack(Items.string, 3), AtumItems.ITEM_FLAX); + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/handler/event/AtumEventListener.java b/src/main/java/com/teammetallurgy/atum/handler/event/AtumEventListener.java new file mode 100644 index 0000000..27c1987 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/handler/event/AtumEventListener.java @@ -0,0 +1,92 @@ +package com.teammetallurgy.atum.handler.event; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.stats.AchievementList; +import net.minecraftforge.event.entity.living.LivingFallEvent; +import net.minecraftforge.event.entity.living.LivingHurtEvent; +import net.minecraftforge.event.entity.player.BonemealEvent; +import net.minecraftforge.event.entity.player.EntityItemPickupEvent; +import net.minecraftforge.event.entity.player.UseHoeEvent; + +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.BlockPalmSapling; +import com.teammetallurgy.atum.entity.EntityDustySkeleton; +import com.teammetallurgy.atum.entity.EntityGhost; +import com.teammetallurgy.atum.entity.EntityMummy; +import com.teammetallurgy.atum.entity.EntityPharaoh; +import com.teammetallurgy.atum.entity.EntityStoneSoldier; +import com.teammetallurgy.atum.items.AtumItems; + +import cpw.mods.fml.common.eventhandler.Event.Result; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; + +public class AtumEventListener { + + @SubscribeEvent + public void onFallDamage(LivingFallEvent event) { + if (event.entity instanceof EntityGhost || event.entity instanceof EntityPharaoh) { + event.distance = 0.0F; + } + + } + + @SubscribeEvent + public void onLivingHurt(LivingHurtEvent event) { + if (event.source.getDamageType().equals("drown") && (event.entity instanceof EntityPharaoh || event.entity instanceof EntityGhost || event.entity instanceof EntityMummy || event.entity instanceof EntityDustySkeleton || event.entity instanceof EntityStoneSoldier)) { + event.setCanceled(true); + } + + } + + @SubscribeEvent + public boolean onBonemeal(BonemealEvent event) { + if (!event.world.isRemote) { + + Block block = event.world.getBlock(event.x, event.y, event.z); + if (block == AtumBlocks.BLOCK_PALMSAPLING) { + ((BlockPalmSapling) AtumBlocks.BLOCK_PALMSAPLING).growTree(event.world, event.x, event.y, event.z, new Random()); + event.setResult(Result.ALLOW); + } + + return false; + } + return true; + } + + @SubscribeEvent + public boolean onHoeEvent(UseHoeEvent event) { + Block block = event.world.getBlock(event.x, event.y, event.z); + if (block == AtumBlocks.BLOCK_FERTILESOIL) { + byte block2 = 0; + if (event.current.getItem() == AtumItems.gebsBlessing) { + block2 = 4; + } + + event.world.setBlock(event.x, event.y, event.z, AtumBlocks.BLOCK_FERTILESOILTILLED); + event.world.setBlockMetadataWithNotify(event.x, event.y, event.z, block2, 2); + event.setResult(Result.ALLOW); + event.world.playSoundEffect((double) event.x, (double) event.y, (double) event.z, block.stepSound.getStepResourcePath(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); + return true; + } else if ((block == Blocks.dirt || block == Blocks.grass) && event.current.getItem() == AtumItems.gebsBlessing) { + event.world.setBlock(event.x, event.y, event.z, AtumBlocks.BLOCK_FERTILESOILTILLED); + event.world.setBlockMetadataWithNotify(event.x, event.y, event.z, 12, 2); + event.setResult(Result.ALLOW); + event.world.playSoundEffect((double) event.x, (double) event.y, (double) event.z, block.stepSound.getStepResourcePath(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); + return true; + } + + return false; + + } + + @SubscribeEvent + public void onPickup(EntityItemPickupEvent pickupEvent) { + if (pickupEvent.item.getEntityItem().isItemEqual(new ItemStack(AtumBlocks.BLOCK_LOG))) { + pickupEvent.entityPlayer.triggerAchievement(AchievementList.mineWood); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/handler/event/AtumFogEventListener.java b/src/main/java/com/teammetallurgy/atum/handler/event/AtumFogEventListener.java new file mode 100644 index 0000000..b1b4808 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/handler/event/AtumFogEventListener.java @@ -0,0 +1,20 @@ +package com.teammetallurgy.atum.handler.event; + +import com.teammetallurgy.atum.handler.AtumConfig; +import net.minecraftforge.client.event.EntityViewRenderEvent; + +import org.lwjgl.opengl.GL11; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; + +public class AtumFogEventListener { + + @SubscribeEvent + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) { + if (event.entity.dimension == AtumConfig.DIMENSION_ID && AtumConfig.FOG_ENABLED) { + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.08F); + } + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/handler/event/ClientEvents.java b/src/main/java/com/teammetallurgy/atum/handler/event/ClientEvents.java new file mode 100644 index 0000000..ca4dbeb --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/handler/event/ClientEvents.java @@ -0,0 +1,63 @@ +package com.teammetallurgy.atum.handler.event; + +import com.teammetallurgy.atum.handler.AtumConfig; +import com.teammetallurgy.atum.items.AtumItems; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.TickEvent; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.ResourceLocation; + +import java.util.Random; + +public class ClientEvents { + private boolean raining; + + @SubscribeEvent + public void onRender(TickEvent.RenderTickEvent event) { + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + + if (player != null && player.getCurrentArmor(3) != null) { + if (player.getCurrentArmor(3).getItem() == AtumItems.mummyHelmet) { + ScaledResolution scaledresolution = new ScaledResolution(Minecraft.getMinecraft(), Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight); + int par1 = scaledresolution.getScaledWidth(); + int par2 = scaledresolution.getScaledHeight(); + + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("atum", "textures/hud/mummyblur.png")); + Tessellator tessellator = Tessellator.instance; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(0.0D, par2, -100, 0.0D, 1.0D); + tessellator.addVertexWithUV(par1, par2, -100, 1.0D, 1.0D); + tessellator.addVertexWithUV(par1, 0.0D, -100, 1.0D, 0.0D); + tessellator.addVertexWithUV(0.0D, 0.0D, -100, 0.0D, 0.0D); + tessellator.draw(); + } + } + } + + @SubscribeEvent + public void onUpdate(TickEvent.PlayerTickEvent event) { + EntityPlayer player = event.player; + + if (player.dimension == AtumConfig.DIMENSION_ID) { + if (player.worldObj.isRaining()) { + raining = true; + + Random random = new Random(); + int particlesPerTick = (3 - Minecraft.getMinecraft().gameSettings.particleSetting) * 6; + for (int i = 0; i < particlesPerTick; i++) { + float x = random.nextInt(4) - 2; + float z = random.nextInt(4) - 2; + float y = (random.nextFloat() - 0.7F) * 2F; + + float vx = 0.1F + random.nextFloat() * 0.1F; + float vz = 0.1F + random.nextFloat() * 0.1F; + + player.worldObj.spawnParticle("sand", player.posX + x, player.posY + y, player.posZ + z, vx + player.motionX, 0.0D, vz + player.motionZ); + } + } + } + } +} diff --git a/src/main/java/com/teammetallurgy/atum/handler/event/ServerEvents.java b/src/main/java/com/teammetallurgy/atum/handler/event/ServerEvents.java new file mode 100644 index 0000000..4ecd36e --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/handler/event/ServerEvents.java @@ -0,0 +1,19 @@ +package com.teammetallurgy.atum.handler.event; + +import com.teammetallurgy.atum.items.AtumItems; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.TickEvent; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; + +public class ServerEvents { + + private boolean raining; + + @SubscribeEvent + public void onServerTick(TickEvent.PlayerTickEvent event) { + + } + +} \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/integration/NEIAtumConfig.java b/src/main/java/com/teammetallurgy/atum/integration/NEIAtumConfig.java new file mode 100644 index 0000000..0f9b4ba --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/integration/NEIAtumConfig.java @@ -0,0 +1,33 @@ +package com.teammetallurgy.atum.integration; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; + +import com.teammetallurgy.atum.blocks.AtumBlocks; + +import codechicken.nei.api.API; +import codechicken.nei.api.IConfigureNEI; + +public class NEIAtumConfig implements IConfigureNEI{ + + @Override + public void loadConfig() { + + // Hide not need items from NEI + API.hideItem(new ItemStack(AtumBlocks.BLOCK_DATEBLOCK, 1, OreDictionary.WILDCARD_VALUE)); + API.hideItem(new ItemStack(AtumBlocks.BLOCK_FLAX, 1, OreDictionary.WILDCARD_VALUE)); + API.hideItem(new ItemStack(AtumBlocks.BLOCK_PAPYRUS, 1, OreDictionary.WILDCARD_VALUE)); + API.hideItem(new ItemStack(AtumBlocks.BLOCK_PORTAL, 1, OreDictionary.WILDCARD_VALUE)); + } + + @Override + public String getName() { + return "Atum NEI Integration"; + } + + @Override + public String getVersion() { + return "1.0"; + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/items/AtumFish.java b/src/main/java/com/teammetallurgy/atum/items/AtumFish.java new file mode 100644 index 0000000..d9eb597 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/AtumFish.java @@ -0,0 +1,26 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +public class AtumFish { + private static AtumWeightedLootSet fish; + + static { + fish = new AtumWeightedLootSet(); + + AtumFish.addFish(new ItemStack(Items.fish, 1, 0), 100); + AtumFish.addFish(new ItemStack(AtumItems.ITEM_FISH, 1, 0), 30); + AtumFish.addFish(new ItemStack(AtumItems.ITEM_FISH, 1, 1), 5); + AtumFish.addFish(new ItemStack(AtumItems.ITEM_FISH, 1, 2), 50); + AtumFish.addFish(new ItemStack(AtumItems.ITEM_FISH, 1, 3), 50); + } + + public static void addFish(ItemStack fishStack, int probability) { + fish.addLoot(fishStack, probability, 1, 1); + } + + public static ItemStack getRandomFish() { + return fish.getRandomLoot(); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/AtumItems.java b/src/main/java/com/teammetallurgy/atum/items/AtumItems.java new file mode 100644 index 0000000..429cf46 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/AtumItems.java @@ -0,0 +1,165 @@ +package com.teammetallurgy.atum.items; + +import com.teammetallurgy.atum.Atum; +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.items.artifacts.*; +import cpw.mods.fml.common.registry.GameRegistry; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.Item.ToolMaterial; +import net.minecraft.item.ItemArmor.ArmorMaterial; +import net.minecraft.item.ItemFood; +import net.minecraft.item.ItemSeeds; +import net.minecraftforge.common.util.EnumHelper; + +public class AtumItems { + + private static ArmorMaterial mummyEnum = EnumHelper.addArmorMaterial("Mummy", 5, new int[]{1, 3, 2, 1}, 15); + private static ArmorMaterial wandererEnum = EnumHelper.addArmorMaterial("Wanderer", 10, new int[]{2, 3, 3, 2}, 15); + private static ArmorMaterial desertEnum = EnumHelper.addArmorMaterial("Desert", 20, new int[]{3, 6, 5, 3}, 15); + + public static Item ITEM_SCRAP = new Item().setUnlocalizedName("clothScrap").setTextureName("atum:ClothScrap"); + public static Item ITEM_LINEN = new Item().setUnlocalizedName("linen").setTextureName("atum:Linen"); + public static Item ITEM_SCARAB = new ItemScarab().setUnlocalizedName("scarab"); + public static Item ITEM_LOOT = new ItemLoot().setUnlocalizedName("loot"); + public static Item ITEM_DATE = new ItemFood(5, 1.5F, false).setTextureName("atum:Date").setUnlocalizedName("date"); + public static Item ITEM_SCIMITAR = new ItemScimitar(ToolMaterial.IRON).setUnlocalizedName("scimitar"); + public static Item ITEM_GREATSWORD = new ItemGreatsword(ToolMaterial.IRON).setUnlocalizedName("greatsword").setTextureName("atum:Greatsword"); + public static Item ITEM_BOW = new ItemAtumBow().setUnlocalizedName("bow"); + public static Item ITEM_STONESOLDIER_SWORD = new ItemStoneSoldierSword(ToolMaterial.IRON).setUnlocalizedName("stoneSoldierSword"); + public static Item ITEM_SCEPTER = new ItemScepter(ToolMaterial.GOLD).setUnlocalizedName("scepter"); + public static Item ITEM_PTAHSPICK = new ItemPtahsDecadence(ToolMaterial.EMERALD).setUnlocalizedName("ptahsDecadence"); + public static Item sobeksRage = new ItemSobeksRage(ToolMaterial.EMERALD).setUnlocalizedName("soteksRage"); + public static Item osirisWill = new ItemOsirisWill(ToolMaterial.EMERALD).setUnlocalizedName("osirisWill"); + public static Item akersToil = new ItemAkersToil(ToolMaterial.EMERALD).setUnlocalizedName("akersToil"); + public static Item gebsBlessing = new ItemGebsBlessing(ToolMaterial.EMERALD).setUnlocalizedName("gebsBlessing"); + public static Item atensFury = new ItemAtensFury().setUnlocalizedName("atensFury"); + public static Item rasGlory = new ItemRasGlory(ArmorMaterial.DIAMOND, 0, 0).setTextureFile("EgyptianArmor_1").setUnlocalizedName("rasGlory"); + public static Item sekhmetsWrath = new ItemSekhmetsWrath(1, 1).setTextureFile("EgyptianArmor_1").setUnlocalizedName("sekhmetsWrath"); + public static Item nutsAgility = new ItemNutsAgility(ArmorMaterial.DIAMOND, 2, 2).setTextureFile("EgyptianArmor_2").setUnlocalizedName("nutsAgility"); + public static Item horusFlight = new ItemHorusFlight(ArmorMaterial.DIAMOND, 3, 3).setTextureFile("EgyptianArmor_1").setUnlocalizedName("horusFlight"); + public static Item monthusStrike = new ItemMonthusStrike(ToolMaterial.EMERALD).setUnlocalizedName("monthusStrike"); + public static Item anhursMight = new ItemAnhursMight(ToolMaterial.EMERALD).setUnlocalizedName("anhursMight"); + public static Item hedetetsSting = new ItemHedetetsSting(ToolMaterial.EMERALD).setUnlocalizedName("hedetetsSting"); + public static Item horusSoaring = new ItemHorusSoaring().setUnlocalizedName("horusSoaring"); + public static Item shusBreath = new ItemShusBreath().setUnlocalizedName("shusBreath"); + public static Item ptahsDestruction = new ItemPtahsDestruction(ToolMaterial.EMERALD).setUnlocalizedName("ptahsDestruction"); + public static Item monthusBlast = new ItemMonthusBlast().setUnlocalizedName("monthusBlast"); + public static Item nusFlux = new ItemNusFlux(ToolMaterial.EMERALD).setUnlocalizedName("nusFlux"); + public static Item mnevisHorns = new ItemMnevisHorns(ArmorMaterial.DIAMOND, 0, 0).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("mnevisHorns"); + public static Item isisEmbrace = new ItemIsisEmbrace(ArmorMaterial.DIAMOND, 1, 1).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("isisEmbrace"); + public static Item maatsBalance = new ItemMaatsBalance(ArmorMaterial.DIAMOND, 2, 2).setTextureFile("RubyArtifactArmor_2").setUnlocalizedName("maatsBalance"); + public static Item hedetetsVenom = new ItemHedetetsVenom().setUnlocalizedName("hedetetsVenom"); + public static Item gebsSolidarity = new ItemGebsSolidarity(ArmorMaterial.DIAMOND, 3, 3).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("gebsSolidarity"); + public static Item nutsCall = new ItemNutsCall().setUnlocalizedName("nutsCall"); + public static Item anuketsBounty = new ItemAnuketsBounty().setUnlocalizedName("anuketsBounty"); + public static Item mafdetsQuickness = new ItemMafdetsQuickness().setUnlocalizedName("mafdetsQuickness"); + public static Item isisHealing = new ItemIsisHealing().setUnlocalizedName("isisHealing"); + public static Item amunetsHomecoming = new ItemAmunetsHomecoming().setUnlocalizedName("amunetsHomecoming"); + public static Item anubisMercy = new ItemAnubisMercy().setUnlocalizedName("anubisMercy"); + public static Item limestoneShovel = new LimestoneShovel(ToolMaterial.STONE).setUnlocalizedName("limestoneShovel"); + public static Item limestonePickaxe = new LimestonePickaxe(ToolMaterial.STONE).setUnlocalizedName("limestonePickaxe"); + public static Item limestoneAxe = new LimestoneAxe(ToolMaterial.STONE).setUnlocalizedName("limestoneAxe"); + public static Item limestoneSword = new LimestoneSword(ToolMaterial.STONE).setUnlocalizedName("limestoneSword"); + public static Item limestoneHoe = new LimestoneHoe(ToolMaterial.STONE).setUnlocalizedName("limestoneHoe"); + public static Item mummyHelmet = new ItemTexturedArmor(mummyEnum, 0, 0).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyHelmet").setTextureName("atum:MummyHelmet"); + public static Item mummyChest = new ItemTexturedArmor(mummyEnum, 0, 1).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyChest").setTextureName("atum:MummyChest"); + public static Item mummyLegs = new ItemTexturedArmor(mummyEnum, 0, 2).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_2").setUnlocalizedName("mummyLegs").setTextureName("atum:MummyLegs"); + public static Item mummyBoots = new ItemTexturedArmor(mummyEnum, 0, 3).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyBoots").setTextureName("atum:MummyBoots"); + public static Item wandererHelmet = new ItemTexturedArmor(wandererEnum, 0, 0).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererHelmet").setTextureName("atum:WandererHelmet"); + public static Item wandererChest = new ItemTexturedArmor(wandererEnum, 0, 1).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererChest").setTextureName("atum:WandererChest"); + public static Item wandererLegs = new ItemTexturedArmor(wandererEnum, 0, 2).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_2").setUnlocalizedName("wandererLegs").setTextureName("atum:WandererLegs"); + public static Item wandererBoots = new ItemTexturedArmor(wandererEnum, 0, 3).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererBoots").setTextureName("atum:WandererBoots"); + public static Item desertHelmet = new ItemTexturedArmor(desertEnum, 0, 0).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertHelmet").setTextureName("atum:DesertHelmet"); + public static Item desertChest = new ItemTexturedArmor(desertEnum, 0, 1).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertChest").setTextureName("atum:DesertChest"); + public static Item desertLegs = new ItemTexturedArmor(desertEnum, 0, 2).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_2").setUnlocalizedName("desertLegs").setTextureName("atum:DesertLegs"); + public static Item desertBoots = new ItemTexturedArmor(desertEnum, 0, 3).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertBoots").setTextureName("atum:DesertBoots"); + public static Item papyrusPlant = new ItemPapyrusPlant(AtumBlocks.BLOCK_PAPYRUS).setUnlocalizedName("papyrusPlant"); + public static Item ITEM_ECTOPLASM = new Item().setUnlocalizedName("ectoplasm").setTextureName("atum:Ectoplasm"); + public static Item ITEM_STONECHUNK = new Item().setUnlocalizedName("stoneChunk").setTextureName("atum:StoneChunk"); + public static Item ITEM_SCROLL = new Item().setUnlocalizedName("scroll").setTextureName("atum:Scroll"); + public static Item ITEM_PELT = new Item().setUnlocalizedName("wolfPelt").setTextureName("atum:WolfPelt"); + public static Item ITEM_FLAX = new Item().setUnlocalizedName("flax").setTextureName("atum:FlaxItem"); + public static Item ITEM_FLAXSEED = new ItemSeeds(AtumBlocks.BLOCK_FLAX, Blocks.farmland).setUnlocalizedName("flaxSeeds").setTextureName("atum:FlaxSeeds"); + public static Item ITEM_FISH = new ItemFish().setUnlocalizedName("fish"); + public static Item neithsAudacity = new ItemNeithsAudacity().setUnlocalizedName("neithsAudacity"); + + public AtumItems() { + registerItems(); + } + + public void registerItems() { + this.register(ITEM_SCARAB); + this.register(ITEM_LOOT); + this.register(ITEM_DATE); + this.register(ITEM_SCIMITAR); + this.register(ITEM_GREATSWORD); + this.register(ITEM_SCEPTER); + this.register(ITEM_STONESOLDIER_SWORD); + this.register(ITEM_BOW); + this.register(ITEM_PTAHSPICK); + this.register(sobeksRage); + this.register(osirisWill); + this.register(akersToil); + this.register(gebsBlessing); + this.register(atensFury); + this.register(rasGlory); + this.register(sekhmetsWrath); + this.register(nutsAgility); + this.register(horusFlight); + this.register(monthusStrike); + this.register(anhursMight); + this.register(hedetetsSting); + this.register(horusSoaring); + this.register(shusBreath); + this.register(ptahsDestruction); + this.register(monthusBlast); + this.register(nusFlux); + this.register(mnevisHorns); + this.register(isisEmbrace); + this.register(maatsBalance); + this.register(hedetetsVenom); + this.register(gebsSolidarity); + this.register(nutsCall); + this.register(anuketsBounty); + this.register(mafdetsQuickness); + this.register(isisHealing); + this.register(amunetsHomecoming); + this.register(anubisMercy); + this.register(limestoneShovel); + this.register(limestonePickaxe); + this.register(limestoneAxe); + this.register(limestoneSword); + this.register(limestoneHoe); + this.register(mummyHelmet); + this.register(mummyChest); + this.register(mummyLegs); + this.register(mummyBoots); + this.register(wandererHelmet); + this.register(wandererChest); + this.register(wandererLegs); + this.register(wandererBoots); + this.register(desertHelmet); + this.register(desertChest); + this.register(desertLegs); + this.register(desertBoots); + this.register(papyrusPlant); + this.register(ITEM_ECTOPLASM); + this.register(ITEM_STONECHUNK); + this.register(ITEM_SCRAP); + this.register(ITEM_SCROLL); + this.register(ITEM_PELT); + this.register(ITEM_LINEN); + this.register(ITEM_FLAX); + this.register(ITEM_FLAXSEED); + this.register(ITEM_FISH); + this.register(neithsAudacity); + } + + private void register(Item item) { + GameRegistry.registerItem(item, item.getUnlocalizedName()); + item.setCreativeTab(Atum.creativeTab); + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/items/AtumLoot.java b/src/main/java/com/teammetallurgy/atum/items/AtumLoot.java new file mode 100644 index 0000000..08006c2 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/AtumLoot.java @@ -0,0 +1,117 @@ +package com.teammetallurgy.atum.items; + +import com.teammetallurgy.atum.blocks.AtumBlocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +public class AtumLoot { + + public static List artifacts; + public static AtumWeightedLootSet goodLoot; + public static AtumWeightedLootSet junkLoot; + + public static void addArtifact(ItemStack stack) { + artifacts.add(stack); + } + + public static ItemStack getRandomLoot() { + return artifacts.get(0); + } + + public static ItemStack getRandomArtifact() { + + int i = (new Random()).nextInt(artifacts.size()); + return artifacts.get(i).copy(); + } + + public static void fillChest(IInventory inventory, int multiplier, float quality) { + if (inventory == null) { + return; + } + + Random rand = new Random(); + for (int i = 0; i < multiplier; i++) { + int slot = rand.nextInt(inventory.getSizeInventory()); + float roll = rand.nextFloat(); + ItemStack stack = null; + if (rand.nextFloat() < quality) { + if (roll > 0.20) { + stack = goodLoot.getRandomLoot(); + } else if (roll > 0.005) { + stack = ItemLoot.getRandomLoot(rand, true); + } else { + int randomArtifactID = rand.nextInt(artifacts.size()); + stack = artifacts.get(randomArtifactID).copy(); + } + } else { + stack = junkLoot.getRandomLoot(); + } + inventory.setInventorySlotContents(slot, stack); + } + } + + public void register() { + artifacts = new ArrayList(); + goodLoot = new AtumWeightedLootSet(); + junkLoot = new AtumWeightedLootSet(); + + ItemStack stack = new ItemStack(AtumItems.ITEM_PTAHSPICK); + artifacts.add(stack); + + artifacts.add(new ItemStack(AtumItems.sobeksRage)); + artifacts.add(new ItemStack(AtumItems.osirisWill)); + artifacts.add(new ItemStack(AtumItems.akersToil)); + artifacts.add(new ItemStack(AtumItems.gebsBlessing)); + artifacts.add(new ItemStack(AtumItems.atensFury)); + artifacts.add(new ItemStack(AtumItems.rasGlory)); + artifacts.add(new ItemStack(AtumItems.sekhmetsWrath)); + artifacts.add(new ItemStack(AtumItems.nutsAgility)); + artifacts.add(new ItemStack(AtumItems.horusFlight)); + artifacts.add(new ItemStack(AtumItems.monthusStrike)); + artifacts.add(new ItemStack(AtumItems.neithsAudacity)); + artifacts.add(new ItemStack(AtumItems.hedetetsSting)); + artifacts.add(new ItemStack(AtumItems.nusFlux)); + artifacts.add(new ItemStack(AtumItems.anhursMight)); + artifacts.add(new ItemStack(AtumItems.horusSoaring)); + artifacts.add(new ItemStack(AtumItems.shusBreath)); + artifacts.add(new ItemStack(AtumItems.hedetetsVenom)); + artifacts.add(new ItemStack(AtumItems.monthusBlast)); + artifacts.add(new ItemStack(AtumItems.mnevisHorns)); + artifacts.add(new ItemStack(AtumItems.isisEmbrace)); + artifacts.add(new ItemStack(AtumItems.maatsBalance)); + artifacts.add(new ItemStack(AtumItems.nutsCall)); + artifacts.add(new ItemStack(AtumItems.ptahsDestruction)); + artifacts.add(new ItemStack(AtumItems.anuketsBounty)); + artifacts.add(new ItemStack(AtumItems.anubisMercy)); + artifacts.add(new ItemStack(AtumItems.amunetsHomecoming)); + artifacts.add(new ItemStack(AtumItems.isisHealing)); + artifacts.add(new ItemStack(AtumItems.mafdetsQuickness)); + + // Junk Loot Stuff + junkLoot.addLoot(new ItemStack(AtumItems.ITEM_FLAXSEED), 5, 1, 2); + junkLoot.addLoot(new ItemStack(Items.stick), 5, 1, 5); + junkLoot.addLoot(new ItemStack(AtumItems.ITEM_DATE), 5, 1, 2); + junkLoot.addLoot(new ItemStack(Items.bone), 10, 1, 3); + junkLoot.addLoot(new ItemStack(Items.bread), 10, 1, 4); + junkLoot.addLoot(new ItemStack(AtumBlocks.BLOCK_SAND), 20, 1, 64); + junkLoot.addLoot(new ItemStack(AtumItems.ITEM_SCIMITAR), 5, 1, 1); + junkLoot.addLoot(new ItemStack(Items.wheat_seeds), 5, 1, 3); + junkLoot.addLoot(new ItemStack(Items.leather), 5, 1, 5); + junkLoot.addLoot(new ItemStack(Items.dye, 1, 3), 5, 1, 3); + junkLoot.addLoot(new ItemStack(Items.saddle), 5, 1, 1); + + // Good Loot + goodLoot.addLoot(new ItemStack(Items.iron_ingot), 38, 1, 3); + goodLoot.addLoot(new ItemStack(Items.gold_ingot), 20, 1, 3); + goodLoot.addLoot(new ItemStack(Items.diamond), 4, 1, 2); + goodLoot.addLoot(new ItemStack(Items.enchanted_book, 1, 1), 5, 1, 1); + ItemStack stick = new ItemStack(Items.stick); + stick.setStackDisplayName("Amazing Stick"); + goodLoot.addLoot(stick, 1, 1, 1); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/AtumWeightedLootSet.java b/src/main/java/com/teammetallurgy/atum/items/AtumWeightedLootSet.java new file mode 100644 index 0000000..ef0e76e --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/AtumWeightedLootSet.java @@ -0,0 +1,63 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentData; +import net.minecraft.init.Items; +import net.minecraft.item.ItemEnchantedBook; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MathHelper; + +import java.util.*; + +public class AtumWeightedLootSet { + public Map loot; + public Map lootMin; + public Map lootMax; + public int totalWeight; + + public AtumWeightedLootSet() { + loot = new HashMap(); + lootMin = new HashMap(); + lootMax = new HashMap(); + totalWeight = 0; + } + + public void addLoot(ItemStack stack, int weight, int min, int max) { + if (weight <= 0 || stack == null) + return; + + loot.put(totalWeight + weight, stack); + lootMin.put(totalWeight + weight, min); + lootMax.put(totalWeight + weight, max); + totalWeight += weight; + } + + public ItemStack getRandomLoot() { + Random rand = new Random(); + int weight = rand.nextInt(totalWeight); + + ItemStack stack = null; + + Set keySet = loot.keySet(); + Integer[] keys = keySet.toArray(new Integer[keySet.size()]); + Arrays.sort(keys); + + for (Integer key : keys) { + if (key >= weight) { + stack = loot.get(key).copy(); + int min = lootMin.get(key); + int max = lootMax.get(key); + int amount = rand.nextInt(max - min + 1) + min; + stack.stackSize = amount; + if (stack.getItem() == Items.enchanted_book) { + Enchantment enchantment = Enchantment.enchantmentsBookList[rand.nextInt(Enchantment.enchantmentsBookList.length)]; + int l = MathHelper.getRandomIntegerInRange(rand, enchantment.getMinLevel(), enchantment.getMaxLevel()); + ((ItemEnchantedBook) stack.getItem()).addEnchantment(stack, new EnchantmentData(enchantment, l)); + } + break; + } + } + + return stack; + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java b/src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java new file mode 100644 index 0000000..0911240 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java @@ -0,0 +1,58 @@ +package com.teammetallurgy.atum.items; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemBow; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +public class ItemAtumBow extends ItemBow { + + public static final String[] bowPullIconNameArray = new String[]{"bow_pull_0", "bow_pull_1", "bow_pull_2"}; + IIcon[] iconArray; + + public ItemAtumBow() { + super(); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[bowPullIconNameArray.length]; + + this.itemIcon = par1IIconRegister.registerIcon("atum:Bow"); + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + } + + } + + @Override + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 18) { + return this.getItemIconForUseDuration(2); + } + + if (j > 13) { + return this.getItemIconForUseDuration(1); + } + + if (j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemBlockBricks.java b/src/main/java/com/teammetallurgy/atum/items/ItemBlockBricks.java new file mode 100644 index 0000000..22efd91 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/ItemBlockBricks.java @@ -0,0 +1,27 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.block.Block; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; + +public class ItemBlockBricks extends ItemBlock { + + public ItemBlockBricks(Block block) { + super(block); + this.setMaxDamage(0); + this.setHasSubtypes(true); + } + + @Override + public int getMetadata(int meta) { + return meta; + } + + @Override + public String getUnlocalizedName(ItemStack itemStack) { + if (itemStack.getItemDamage() != 2) + return getUnlocalizedName() + "Unbreakable"; + return getUnlocalizedName(); + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemBlockStainedGlass.java b/src/main/java/com/teammetallurgy/atum/items/ItemBlockStainedGlass.java new file mode 100644 index 0000000..de59ae6 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/ItemBlockStainedGlass.java @@ -0,0 +1,40 @@ +package com.teammetallurgy.atum.items; + +import com.teammetallurgy.atum.utils.Constants; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +public class ItemBlockStainedGlass extends ItemBlock{ + + public ItemBlockStainedGlass(Block block) { + super(block); + this.setMaxDamage(0); + this.setHasSubtypes(true); + } + + @Override + public int getMetadata(int meta) { + return meta; + } + + @Override + public String getUnlocalizedName(ItemStack itemStack) { + if (itemStack.getItemDamage() < Constants.COLOURS.length) + return field_150939_a.getUnlocalizedName() + Constants.COLOURS[itemStack.getItemDamage()]; + + return field_150939_a.getUnlocalizedName(); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int meta) + { + return this.field_150939_a.func_149735_b(2, meta); + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemFish.java b/src/main/java/com/teammetallurgy/atum/items/ItemFish.java new file mode 100644 index 0000000..a21d474 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/ItemFish.java @@ -0,0 +1,51 @@ +package com.teammetallurgy.atum.items; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +import java.util.List; + +public class ItemFish extends Item { + + IIcon[] icons; + + public ItemFish() { + super(); + this.setHasSubtypes(true); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int par1) { + return this.icons[par1]; + } + + @Override + public String getUnlocalizedName(ItemStack par1ItemStack) { + return this.getUnlocalizedName() + "." + par1ItemStack.getItemDamage(); + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) { + for (int i = 0; i < 4; ++i) { + par3List.add(new ItemStack(par1, 1, i)); + } + + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IIconRegister) { + this.icons = new IIcon[4]; + + for (int i = 0; i < 4; ++i) { + this.icons[i] = par1IIconRegister.registerIcon("atum:Fish" + i); + } + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemGreatsword.java b/src/main/java/com/teammetallurgy/atum/items/ItemGreatsword.java new file mode 100644 index 0000000..425076a --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/ItemGreatsword.java @@ -0,0 +1,25 @@ +package com.teammetallurgy.atum.items; + +import com.teammetallurgy.atum.entity.EntityPharaoh; +import com.teammetallurgy.atum.entity.EntityStoneSoldier; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemSword; +import net.minecraft.util.MathHelper; + +public class ItemGreatsword extends ItemSword { + + public ItemGreatsword(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { + if (!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { + float j = 1.2F; + mob.addVelocity((double) (-MathHelper.sin(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F), 0.1D, (double) (MathHelper.cos(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F)); + } + + return super.hitEntity(par1ItemStack, mob, player); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java b/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java new file mode 100644 index 0000000..819a3d0 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java @@ -0,0 +1,134 @@ +package com.teammetallurgy.atum.items; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.util.StatCollector; + +import java.util.List; +import java.util.Random; + +public class ItemLoot extends Item { + + private static String[] typeArray = new String[]{"idol", "necklace", "ring", "broach", "scepter"}; + private static String[] qualityArray = new String[]{"dirty", "silver", "gold", "sapphire", "ruby", "emerald", "diamond"}; + IIcon[] iconArray; + + public ItemLoot() { + super(); + this.setHasSubtypes(true); + this.setMaxDamage(0); + } + + public static ItemStack getRandomLoot(Random rand, boolean isDirty) { + int type = rand.nextInt(typeArray.length); + int quality = rand.nextInt(qualityArray.length - 1) + 1; + return new ItemStack(AtumItems.ITEM_LOOT, 1, type << 5 | quality << 1 | (isDirty ? 1 : 0)); + } + + @Override + public String getUnlocalizedName(ItemStack par1ItemStack) { + int quality = par1ItemStack.getItemDamage() >> 1 & 15; + int type = par1ItemStack.getItemDamage() >> 5 & 15; + if (type < typeArray.length && quality < qualityArray.length) + return "item.loot." + qualityArray[quality] + "." + typeArray[type]; + + return "item.loot.unknown"; + } + + @Override + public String getItemStackDisplayName(ItemStack par1ItemStack) { + + int quality = par1ItemStack.getItemDamage() >> 1 & 15; + int type = par1ItemStack.getItemDamage() >> 5 & 15; + if (type < typeArray.length && quality < qualityArray.length) { + + // Individual localization + String unlocalizedName = this.getUnlocalizedName(par1ItemStack) + ".name"; + if (StatCollector.canTranslate(unlocalizedName)) + return StatCollector.translateToLocal(unlocalizedName); + + // General localization + String unlocalizedQuality = "item.loot." + qualityArray[quality] + ".name"; + String unlocalizedType = "item.loot." + typeArray[type] + ".name"; + + if (StatCollector.canTranslate(unlocalizedQuality) && StatCollector.canTranslate(unlocalizedType)) { + String LocalizedGeneralName = StatCollector.translateToLocal(unlocalizedQuality); + LocalizedGeneralName += " " + StatCollector.translateToLocal(unlocalizedType); + return LocalizedGeneralName; + } + + // No localization + return unlocalizedName; + } + + return super.getItemStackDisplayName(par1ItemStack); + } + + @Override + public boolean onEntityItemUpdate(EntityItem entityItem) { + Block id = entityItem.worldObj.getBlock(MathHelper.floor_double(entityItem.posX), MathHelper.floor_double(entityItem.posY), MathHelper.floor_double(entityItem.posZ)); + if (id == Blocks.water || id == Blocks.flowing_water) { + ItemStack item = entityItem.getEntityItem(); + int damage = item.getItemDamage() >> 1; + int quality = damage & 15; + if (quality == 0) { + damage |= (int) (Math.random() * 6.0D) + 1; + } + + item.setItemDamage(damage << 1); + entityItem.setEntityItemStack(item); + } + + return super.onEntityItemUpdate(entityItem); + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) { + for (int type = 0; type < typeArray.length; ++type) { + par3List.add(new ItemStack(par1, 1, type << 5 | 1)); + + for (int quality = 1; quality < qualityArray.length; ++quality) { + par3List.add(new ItemStack(par1, 1, type << 5 | quality << 1)); + } + } + + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int par1) { + int dirty = par1 & 1; + int quality = par1 >> 1 & 15; + int type = par1 >> 5 & 15; + return dirty == 1 ? this.iconArray[type * 7] : this.iconArray[type * 7 + quality]; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[typeArray.length * (qualityArray.length + 1)]; + + for (int type = 0; type < 5; ++type) { + this.iconArray[type * 7] = par1IIconRegister.registerIcon("atum:Dirty" + firstUpperCase(typeArray[type])); + + for (int quality = 1; quality < 7; ++quality) { + this.iconArray[type * 7 + quality] = par1IIconRegister.registerIcon("atum:" + firstUpperCase(qualityArray[quality]) + firstUpperCase(typeArray[type])); + } + } + + } + + public String firstUpperCase(String s) { + return Character.toString(s.charAt(0)).toUpperCase() + s.substring(1, s.length()); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemPapyrusPlant.java b/src/main/java/com/teammetallurgy/atum/items/ItemPapyrusPlant.java new file mode 100644 index 0000000..63d7f15 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/ItemPapyrusPlant.java @@ -0,0 +1,80 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class ItemPapyrusPlant extends Item { + + private Block spawnID; + + public ItemPapyrusPlant(Block par2Block) { + super(); + this.spawnID = par2Block; + } + + @Override + public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { + Block i1 = par3World.getBlock(par4, par5, par6); + if (i1 == Blocks.snow && (par3World.getBlockMetadata(par4, par5, par6) & 7) < 1) { + par7 = 1; + } else if (i1 != Blocks.vine && i1 != Blocks.tallgrass && i1 != Blocks.deadbush) { + if (par7 == 0) { + --par5; + } + + if (par7 == 1) { + ++par5; + } + + if (par7 == 2) { + --par6; + } + + if (par7 == 3) { + ++par6; + } + + if (par7 == 4) { + --par4; + } + + if (par7 == 5) { + ++par4; + } + } + + if (!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) { + return false; + } else if (par1ItemStack.stackSize == 0) { + return false; + } else { + if (par3World.canPlaceEntityOnSide(this.spawnID, par4, par5, par6, false, par7, (Entity) null, par1ItemStack)) { + Block block = this.spawnID; + int j1 = block.onBlockPlaced(par3World, par4, par5, par6, par7, par8, par9, par10, 0); + if (par3World.setBlock(par4, par5, par6, this.spawnID, j1, 3)) { + if (par3World.getBlock(par4, par5, par6) == this.spawnID) { + this.spawnID.onBlockPlacedBy(par3World, par4, par5, par6, par2EntityPlayer, par1ItemStack); + this.spawnID.onPostBlockPlaced(par3World, par4, par5, par6, j1); + } + + par3World.playSoundEffect((double) ((float) par4 + 0.5F), (double) ((float) par5 + 0.5F), (double) ((float) par6 + 0.5F), block.stepSound.getStepResourcePath(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); + --par1ItemStack.stackSize; + } + } + + return true; + } + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:PapyrusPlantItem"); + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java new file mode 100644 index 0000000..9e9942b --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java @@ -0,0 +1,80 @@ +package com.teammetallurgy.atum.items; + +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.handler.AtumConfig; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; + +public class ItemScarab extends Item { + + public ItemScarab() { + super(); + super.maxStackSize = 1; + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int x, int y, int z, int par7, float par8, float par9, float par10) { + if (AtumConfig.ALLOW_CREATION || par2EntityPlayer.capabilities.isCreativeMode) { + Block block = par3World.getBlock(x, y, z); + Block temp = null; + if (block == Blocks.sandstone || block == AtumBlocks.BLOCK_LARGEBRICK) { + temp = block; + } + if (temp != null) { + for (int x1 = -1; x1 < 1; x1++) { + for (int z1 = -1; z1 < 1; z1++) { + if (AtumBlocks.BLOCK_PORTAL.tryToCreatePortal(par3World, x1 + x, y, z1 + z, temp)) { + --par2EntityPlayer.getCurrentEquippedItem().stackSize; + return true; + } + } + } + + if (par2EntityPlayer.capabilities.isCreativeMode) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + for (int y1 = 0; y1 < 2; y1++) { + par3World.setBlock(x + x1, y + y1, z + z1, temp); + } + } + } + + for (int x1 = -1; x1 < 2; x1++) { + for (int z1 = -1; z1 < 2; z1++) { + par3World.setBlockToAir(x + x1, y + 1, z + z1); + } + } + + for (int y1 = 2; y1 < 4; y1++) { + par3World.setBlock(x - 2, y + y1, z - 2, temp); + par3World.setBlock(x + 2, y + y1, z - 2, temp); + par3World.setBlock(x - 2, y + y1, z + 2, temp); + par3World.setBlock(x + 2, y + y1, z + 2, temp); + } + AtumBlocks.BLOCK_PORTAL.tryToCreatePortal(par3World, x, y, z, temp); + } + } + } else { + par2EntityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chat.atum.disabled"))); + } + + return true; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:Scarab"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemScepter.java b/src/main/java/com/teammetallurgy/atum/items/ItemScepter.java new file mode 100644 index 0000000..791d8c0 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/ItemScepter.java @@ -0,0 +1,16 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemSword; + +public class ItemScepter extends ItemSword { + + public ItemScepter(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:Scepter"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemScimitar.java b/src/main/java/com/teammetallurgy/atum/items/ItemScimitar.java new file mode 100644 index 0000000..9b07d1d --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/ItemScimitar.java @@ -0,0 +1,16 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemSword; + +public class ItemScimitar extends ItemSword { + + public ItemScimitar(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:Scimitar"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java b/src/main/java/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java new file mode 100644 index 0000000..ddfb540 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java @@ -0,0 +1,16 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemSword; + +public class ItemStoneSoldierSword extends ItemSword { + + public ItemStoneSoldierSword(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:StoneSoldierSword"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemTexturedArmor.java b/src/main/java/com/teammetallurgy/atum/items/ItemTexturedArmor.java new file mode 100644 index 0000000..2487da8 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/ItemTexturedArmor.java @@ -0,0 +1,39 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.entity.Entity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +public class ItemTexturedArmor extends ItemArmor { + + private String textureFile; + private Item repairItem = null; + private IIcon[] armour; + + public ItemTexturedArmor(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); + } + + public ItemTexturedArmor setRepairItem(Item item) { + this.repairItem = item; + return this; + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == this.repairItem; + } + + public ItemTexturedArmor setTextureFile(String filename) { + this.textureFile = filename; + return this; + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { + return "atum:textures/armor/" + this.textureFile + ".png"; + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java b/src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java new file mode 100644 index 0000000..bfab67f --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java @@ -0,0 +1,24 @@ +package com.teammetallurgy.atum.items; + +import com.teammetallurgy.atum.blocks.AtumBlocks; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemAxe; +import net.minecraft.item.ItemStack; + +public class LimestoneAxe extends ItemAxe { + + public LimestoneAxe(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return Block.getBlockFromItem(par2ItemStack.getItem()) == AtumBlocks.BLOCK_LIMESTONECOBBLE; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:LimestoneAxe"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java b/src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java new file mode 100644 index 0000000..60cd83e --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java @@ -0,0 +1,24 @@ +package com.teammetallurgy.atum.items; + +import com.teammetallurgy.atum.blocks.AtumBlocks; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemHoe; +import net.minecraft.item.ItemStack; + +public class LimestoneHoe extends ItemHoe { + + public LimestoneHoe(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return Block.getBlockFromItem(par2ItemStack.getItem()) == AtumBlocks.BLOCK_LIMESTONECOBBLE; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:LimestoneHoe"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java b/src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java new file mode 100644 index 0000000..a19ed2c --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java @@ -0,0 +1,24 @@ +package com.teammetallurgy.atum.items; + +import com.teammetallurgy.atum.blocks.AtumBlocks; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemPickaxe; +import net.minecraft.item.ItemStack; + +public class LimestonePickaxe extends ItemPickaxe { + + public LimestonePickaxe(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return Block.getBlockFromItem(par2ItemStack.getItem()) == AtumBlocks.BLOCK_LIMESTONECOBBLE; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:LimestonePickaxe"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java b/src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java new file mode 100644 index 0000000..a59f3db --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java @@ -0,0 +1,24 @@ +package com.teammetallurgy.atum.items; + +import com.teammetallurgy.atum.blocks.AtumBlocks; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemSpade; +import net.minecraft.item.ItemStack; + +public class LimestoneShovel extends ItemSpade { + + public LimestoneShovel(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return Block.getBlockFromItem(par2ItemStack.getItem()) == AtumBlocks.BLOCK_LIMESTONECOBBLE; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:LimestoneShovel"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java b/src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java new file mode 100644 index 0000000..6e5da77 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java @@ -0,0 +1,24 @@ +package com.teammetallurgy.atum.items; + +import com.teammetallurgy.atum.blocks.AtumBlocks; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemSword; + +public class LimestoneSword extends ItemSword { + + public LimestoneSword(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return Block.getBlockFromItem(par2ItemStack.getItem()) == AtumBlocks.BLOCK_LIMESTONECOBBLE; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:LimestoneSword"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java new file mode 100644 index 0000000..fea250a --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java @@ -0,0 +1,76 @@ +package com.teammetallurgy.atum.items.artifacts; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemSpade; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraftforge.common.ForgeHooks; +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemAkersToil extends ItemSpade { + + public ItemAkersToil(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public float getDigSpeed(ItemStack stack, Block block, int meta) { + if (ForgeHooks.isToolEffective(stack, block, meta)) { + return super.efficiencyOnProperMaterial * 3.0F; + } + + return 1.0F; + } + + @Override + public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, Block par3, int par4, int par5, int par6, EntityLivingBase par7EntityLiving) { + if (par7EntityLiving instanceof EntityPlayer) { + ((EntityPlayer) par7EntityLiving).getFoodStats().addExhaustion(-0.025F); + } + + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:AkersToil"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java new file mode 100644 index 0000000..abe5b3a --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java @@ -0,0 +1,106 @@ +package com.teammetallurgy.atum.items.artifacts; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ChunkCoordinates; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraft.world.chunk.IChunkProvider; +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemAmunetsHomecoming extends Item { + + public ItemAmunetsHomecoming() { + super(); + this.setMaxDamage(20); + } + + public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCoordinates par1ChunkCoordinates, boolean par2) { + if (!par0World.isRemote) { + IChunkProvider c = par0World.getChunkProvider(); + c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); + } + + Block block = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); + if (block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { + ChunkCoordinates material1 = block.getBedSpawnPosition(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityPlayer) null); + return material1; + } else { + Material material = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ).getMaterial(); + Material material1 = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY + 1, par1ChunkCoordinates.posZ).getMaterial(); + boolean flag1 = !material.isSolid() && !material.isLiquid(); + boolean flag2 = !material1.isSolid() && !material1.isLiquid(); + return par2 && flag1 && flag2 ? par1ChunkCoordinates : null; + } + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + // TODO FIX + public ItemStack onItemRightClick(ItemStack par1ItemStack, World par3World, EntityPlayer par2EntityPlayer) { + ChunkCoordinates spawn = par2EntityPlayer.getBedLocation(par2EntityPlayer.dimension); + if (spawn == null) { + spawn = par3World.getSpawnPoint(); + } + + if (spawn == null) { + spawn = par3World.getSpawnPoint(); + } + + spawn = verifyRespawnCoordinates(par3World, spawn, false); + if (spawn == null) { + spawn = par3World.getSpawnPoint(); + } + + par2EntityPlayer.rotationPitch = 0.0F; + par2EntityPlayer.rotationYaw = 0.0F; + par2EntityPlayer.setPositionAndUpdate((double) spawn.posX + 0.5D, (double) spawn.posY + 0.1D, (double) spawn.posZ); + + while (!par3World.getCollidingBoundingBoxes(par2EntityPlayer, par2EntityPlayer.boundingBox).isEmpty()) { + par2EntityPlayer.setPosition(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.0D, par2EntityPlayer.posZ); + } + + par1ItemStack.damageItem(1, par2EntityPlayer); + return par1ItemStack; + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:AmunetsHomecoming"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java new file mode 100644 index 0000000..77fb03c --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java @@ -0,0 +1,80 @@ +package com.teammetallurgy.atum.items.artifacts; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemSword; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemAnhursMight extends ItemSword { + + public ItemAnhursMight(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLiving, EntityLivingBase par3EntityLiving) { + if (Math.random() > 0.5D) { + par2EntityLiving.addPotionEffect(new PotionEffect(21, 80, 1, false)); + par2EntityLiving.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 80, 6, false)); + } + + return super.hitEntity(par1ItemStack, par2EntityLiving, par3EntityLiving); + } + + @Override + public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5) { + if (entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) entity; + if (player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().getItem() == this) { + player.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 2, 0, true)); + } + } + + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:AnhursMight"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java new file mode 100644 index 0000000..d516cb6 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java @@ -0,0 +1,156 @@ +package com.teammetallurgy.atum.items.artifacts; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.util.ChunkCoordinates; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraft.world.chunk.IChunkProvider; +import net.minecraftforge.event.entity.living.LivingHurtEvent; + +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemAnubisMercy extends Item { + + public ItemAnubisMercy() { + super(); + this.setMaxDamage(20); + } + + public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCoordinates par1ChunkCoordinates, boolean par2) { + if (!par0World.isRemote) { + IChunkProvider c = par0World.getChunkProvider(); + c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); + } + + Block block = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); + if (block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { + ChunkCoordinates material1 = block.getBedSpawnPosition(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityPlayer) null); + return material1; + } else { + Material material = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ).getMaterial(); + Material material1 = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY + 1, par1ChunkCoordinates.posZ).getMaterial(); + boolean flag1 = !material.isSolid() && !material.isLiquid(); + boolean flag2 = !material1.isSolid() && !material1.isLiquid(); + return par2 && flag1 && flag2 ? par1ChunkCoordinates : null; + } + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @SubscribeEvent + public void onDamage(LivingHurtEvent event) { + if (event.entityLiving instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) event.entityLiving; + ItemStack stack = null; + ItemStack[] damageAmount = player.inventory.mainInventory; + int resistance = damageAmount.length; + + for (int i = 0; i < resistance; ++i) { + ItemStack currStack = damageAmount[i]; + if (currStack != null && currStack.getItem() == this) { + stack = currStack; + break; + } + } + + if (stack == null) { + return; + } + + float var8 = event.ammount; + if (!event.source.isUnblockable()) { + var8 = (event.ammount * (25 - player.getTotalArmorValue()) + player.getAbsorptionAmount()) / 25.0F; + } + + if (player.isPotionActive(Potion.resistance)) { + resistance = 25 - (player.getActivePotionEffect(Potion.resistance).getAmplifier() + 1) * 5; + var8 = var8 * (float) resistance / 25.0F; + } + + if (Math.ceil((double) var8) >= (double) player.getHealth()) { + event.setCanceled(true); + this.respawnPlayer(event.entityLiving.worldObj, player); + player.setHealth(player.getMaxHealth()); + player.getFoodStats().setFoodLevel(20); + player.getFoodStats().setFoodSaturationLevel(20.0F); + // player.spawnExplosionParticle(); + stack.damageItem(1, player); + if (stack.getItemDamage() >= 20) { + stack = null; + } + } + } + + } + + public void respawnPlayer(World par3World, EntityPlayer par2EntityPlayer) { + ChunkCoordinates spawn = par2EntityPlayer.getBedLocation(par2EntityPlayer.dimension); + if (spawn == null) { + spawn = par3World.getSpawnPoint(); + } + + if (spawn == null) { + spawn = par3World.getSpawnPoint(); + } + + spawn = verifyRespawnCoordinates(par3World, spawn, false); + if (spawn == null) { + spawn = par3World.getSpawnPoint(); + } + + par2EntityPlayer.rotationPitch = 0.0F; + par2EntityPlayer.rotationYaw = 0.0F; + par2EntityPlayer.setPositionAndUpdate((double) spawn.posX + 0.5D, (double) spawn.posY + 0.1D, (double) spawn.posZ); + + while (!par3World.getCollidingBoundingBoxes(par2EntityPlayer, par2EntityPlayer.boundingBox).isEmpty()) { + par2EntityPlayer.setPosition(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.0D, par2EntityPlayer.posZ); + } + + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + int remaining = par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage(); + String localizedRemaining = StatCollector.translateToLocalFormatted("tooltip.atum.usesRemaining", remaining); + par3List.add(localizedRemaining); + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:AnubisMercy"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java new file mode 100644 index 0000000..ef00f6e --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java @@ -0,0 +1,100 @@ +package com.teammetallurgy.atum.items.artifacts; + +import com.teammetallurgy.atum.entity.arrow.EntityAtumFishHook; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; + +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemAnuketsBounty extends Item { + + @SideOnly(Side.CLIENT) + private IIcon theIcon; + + public ItemAnuketsBounty() { + super(); + this.setMaxDamage(64); + this.setMaxStackSize(1); + this.setCreativeTab(CreativeTabs.tabTools); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + @SideOnly(Side.CLIENT) + public boolean isFull3D() { + return true; + } + + @Override + @SideOnly(Side.CLIENT) + public boolean shouldRotateAroundWhenRendering() { + return true; + } + + @Override + public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { + if (par3EntityPlayer.fishEntity != null) { + int i = par3EntityPlayer.fishEntity.func_146034_e(); + par1ItemStack.damageItem(i, par3EntityPlayer); + par3EntityPlayer.swingItem(); + } else { + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 0.5F, 0.4F / (Item.itemRand.nextFloat() * 0.4F + 0.8F)); + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(new EntityAtumFishHook(par2World, par3EntityPlayer)); + } + par3EntityPlayer.swingItem(); + } + + return par1ItemStack; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:AnuketsBounty"); + this.theIcon = par1IIconRegister.registerIcon("fishing_rod_cast"); + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + int remaining = par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage(); + String localizedRemaining = StatCollector.translateToLocalFormatted("tooltip.atum.usesRemaining", remaining); + par3List.add(localizedRemaining); + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java new file mode 100644 index 0000000..3103f57 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java @@ -0,0 +1,151 @@ +package com.teammetallurgy.atum.items.artifacts; + +import com.teammetallurgy.atum.entity.arrow.EntityArrowFire; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBow; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.entity.player.ArrowLooseEvent; +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemAtensFury extends ItemBow { + + public static final String[] bowPullIconNameArray = new String[]{"atens_pull_0", "atens_pull_1", "atens_pull_2"}; + IIcon[] iconArray; + + public ItemAtensFury() { + super(); + this.setMaxDamage(650); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); + MinecraftForge.EVENT_BUS.post(event); + if (!event.isCanceled()) { + j = event.charge; + boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; + if (flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { + float f = (float) j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + if ((double) f < 0.1D) { + return; + } + + if (f > 1.0F) { + f = 1.0F; + } + + EntityArrowFire entityarrow = new EntityArrowFire(par2World, par3EntityPlayer, f * 2.0F); + entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + if (f == 1.0F) { + entityarrow.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if (k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if (l > 0) { + entityarrow.setKnockbackStrength(l); + } + + entityarrow.setFire(100); + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + if (flag) { + entityarrow.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); + } + + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + } + } + + } + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[bowPullIconNameArray.length]; + this.itemIcon = par1IIconRegister.registerIcon("atum:AtensFury"); + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + } + + } + + @Override + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 18) { + return this.getItemIconForUseDuration(2); + } + + if (j > 13) { + return this.getItemIconForUseDuration(1); + } + + if (j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java new file mode 100644 index 0000000..a10a280 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java @@ -0,0 +1,54 @@ +package com.teammetallurgy.atum.items.artifacts; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemHoe; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemGebsBlessing extends ItemHoe { + + public ItemGebsBlessing(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:GebsBlessing"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java new file mode 100644 index 0000000..175b37d --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java @@ -0,0 +1,67 @@ +package com.teammetallurgy.atum.items.artifacts; + +import com.teammetallurgy.atum.items.ItemTexturedArmor; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemGebsSolidarity extends ItemTexturedArmor { + + public ItemGebsSolidarity(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { + super.onArmorTick(world, player, itemStack); + + if (world.isRemote || itemStack == null || itemStack.getItem() != this) + return; + + player.addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 20, 1, true)); + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:GebsSolidarity"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java new file mode 100644 index 0000000..9cf86aa --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java @@ -0,0 +1,67 @@ +package com.teammetallurgy.atum.items.artifacts; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemSword; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemHedetetsSting extends ItemSword { + + public ItemHedetetsSting(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLiving, EntityLivingBase par3EntityLiving) { + if (super.hitEntity(par1ItemStack, par2EntityLiving, par3EntityLiving)) { + par2EntityLiving.addPotionEffect(new PotionEffect(Potion.poison.id, 140, 2, false)); + return true; + } else { + return false; + } + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:HedetetsSting"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java new file mode 100644 index 0000000..4b8c20b --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java @@ -0,0 +1,154 @@ +package com.teammetallurgy.atum.items.artifacts; + +import com.teammetallurgy.atum.entity.arrow.EntityArrowPoison; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBow; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.entity.player.ArrowLooseEvent; +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemHedetetsVenom extends ItemBow { + + public static final String[] bowPullIconNameArray = new String[]{"HedetetsVenom_pull_0", "HedetetsVenom_pull_1", "HedetetsVenom_pull_2"}; + IIcon[] iconArray; + + public ItemHedetetsVenom() { + super(); + this.setMaxDamage(650); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); + MinecraftForge.EVENT_BUS.post(event); + if (!event.isCanceled()) { + j = event.charge; + boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; + if (flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { + float f = (float) j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + if ((double) f < 0.1D) { + return; + } + + if (f > 1.0F) { + f = 1.0F; + } + + EntityArrowPoison entityarrow = new EntityArrowPoison(par2World, par3EntityPlayer, f * 3.0F); + entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + if (f == 1.0F) { + entityarrow.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if (k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if (l > 0) { + entityarrow.setKnockbackStrength(l); + } + + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); + } + + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + if (flag) { + entityarrow.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); + } + + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + } + } + + } + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[bowPullIconNameArray.length]; + this.itemIcon = par1IIconRegister.registerIcon("atum:HedetetsVenom"); + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + } + + } + + @Override + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 18) { + return this.getItemIconForUseDuration(2); + } + + if (j > 13) { + return this.getItemIconForUseDuration(1); + } + + if (j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java new file mode 100644 index 0000000..ecf1f5f --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java @@ -0,0 +1,90 @@ +package com.teammetallurgy.atum.items.artifacts; + +import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.ItemTexturedArmor; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent; +import net.minecraftforge.event.entity.living.LivingFallEvent; + +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemHorusFlight extends ItemTexturedArmor { + + public ItemHorusFlight(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { + super.onArmorTick(world, player, itemStack); + + if (world.isRemote || itemStack == null || itemStack.getItem() != this) + return; + + player.addPotionEffect(new PotionEffect(8, 40, 1, true)); + } + + @SubscribeEvent + public void onJump(LivingJumpEvent event) { + if (event.entityLiving.getEquipmentInSlot(1) != null && event.entityLiving.getEquipmentInSlot(1).getItem() == this) { + event.entityLiving.motionY += 0.2D; + event.entityLiving.motionX *= 1.2D; + event.entityLiving.motionZ *= 1.2D; + } + + } + + @SubscribeEvent + public void onFallDamage(LivingFallEvent event) { + if (event.entityLiving.getEquipmentInSlot(1) != null && event.entityLiving.getEquipmentInSlot(1).getItem() == AtumItems.horusFlight) { + event.distance = 0.0F; + } + + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:HorusFlight"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java new file mode 100644 index 0000000..b4ed80f --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java @@ -0,0 +1,158 @@ +package com.teammetallurgy.atum.items.artifacts; + +import com.teammetallurgy.atum.entity.arrow.EntityArrowVelocity; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBow; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.entity.player.ArrowLooseEvent; + +import java.util.List; + +import org.lwjgl.input.Keyboard; + +public class ItemHorusSoaring extends ItemBow { + + public static final String[] bowPullIconNameArray = new String[]{"HorusSoaring_pull_0", "HorusSoaring_pull_1", "HorusSoaring_pull_2"}; + IIcon[] iconArray; + + public ItemHorusSoaring() { + super(); + this.setMaxDamage(650); + + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); + MinecraftForge.EVENT_BUS.post(event); + if (!event.isCanceled()) { + j = event.charge; + boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; + if (flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { + float f = (float) j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + if ((double) f < 0.1D) { + return; + } + + if (f > 1.0F) { + f = 1.0F; + } + + EntityArrowVelocity entityarrow = new EntityArrowVelocity(par2World, par3EntityPlayer, f * 3.0F); + entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + if (f == 1.0F) { + entityarrow.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if (k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if (l > 0) { + entityarrow.setKnockbackStrength(l); + } + + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); + } + + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + if (flag) { + entityarrow.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); + } + + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + } + } + + } + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:HorusSoaring"); + this.iconArray = new IIcon[bowPullIconNameArray.length]; + + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + } + + } + + @Override + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 18) { + return this.getItemIconForUseDuration(2); + } + + if (j > 13) { + return this.getItemIconForUseDuration(1); + } + + if (j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java new file mode 100644 index 0000000..09e6a7e --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java @@ -0,0 +1,65 @@ +package com.teammetallurgy.atum.items.artifacts; + +import com.teammetallurgy.atum.items.ItemTexturedArmor; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; + +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemIsisEmbrace extends ItemTexturedArmor { + + public ItemIsisEmbrace(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); + this.setRepairItem(Items.diamond); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { + super.onArmorTick(world, player, itemStack); + + if (world.isRemote || itemStack == null || itemStack.getItem() != this) + return; + + if (world.getTotalWorldTime() % 60L == 0L) { + player.heal(1); + } + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:IsisEmbrace"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java new file mode 100644 index 0000000..95f8301 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java @@ -0,0 +1,83 @@ +package com.teammetallurgy.atum.items.artifacts; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemIsisHealing extends Item { + + public ItemIsisHealing() { + super(); + this.setMaxDamage(400); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { + if (par3Entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) par3Entity; + if (par5 && player.onGround && player.getHeldItem() != null && player.getHeldItem().getItem() == this) { + this.doEffect(player, par1ItemStack); + } + } + + } + + public void doEffect(EntityPlayer player, ItemStack item) { + if (Math.random() <= 0.05D) { + if (player.getHealth() < player.getMaxHealth()) { + player.heal(1); + if (!player.capabilities.isCreativeMode) { + if (item.getItemDamage() == 1) { + item.damageItem(1, player); + } else { + item.setItemDamage(item.getItemDamage() + 1); + } + } + } + + } + } + + @Override + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:IsisHealing"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java new file mode 100644 index 0000000..6412944 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java @@ -0,0 +1,82 @@ +package com.teammetallurgy.atum.items.artifacts; + +import com.teammetallurgy.atum.items.ItemTexturedArmor; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +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.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EntityDamageSource; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraftforge.event.entity.living.LivingHurtEvent; +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemMaatsBalance extends ItemTexturedArmor { + + public ItemMaatsBalance(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @SubscribeEvent + public void onLivingAttack(LivingHurtEvent event) { + if (event.entityLiving.getEquipmentInSlot(3) != null && event.entityLiving.getEquipmentInSlot(3).getItem() == this) { + event.ammount = (event.ammount + 1) / 1.5F - 1; + } + + if (event.source instanceof EntityDamageSource) { + EntityDamageSource source = (EntityDamageSource) event.source; + if (source.getEntity() != null && source.getEntity() instanceof EntityLiving) { + EntityLiving entity = (EntityLiving) source.getEntity(); + if (entity.getEquipmentInSlot(3) != null && entity.getEquipmentInSlot(3).getItem() == this) { + event.ammount = (event.ammount + 1) / 1.5F - 1; + } + } + } + + } + + @Override + public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:MaatsBalance"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java new file mode 100644 index 0000000..3e25058 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java @@ -0,0 +1,87 @@ +package com.teammetallurgy.atum.items.artifacts; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; + +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemMafdetsQuickness extends Item { + + public ItemMafdetsQuickness() { + super(); + this.setMaxDamage(24000); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { + if (par3Entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) par3Entity; + if (par5 && player.onGround && player.getHeldItem() != null && player.getHeldItem().getItem() == this) { + doEffect(player, par1ItemStack); + } + } + + } + + public void doEffect(EntityPlayer player, ItemStack item) { + player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 40, 0, false)); + if (!player.capabilities.isCreativeMode) { + if (item.getItemDamage() == 1) { + item.damageItem(1, player); + } else { + item.setItemDamage(item.getItemDamage() + 1); + } + } + + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + double remaining = ((par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage()) / 12) / 100.0D; + String localizedRemaining = StatCollector.translateToLocalFormatted("tooltip.atum.minutesRemaining", remaining); + par3List.add(localizedRemaining); + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:MafdetsQuickness"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java new file mode 100644 index 0000000..9bd65da --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java @@ -0,0 +1,67 @@ +package com.teammetallurgy.atum.items.artifacts; + +import com.teammetallurgy.atum.items.ItemTexturedArmor; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; +import net.minecraft.util.EntityDamageSource; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemMnevisHorns extends ItemTexturedArmor { + + public ItemMnevisHorns(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @SubscribeEvent + public void onLivingAttack(LivingAttackEvent event) { + if (event.entityLiving.getEquipmentInSlot(3) != null && event.entityLiving.getEquipmentInSlot(3).getItem() == this && event.source instanceof EntityDamageSource) { + EntityDamageSource source = (EntityDamageSource) event.source; + if (source.getEntity() != null) { + source.getEntity().attackEntityFrom(DamageSource.generic, (int) ((double) event.ammount / 2.0D)); + } + } + + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:MnevisHorns"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java new file mode 100644 index 0000000..64a323b --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java @@ -0,0 +1,155 @@ +package com.teammetallurgy.atum.items.artifacts; + +import com.teammetallurgy.atum.entity.arrow.EntityArrowExplosive; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBow; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.entity.player.ArrowLooseEvent; +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemMonthusBlast extends ItemBow { + + public static final String[] bowPullIconNameArray = new String[]{"MonthusBlast_pull_0", "MonthusBlast_pull_1", "MonthusBlast_pull_2"}; + IIcon[] iconArray; + + public ItemMonthusBlast() { + super(); + this.setMaxDamage(650); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + j = (int) ((double) j * 0.667D); + ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); + MinecraftForge.EVENT_BUS.post(event); + if (!event.isCanceled()) { + j = event.charge; + boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; + if (flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { + float f = (float) j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + if ((double) f < 0.1D) { + return; + } + + if (f > 1.0F) { + f = 1.0F; + } + + EntityArrowExplosive entityarrow = new EntityArrowExplosive(par2World, par3EntityPlayer, f * 1.5F); + entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + if (f == 1.0F) { + entityarrow.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if (k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if (l > 0) { + entityarrow.setKnockbackStrength(l); + } + + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); + } + + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + if (flag) { + entityarrow.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); + } + + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + } + } + + } + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[bowPullIconNameArray.length]; + this.itemIcon = par1IIconRegister.registerIcon("atum:MonthusBlast"); + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + } + + } + + @Override + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 27) { + return this.getItemIconForUseDuration(2); + } + + if (j > 18) { + return this.getItemIconForUseDuration(1); + } + + if (j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java new file mode 100644 index 0000000..8e4967f --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java @@ -0,0 +1,131 @@ +package com.teammetallurgy.atum.items.artifacts; + +import com.teammetallurgy.atum.entity.EntityPharaoh; +import com.teammetallurgy.atum.entity.EntityStoneSoldier; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.client.particle.EntityCrit2FX; +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.Items; +import net.minecraft.item.EnumAction; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemAxe; +import net.minecraft.item.ItemStack; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import org.lwjgl.input.Keyboard; + +import java.util.Iterator; +import java.util.List; + +public class ItemMonthusStrike extends ItemAxe { + + public ItemMonthusStrike(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public int getMaxItemUseDuration(ItemStack par1ItemStack) { + return 7200; + } + + @Override + public EnumAction getItemUseAction(ItemStack par1ItemStack) { + return EnumAction.bow; + } + + @Override + public void onUpdate(ItemStack stack, World world, Entity player, int par4, boolean par5) { + } + + @Override + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPlayer player, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + if (j > 21) { + AxisAlignedBB bb = player.boundingBox.copy(); + bb = bb.expand(3.0D, 3.0D, 3.0D); + List list = world.getEntitiesWithinAABB(EntityLiving.class, bb); + Iterator i = list.iterator(); + + while (i.hasNext()) { + Entity entity = (Entity) i.next(); + if (entity != player && !(entity instanceof EntityStoneSoldier) && !(entity instanceof EntityPharaoh)) { + double dx = entity.posX - player.posX; + double dz = entity.posZ - player.posZ; + double magnitude = Math.sqrt(dx * dx + dz * dz); + dx /= magnitude; + dz /= magnitude; + entity.isAirBorne = true; + entity.addVelocity(dx * 2.5D, 0.3D, dz * 2.5D); + if (entity.motionY > 0.4000000059604645D) { + entity.motionY = 0.4000000059604645D; + } + + // ((EntityLiving) + // entity).attackEntityFrom(DamageSource.generic, + // this.getDamageVsEntity(entity, par1ItemStack)); + if (world.isRemote) { + this.spawnParticle(world, entity); + } + } + } + + par1ItemStack.damageItem(4, player); + } + } + + @SideOnly(Side.CLIENT) + public void spawnParticle(World world, Entity entity) { + Minecraft.getMinecraft().effectRenderer.addEffect(new EntityCrit2FX(world, entity)); + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + player.setItemInUse(stack, this.getMaxItemUseDuration(stack)); + return stack; + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + // @Override + // public float getDamageVsEntity(Entity par1Entity, ItemStack stack) { + // return 4 + super.toolMaterial.getDamageVsEntity(); + // } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:MonthusStrike"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java new file mode 100644 index 0000000..caf360d --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java @@ -0,0 +1,207 @@ +package com.teammetallurgy.atum.items.artifacts; + +import com.teammetallurgy.atum.entity.arrow.EntityArrowDoubleShot; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.*; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.entity.player.ArrowLooseEvent; +import net.minecraftforge.event.entity.player.ArrowNockEvent; +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemNeithsAudacity extends ItemBow { + + public static final String[] bowPullIconNameArray = new String[]{"neiths_pull_0", "neiths_pull_1", "neiths_pull_2"}; + @SideOnly(Side.CLIENT) + private IIcon[] iconArray; + + public ItemNeithsAudacity() { + super(); + super.maxStackSize = 1; + this.setMaxDamage(384); + this.setCreativeTab(CreativeTabs.tabCombat); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); + MinecraftForge.EVENT_BUS.post(event); + if (!event.isCanceled()) { + j = event.charge; + boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; + if (flag || par3EntityPlayer.inventory.hasItemStack(new ItemStack(Items.arrow, 2))) { + float f = (float) j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + if ((double) f < 0.1D) { + return; + } + + if (f > 1.0F) { + f = 1.0F; + } + + EntityArrowDoubleShot entityarrow = new EntityArrowDoubleShot(par2World, par3EntityPlayer, f * 2.0F); + EntityArrowDoubleShot entityarrow1 = new EntityArrowDoubleShot(par2World, par3EntityPlayer, f * 2.0F); + entityarrow.motionX += Math.random() * 0.4D - 0.2D; + entityarrow.motionY += Math.random() * 0.4D - 0.2D; + entityarrow.motionZ += Math.random() * 0.4D - 0.2D; + entityarrow1.motionX += Math.random() * 0.4D - 0.2D; + entityarrow1.motionY += Math.random() * 0.4D - 0.2D; + entityarrow1.motionZ += Math.random() * 0.4D - 0.2D; + entityarrow.setDamage(entityarrow.getDamage() + 0.5D); + entityarrow1.setDamage(entityarrow.getDamage() + 0.5D); + if (f == 1.0F) { + entityarrow.setIsCritical(true); + entityarrow1.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if (k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + entityarrow1.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if (l > 0) { + entityarrow.setKnockbackStrength(l); + entityarrow1.setKnockbackStrength(l); + } + + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); + entityarrow1.setFire(100); + } + + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + if (flag) { + entityarrow.canBePickedUp = 2; + entityarrow1.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); + } + + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + par2World.spawnEntityInWorld(entityarrow1); + } + } + + } + } + + @Override + public ItemStack onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { + return par1ItemStack; + } + + @Override + public int getMaxItemUseDuration(ItemStack par1ItemStack) { + return 72000; + } + + @Override + public EnumAction getItemUseAction(ItemStack par1ItemStack) { + return EnumAction.bow; + } + + @Override + public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { + ArrowNockEvent event = new ArrowNockEvent(par3EntityPlayer, par1ItemStack); + MinecraftForge.EVENT_BUS.post(event); + if (event.isCanceled()) { + return event.result; + } else { + if (par3EntityPlayer.capabilities.isCreativeMode || par3EntityPlayer.inventory.hasItem(Items.arrow)) { + par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack)); + } + + return par1ItemStack; + } + } + + @Override + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 18) { + return this.getItemIconForUseDuration(2); + } + + if (j > 13) { + return this.getItemIconForUseDuration(1); + } + + if (j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @Override + public int getItemEnchantability() { + return 1; + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[bowPullIconNameArray.length]; + this.itemIcon = par1IIconRegister.registerIcon("atum:NeithsAudacity"); + + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + } + + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java new file mode 100644 index 0000000..8dddbca --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java @@ -0,0 +1,90 @@ +package com.teammetallurgy.atum.items.artifacts; + +import com.teammetallurgy.atum.entity.EntityStoneSoldier; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.client.particle.EntityCrit2FX; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemSword; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemNusFlux extends ItemSword { + + public ItemNusFlux(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase entity, EntityLivingBase player) { + if (!player.worldObj.isRemote && Math.random() > 0.75D && !(entity instanceof EntityStoneSoldier)) { + double dx = entity.posX - player.posX; + double dz = entity.posZ - player.posZ; + double magnitude = Math.sqrt(dx * dx + dz * dz); + dx /= magnitude; + dz /= magnitude; + entity.isAirBorne = true; + entity.addVelocity(dx / 2.0D, 1.5D, dz / 2.0D); + if (entity.motionY > 1.0D) { + entity.motionY = 1.0D; + } + + // entity.attackEntityFrom(DamageSource.generic, + // this.getDamageVsEntity(entity, par1ItemStack)); + if (player.worldObj.isRemote) { + this.spawnParticle(player.worldObj, entity); + } + } + + return super.hitEntity(par1ItemStack, entity, player); + } + + @SideOnly(Side.CLIENT) + public void spawnParticle(World world, Entity entity) { + Minecraft.getMinecraft().effectRenderer.addEffect(new EntityCrit2FX(world, entity)); + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:NusFlux"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java new file mode 100644 index 0000000..0da475d --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java @@ -0,0 +1,70 @@ +package com.teammetallurgy.atum.items.artifacts; + +import com.teammetallurgy.atum.items.ItemTexturedArmor; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemNutsAgility extends ItemTexturedArmor { + + public ItemNutsAgility(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); + + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { + super.onArmorTick(world, player, itemStack); + + if (world.isRemote || itemStack == null || itemStack.getItem() != this) + return; + + player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 240, 1, true)); + player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 240, 1, true)); + + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:NutsAgility"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java new file mode 100644 index 0000000..f4339f0 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java @@ -0,0 +1,94 @@ +package com.teammetallurgy.atum.items.artifacts; + +import com.teammetallurgy.atum.entity.arrow.EntityNutsCall; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumAction; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemNutsCall extends Item { + + public ItemNutsCall() { + super(); + this.setMaxDamage(650); + this.setMaxStackSize(1); + + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public int getMaxItemUseDuration(ItemStack par1ItemStack) { + return 7200; + } + + @Override + public EnumAction getItemUseAction(ItemStack par1ItemStack) { + return EnumAction.bow; + } + + @SideOnly(Side.CLIENT) + public boolean shouldRotateAroundWhenRendering() { + return false; + } + + @Override + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPlayer player, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + if (j > 21) { + j = 21; + } + + EntityNutsCall spear = new EntityNutsCall(world, player, (float) j / 25.0F + 0.25F); + spear.setDamage(spear.getDamage() * 2.0D); + spear.setStack(par1ItemStack); + if (!world.isRemote) { + world.spawnEntityInWorld(spear); + world.updateEntity(spear); + } + + par1ItemStack.damageItem(4, player); + player.inventory.setInventorySlotContents(player.inventory.currentItem, (ItemStack) null); + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + player.setItemInUse(stack, this.getMaxItemUseDuration(stack)); + return stack; + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:NutsCall"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java new file mode 100644 index 0000000..c43effb --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java @@ -0,0 +1,76 @@ +package com.teammetallurgy.atum.items.artifacts; + +import com.teammetallurgy.atum.items.AtumItems; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemSword; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemOsirisWill extends ItemSword { + + public ItemOsirisWill(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + // @Override + // public float getDamageVsEntity(Entity par1Entity, ItemStack stack) { + // int damage = 0; + // + // for (int i = 0; i < 4; ++i) { + // damage = (int) ((double) damage + Math.random() * 4.0D + 1.0D); + // } + // return super.getDamageVsEntity(par1Entity, stack) + damage; + // } + + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { + if (!mob.isEntityAlive() && Math.random() < 0.5D && mob.getCreatureAttribute() == EnumCreatureAttribute.UNDEAD) { + mob.dropItem(AtumItems.ITEM_ECTOPLASM, 1); + } + + return super.hitEntity(par1ItemStack, mob, player); + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:OsirisWill"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java new file mode 100644 index 0000000..5613924 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java @@ -0,0 +1,70 @@ +package com.teammetallurgy.atum.items.artifacts; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +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.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemPickaxe; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import org.lwjgl.input.Keyboard; + +import java.util.List; +import java.util.Random; + +public class ItemPtahsDecadence extends ItemPickaxe { + + public ItemPtahsDecadence(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, Block block, int x, int y, int z, EntityLivingBase par7EntityLivingBase) { + Item dropID = block.getItemDropped(par2World.getBlockMetadata(x, y, z), new Random(), 0); + if (dropID == Items.diamond) { + Blocks.diamond_ore.dropBlockAsItem(par2World, x, y, z, 0, 0); + } + + return super.onBlockDestroyed(par1ItemStack, par2World, block, x, y, z, par7EntityLivingBase); + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:PtahsDecadence"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java new file mode 100644 index 0000000..7020142 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java @@ -0,0 +1,63 @@ +package com.teammetallurgy.atum.items.artifacts; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemPickaxe; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemPtahsDestruction extends ItemPickaxe { + + public ItemPtahsDestruction(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + super.efficiencyOnProperMaterial = 11.0F; + + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + // @Override + // public float getDamageVsEntity(Entity entity, ItemStack stack) { + // float damage = 4 + super.toolMaterial.getDamageVsEntity(); + // return entity instanceof EntityStoneSoldier ? (int) ((double) damage * + // (2.0D + Math.random())) : damage; + // } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:PtahsDestruction"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java new file mode 100644 index 0000000..f3c08ff --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java @@ -0,0 +1,71 @@ +package com.teammetallurgy.atum.items.artifacts; + +import com.teammetallurgy.atum.items.ItemTexturedArmor; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; + +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemRasGlory extends ItemTexturedArmor { + + public ItemRasGlory(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); + + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { + super.onArmorTick(world, player, itemStack); + + if (world.isRemote || itemStack == null || itemStack.getItem() != this) + return; + + if (world.getTotalWorldTime() % 10L == 0L) { + player.addPotionEffect(new PotionEffect(16, 220, 0, true)); + } + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:RasGlory"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java new file mode 100644 index 0000000..58b164c --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java @@ -0,0 +1,94 @@ +package com.teammetallurgy.atum.items.artifacts; + +import com.teammetallurgy.atum.items.ItemTexturedArmor; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.EntityDamageSource; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingHurtEvent; + +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemSekhmetsWrath extends ItemTexturedArmor { + + public ItemSekhmetsWrath(int par3, int par4) { + super(ArmorMaterial.DIAMOND, par3, par4); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { + super.onArmorTick(world, player, itemStack); + + if (world.isRemote || itemStack == null || itemStack.getItem() != this ) + return; + + player.addPotionEffect(new PotionEffect(12, 20, 0, true)); + } + + @SubscribeEvent + public void onLivingAttack(LivingAttackEvent event) { + if (event.entityLiving.getEquipmentInSlot(3) != null && event.entityLiving.getEquipmentInSlot(3).getItem() == this && event.source instanceof EntityDamageSource) { + EntityDamageSource source = (EntityDamageSource) event.source; + if (source.getEntity() != null && Math.random() > 0.5D) { + source.getEntity().setFire(10); + } + } + + } + + @SubscribeEvent + public void onLivingAttack(LivingHurtEvent event) { + if (event.entityLiving.getEquipmentInSlot(3) != null && event.entityLiving.getEquipmentInSlot(3).getItem() == this && event.source.isFireDamage()) { + event.ammount /= 2; + if (event.ammount == 0 && Math.random() > 0.5D) { + event.ammount = 1; + } + } + + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:SekhmetsWrath"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java new file mode 100644 index 0000000..e017515 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java @@ -0,0 +1,160 @@ +package com.teammetallurgy.atum.items.artifacts; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.projectile.EntityArrow; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemBow; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.entity.player.ArrowLooseEvent; +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemShusBreath extends ItemBow { + + public static final String[] bowPullIconNameArray = new String[]{"ShusBreath_pull_0", "ShusBreath_pull_1", "ShusBreath_pull_2"}; + IIcon[] iconArray; + + public ItemShusBreath() { + super(); + this.setMaxDamage(650); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + + ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); + MinecraftForge.EVENT_BUS.post(event); + if (event.isCanceled()) { + return; + } + j = event.charge; + + boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; + + if (flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { + float f = (float) j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + + if ((double) f < 0.1D) { + return; + } + + if (f > 1.0F) { + f = 1.0F; + } + + EntityArrow entityarrow = new EntityArrow(par2World, par3EntityPlayer, f * 2.0F); + + if (f == 1.0F) { + entityarrow.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + + if (k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + + if (l > 0) { + entityarrow.setKnockbackStrength(l); + } + + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); + } + + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + + if (flag) { + entityarrow.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); + } + + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + } + } + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[bowPullIconNameArray.length]; + this.itemIcon = par1IIconRegister.registerIcon("atum:ShusBreath"); + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + } + + } + + @Override + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 9) { + return this.getItemIconForUseDuration(2); + } + + if (j > 5) { + return this.getItemIconForUseDuration(1); + } + + if (j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java new file mode 100644 index 0000000..ca02aac --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java @@ -0,0 +1,74 @@ +package com.teammetallurgy.atum.items.artifacts; + +import com.teammetallurgy.atum.entity.EntityPharaoh; +import com.teammetallurgy.atum.entity.EntityStoneSoldier; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemAxe; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.MathHelper; +import net.minecraft.util.StatCollector; +import org.lwjgl.input.Keyboard; + +import java.util.List; + +public class ItemSobeksRage extends ItemAxe { + + public ItemSobeksRage(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + // @Override + // public float getDamageVsEntity(Entity entity, ItemStack stack) { + // return 4 + super.toolMaterial.getDamageVsEntity(); + // } + + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { + if (!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { + float j = 4.0F; + mob.addVelocity((double) (-MathHelper.sin(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F), 0.1D, (double) (MathHelper.cos(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F)); + } + + return super.hitEntity(par1ItemStack, mob, player); + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:SobeksRage"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/proxy/ClientProxy.java b/src/main/java/com/teammetallurgy/atum/proxy/ClientProxy.java new file mode 100644 index 0000000..6947f06 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/proxy/ClientProxy.java @@ -0,0 +1,124 @@ +package com.teammetallurgy.atum.proxy; + +import com.teammetallurgy.atum.handler.AtumConfig; +import com.teammetallurgy.atum.handler.event.AtumFogEventListener; +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.BlockDate; +import com.teammetallurgy.atum.blocks.BlockPapyrus; +import com.teammetallurgy.atum.client.model.entity.ModelDesertWolf; +import com.teammetallurgy.atum.client.model.entity.ModelDustySkeleton; +import com.teammetallurgy.atum.client.render.entity.RenderBandit; +import com.teammetallurgy.atum.client.render.entity.RenderDesertWolf; +import com.teammetallurgy.atum.client.render.entity.RenderGhost; +import com.teammetallurgy.atum.client.render.entity.RenderPharaoh; +import com.teammetallurgy.atum.client.render.entity.arrow.RenderCustomArrow; +import com.teammetallurgy.atum.client.render.entity.arrow.RenderNutsCall; +import com.teammetallurgy.atum.client.render.item.RendererItemBow; +import com.teammetallurgy.atum.client.render.tileentity.RenderDate; +import com.teammetallurgy.atum.client.render.tileentity.RenderPapyrus; +import com.teammetallurgy.atum.entity.*; +import com.teammetallurgy.atum.entity.arrow.CustomArrow; +import com.teammetallurgy.atum.entity.arrow.EntityAtumFishHook; +import com.teammetallurgy.atum.entity.arrow.EntityNutsCall; +import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.handler.event.ClientEvents; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.common.FMLCommonHandler; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelZombie; +import net.minecraft.client.renderer.entity.RenderBiped; +import net.minecraft.client.renderer.entity.RenderFish; +import net.minecraft.client.renderer.entity.RenderLiving; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.MinecraftForgeClient; +import net.minecraftforge.common.MinecraftForge; + +public class ClientProxy extends CommonProxy { + + @Override + public void init() { + ClientEvents ticker = new ClientEvents(); + FMLCommonHandler.instance().bus().register(ticker); + + MinecraftForge.EVENT_BUS.register(AtumItems.anubisMercy); + MinecraftForge.EVENT_BUS.register(AtumItems.gebsSolidarity); + MinecraftForge.EVENT_BUS.register(AtumItems.horusFlight); + MinecraftForge.EVENT_BUS.register(AtumItems.maatsBalance); + MinecraftForge.EVENT_BUS.register(AtumItems.mnevisHorns); + MinecraftForge.EVENT_BUS.register(AtumItems.sekhmetsWrath); + + if (AtumConfig.FOG_ENABLED) { + MinecraftForge.EVENT_BUS.register(new AtumFogEventListener()); + } + } + + @Override + public void initRenders() { + MinecraftForgeClient.registerItemRenderer(AtumItems.ITEM_BOW, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.atensFury, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.horusSoaring, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.neithsAudacity, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.shusBreath, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.hedetetsVenom, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.monthusBlast, new RendererItemBow()); + RenderingRegistry.registerBlockHandler(((BlockPapyrus) AtumBlocks.BLOCK_PAPYRUS).renderID, new RenderPapyrus()); + RenderingRegistry.registerBlockHandler(((BlockDate) AtumBlocks.BLOCK_DATEBLOCK).renderID, new RenderDate()); + + RenderingRegistry.registerEntityRenderingHandler(EntityMummy.class, new RenderLiving(new ModelZombie(), 0.5F) { + + @Override + protected ResourceLocation getEntityTexture(Entity entity) { + return new ResourceLocation("atum", "textures/entities/Mummy.png"); + } + }); + RenderingRegistry.registerEntityRenderingHandler(EntityBanditWarrior.class, new RenderBiped(new ModelBiped(), 0.5F) { + @Override + protected ResourceLocation getEntityTexture(Entity par1Entity) { + return new ResourceLocation("atum", "textures/entities/BanditWarrior.png"); + } + }); + RenderingRegistry.registerEntityRenderingHandler(EntityBarbarian.class, new RenderBiped(new ModelBiped(), 0.5F) { + @Override + protected ResourceLocation getEntityTexture(Entity par1Entity) { + return new ResourceLocation("atum", "textures/entities/Barbarian.png"); + } + }); + RenderingRegistry.registerEntityRenderingHandler(EntityBanditArcher.class, new RenderBandit(new ModelBiped(), 0.5F) { + @Override + protected ResourceLocation getEntityTexture(Entity par1Entity) { + return new ResourceLocation("atum", "textures/entities/BanditArcher.png"); + } + }); + RenderingRegistry.registerEntityRenderingHandler(EntityBanditWarlord.class, new RenderBiped(new ModelBiped(), 0.5F) { + @Override + protected ResourceLocation getEntityTexture(Entity par1Entity) { + return new ResourceLocation("atum", "textures/entities/BanditWarlord.png"); + } + }); + + RenderingRegistry.registerEntityRenderingHandler(EntityPharaoh.class, new RenderPharaoh(new ModelBiped(), 0.5F)); + + RenderingRegistry.registerEntityRenderingHandler(EntityDustySkeleton.class, new RenderBiped(new ModelDustySkeleton(), 0.5F) { + @Override + protected ResourceLocation getEntityTexture(Entity par1Entity) { + return new ResourceLocation("atum", "textures/entities/DustySkeleton.png"); + } + }); + + RenderingRegistry.registerEntityRenderingHandler(EntityGhost.class, new RenderGhost(new ModelZombie(), 0.5F)); + RenderingRegistry.registerEntityRenderingHandler(EntityStoneSoldier.class, new RenderBiped(new ModelBiped(), 0.5F) { + @Override + protected ResourceLocation getEntityTexture(Entity par1Entity) { + return new ResourceLocation("atum", "textures/entities/StoneSoldier.png"); + } + }); + + RenderingRegistry.registerEntityRenderingHandler(EntityDesertWolf.class, new RenderDesertWolf(new ModelDesertWolf(), new ModelDesertWolf(), 0.5F)); + + RenderingRegistry.registerEntityRenderingHandler(CustomArrow.class, new RenderCustomArrow()); + RenderingRegistry.registerEntityRenderingHandler(EntityNutsCall.class, new RenderNutsCall()); + RenderingRegistry.registerEntityRenderingHandler(EntityAtumFishHook.class, new RenderFish()); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/proxy/CommonProxy.java b/src/main/java/com/teammetallurgy/atum/proxy/CommonProxy.java new file mode 100644 index 0000000..e66b83a --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/proxy/CommonProxy.java @@ -0,0 +1,20 @@ +package com.teammetallurgy.atum.proxy; + +import com.teammetallurgy.atum.handler.event.ServerEvents; + +import cpw.mods.fml.common.FMLCommonHandler; + +public class CommonProxy { + + public void init() { + ServerEvents ticker = new ServerEvents(); + FMLCommonHandler.instance().bus().register(ticker); + } + + public void initRenders() { + } + + public void initTiles() { + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/utils/Constants.java b/src/main/java/com/teammetallurgy/atum/utils/Constants.java new file mode 100644 index 0000000..398d11d --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/utils/Constants.java @@ -0,0 +1,21 @@ +package com.teammetallurgy.atum.utils; + +import org.apache.logging.log4j.Logger; + +public class Constants { + + public static final String MODID = "atum"; + public static final String MOD_NAME = "Atum"; + public static final String VERSION = "0.6"; + public static final String CLIENT = "com.teammetallurgy.atum.proxy.ClientProxy"; + public static final String SERVER = "com.teammetallurgy.atum.proxy.CommonProxy"; + public static final String FACTORY = "com.teammetallurgy.atum.gui.AtumGuiFactory"; + public static final String DEPENDENCIES = "required-after:Forge@[10.13.0.1199,);"; + + public static Logger LOG; + + public static final String[] COLOURS = {"Black", "Red", "Green", "Brown", "Blue", "Purple", "Cyan", "Silver", "Gray", "Pink", "Lime", "Yellow", "LightBlue", "Magenta", "Orange", "White"}; + + public static final String[] ORE_DIC_COLOURS = {"Black", "Red", "Green", "Brown", "Blue", "Purple", "Cyan", "LightGray", "Gray", "Pink", "Lime", "Yellow", "LightBlue", "Magenta", "Orange", "White" }; + +} diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumChunkProvider.java b/src/main/java/com/teammetallurgy/atum/world/AtumChunkProvider.java new file mode 100644 index 0000000..d380c6c --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/world/AtumChunkProvider.java @@ -0,0 +1,534 @@ +package com.teammetallurgy.atum.world; + +import com.teammetallurgy.atum.blocks.AtumBlocks; +import cpw.mods.fml.common.eventhandler.Event.Result; +import net.minecraft.block.Block; +import net.minecraft.block.BlockFalling; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EnumCreatureType; +import net.minecraft.init.Blocks; +import net.minecraft.util.IProgressUpdate; +import net.minecraft.util.MathHelper; +import net.minecraft.world.ChunkPosition; +import net.minecraft.world.SpawnerAnimals; +import net.minecraft.world.World; +import net.minecraft.world.WorldType; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.chunk.Chunk; +import net.minecraft.world.chunk.IChunkProvider; +import net.minecraft.world.gen.*; +import net.minecraft.world.gen.structure.MapGenScatteredFeature; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.terraingen.ChunkProviderEvent; +import net.minecraftforge.event.terraingen.PopulateChunkEvent; +import net.minecraftforge.event.terraingen.TerrainGen; + +import java.util.List; +import java.util.Random; + +import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.CAVE; +import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.RAVINE; +import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.*; + +public class AtumChunkProvider implements IChunkProvider { + + /** + * are map structures going to be generated (e.g. strongholds) + */ + private final boolean mapFeaturesEnabled; + private final double[] field_147434_q; + private final float[] parabolicField; + /** + * A NoiseGeneratorOctaves used in generating terrain + */ + public NoiseGeneratorOctaves noiseGen5; + /** + * A NoiseGeneratorOctaves used in generating terrain + */ + public NoiseGeneratorOctaves noiseGen6; + public NoiseGeneratorOctaves mobSpawnerNoise; + double[] field_147427_d; + double[] field_147428_e; + double[] field_147425_f; + double[] field_147426_g; + /** + * RNG. + */ + private Random rand; + private NoiseGeneratorOctaves field_147431_j; + private NoiseGeneratorOctaves field_147432_k; + private NoiseGeneratorOctaves field_147429_l; + private NoiseGeneratorPerlin field_147430_m; + /** + * Reference to the World object. + */ + private World worldObj; + private WorldType field_147435_p; + private double[] stoneNoise = new double[256]; + private MapGenBase caveGenerator = new MapGenCaves(); + private MapGenScatteredFeature scatteredFeatureGenerator = new MapGenScatteredFeature(); + /** + * Holds ravine generator + */ + private MapGenBase ravineGenerator = new MapGenRavine(); + /** + * The biomes that are used to generate the chunk + */ + private BiomeGenBase[] biomesForGeneration; + + { + caveGenerator = TerrainGen.getModdedMapGen(caveGenerator, CAVE); + ravineGenerator = TerrainGen.getModdedMapGen(ravineGenerator, RAVINE); + } + + public AtumChunkProvider(World par1World, long par2, boolean par4) { + this.worldObj = par1World; + this.mapFeaturesEnabled = par4; + this.field_147435_p = par1World.getWorldInfo().getTerrainType(); + this.rand = new Random(par2); + this.field_147431_j = new NoiseGeneratorOctaves(this.rand, 16); + this.field_147432_k = new NoiseGeneratorOctaves(this.rand, 16); + this.field_147429_l = new NoiseGeneratorOctaves(this.rand, 8); + this.field_147430_m = new NoiseGeneratorPerlin(this.rand, 4); + this.noiseGen5 = new NoiseGeneratorOctaves(this.rand, 10); + this.noiseGen6 = new NoiseGeneratorOctaves(this.rand, 16); + this.mobSpawnerNoise = new NoiseGeneratorOctaves(this.rand, 8); + this.field_147434_q = new double[825]; + this.parabolicField = new float[25]; + + for (int j = -2; j <= 2; ++j) { + for (int k = -2; k <= 2; ++k) { + float f = 10.0F / MathHelper.sqrt_float((float) (j * j + k * k) + 0.2F); + this.parabolicField[j + 2 + (k + 2) * 5] = f; + } + } + + NoiseGenerator[] noiseGens = {field_147431_j, field_147432_k, field_147429_l, field_147430_m, noiseGen5, noiseGen6, mobSpawnerNoise}; + noiseGens = TerrainGen.getModdedNoiseGenerators(par1World, this.rand, noiseGens); + this.field_147431_j = (NoiseGeneratorOctaves) noiseGens[0]; + this.field_147432_k = (NoiseGeneratorOctaves) noiseGens[1]; + this.field_147429_l = (NoiseGeneratorOctaves) noiseGens[2]; + this.field_147430_m = (NoiseGeneratorPerlin) noiseGens[3]; + this.noiseGen5 = (NoiseGeneratorOctaves) noiseGens[4]; + this.noiseGen6 = (NoiseGeneratorOctaves) noiseGens[5]; + this.mobSpawnerNoise = (NoiseGeneratorOctaves) noiseGens[6]; + } + + public void func_147424_a(int p_147424_1_, int p_147424_2_, Block[] p_147424_3_) { + byte b0 = 63; + this.biomesForGeneration = this.worldObj.getWorldChunkManager().getBiomesForGeneration(this.biomesForGeneration, p_147424_1_ * 4 - 2, p_147424_2_ * 4 - 2, 10, 10); + this.func_147423_a(p_147424_1_ * 4, 0, p_147424_2_ * 4); + + for (int k = 0; k < 4; ++k) { + int l = k * 5; + int i1 = (k + 1) * 5; + + for (int j1 = 0; j1 < 4; ++j1) { + int k1 = (l + j1) * 33; + int l1 = (l + j1 + 1) * 33; + int i2 = (i1 + j1) * 33; + int j2 = (i1 + j1 + 1) * 33; + + for (int k2 = 0; k2 < 32; ++k2) { + double d0 = 0.125D; + double d1 = this.field_147434_q[k1 + k2]; + double d2 = this.field_147434_q[l1 + k2]; + double d3 = this.field_147434_q[i2 + k2]; + double d4 = this.field_147434_q[j2 + k2]; + double d5 = (this.field_147434_q[k1 + k2 + 1] - d1) * d0; + double d6 = (this.field_147434_q[l1 + k2 + 1] - d2) * d0; + double d7 = (this.field_147434_q[i2 + k2 + 1] - d3) * d0; + double d8 = (this.field_147434_q[j2 + k2 + 1] - d4) * d0; + + for (int l2 = 0; l2 < 8; ++l2) { + double d9 = 0.25D; + double d10 = d1; + double d11 = d2; + double d12 = (d3 - d1) * d9; + double d13 = (d4 - d2) * d9; + + for (int i3 = 0; i3 < 4; ++i3) { + int j3 = i3 + k * 4 << 12 | 0 + j1 * 4 << 8 | k2 * 8 + l2; + short short1 = 256; + j3 -= short1; + double d14 = 0.25D; + double d16 = (d11 - d10) * d14; + double d15 = d10 - d16; + + for (int k3 = 0; k3 < 4; ++k3) { + if ((d15 += d16) > 0.0D) { + p_147424_3_[j3 += short1] = AtumBlocks.BLOCK_STONE; + } else if (k2 * 8 + l2 < b0) { + p_147424_3_[j3 += short1] = AtumBlocks.BLOCK_STONE; + } else { + p_147424_3_[j3 += short1] = null; + } + } + + d10 += d12; + d11 += d13; + } + + d1 += d5; + d2 += d6; + d3 += d7; + d4 += d8; + } + } + } + } + } + + public void replaceBlocksForBiome(int p_147422_1_, int p_147422_2_, Block[] p_147422_3_, byte[] p_147422_4_, BiomeGenBase[] p_147422_5_) { + ChunkProviderEvent.ReplaceBiomeBlocks event = new ChunkProviderEvent.ReplaceBiomeBlocks(this, p_147422_1_, p_147422_2_, p_147422_3_, p_147422_5_); + MinecraftForge.EVENT_BUS.post(event); + if (event.getResult() == Result.DENY) + return; + + double d0 = 0.03125D; + this.stoneNoise = this.field_147430_m.func_151599_a(this.stoneNoise, (double) (p_147422_1_ * 16), (double) (p_147422_2_ * 16), 16, 16, d0 * 2.0D, d0 * 2.0D, 1.0D); + + for (int k = 0; k < 16; ++k) { + for (int l = 0; l < 16; ++l) { + BiomeGenBase biomegenbase = p_147422_5_[l + k * 16]; + genBiomeTerrain(this.worldObj, biomegenbase, this.rand, p_147422_3_, p_147422_4_, p_147422_1_ * 16 + k, p_147422_2_ * 16 + l, this.stoneNoise[l + k * 16]); + } + } + } + + public void genBiomeTerrain(World p_150560_1_, BiomeGenBase biomegenbase, Random p_150560_2_, Block[] p_150560_3_, byte[] p_150560_4_, int p_150560_5_, int p_150560_6_, double p_150560_7_) { + boolean flag = true; + Block block = biomegenbase.topBlock; + byte b0 = (byte) (biomegenbase.field_150604_aj & 255); + Block block1 = biomegenbase.fillerBlock; + int k = -1; + int l = (int) (p_150560_7_ / 3.0D + 3.0D + p_150560_2_.nextDouble() * 0.25D); + int i1 = p_150560_5_ & 15; + int j1 = p_150560_6_ & 15; + int k1 = p_150560_3_.length / 256; + + for (int l1 = 255; l1 >= 0; --l1) { + int i2 = (j1 * 16 + i1) * k1 + l1; + + if (l1 <= 0 + p_150560_2_.nextInt(5)) { + p_150560_3_[i2] = Blocks.bedrock; + } else { + Block block2 = p_150560_3_[i2]; + + if (block2 != null && block2.getMaterial() != Material.air) { + if (block2 == AtumBlocks.BLOCK_STONE) { + if (k == -1) { + if (l <= 0) { + block = null; + b0 = 0; + block1 = AtumBlocks.BLOCK_STONE; + } else if (l1 >= 59 && l1 <= 64) { + block = biomegenbase.topBlock; + b0 = (byte) (biomegenbase.field_150604_aj & 255); + block1 = biomegenbase.fillerBlock; + } + + if (l1 < 63 && (block == null || block.getMaterial() == Material.air)) { + if (biomegenbase.getFloatTemperature(p_150560_5_, l1, p_150560_6_) < 0.15F) { + block = Blocks.ice; + b0 = 0; + } else { + block = Blocks.water; + b0 = 0; + } + } + + k = l; + + if (l1 >= 62) { + p_150560_3_[i2] = block; + p_150560_4_[i2] = b0; + } else if (l1 < 56 - l) { + block = null; + block1 = Blocks.stone; + p_150560_3_[i2] = Blocks.gravel; + } else { + p_150560_3_[i2] = block1; + } + } else if (k > 0) { + --k; + p_150560_3_[i2] = block1; + + if (k == 0 && block1 == Blocks.sand) { + k = p_150560_2_.nextInt(4) + Math.max(0, l1 - 63); + block1 = Blocks.sandstone; + } + } + } + } else { + k = -1; + } + } + } + } + + /** + * loads or generates the chunk at the chunk location specified + */ + public Chunk loadChunk(int par1, int par2) { + return this.provideChunk(par1, par2); + } + + /** + * Will return back a chunk, if it doesn't exist and its not a MP client it + * will generates all the blocks for the specified chunk from the map seed + * and chunk seed + */ + public Chunk provideChunk(int par1, int par2) { + this.rand.setSeed((long) par1 * 341873128712L + (long) par2 * 132897987541L); + Block[] ablock = new Block[65536]; + byte[] abyte = new byte[65536]; + this.func_147424_a(par1, par2, ablock); + this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, par1 * 16, par2 * 16, 16, 16); + this.replaceBlocksForBiome(par1, par2, ablock, abyte, this.biomesForGeneration); + this.caveGenerator.func_151539_a(this, this.worldObj, par1, par2, ablock); + this.ravineGenerator.func_151539_a(this, this.worldObj, par1, par2, ablock); + + if (this.mapFeaturesEnabled) { + this.scatteredFeatureGenerator.func_151539_a(this, this.worldObj, par1, par2, ablock); + } + + Chunk chunk = new Chunk(this.worldObj, ablock, abyte, par1, par2); + byte[] abyte1 = chunk.getBiomeArray(); + + for (int k = 0; k < abyte1.length; ++k) { + abyte1[k] = (byte) this.biomesForGeneration[k].biomeID; + } + + chunk.generateSkylightMap(); + return chunk; + } + + private void func_147423_a(int p_147423_1_, int p_147423_2_, int p_147423_3_) { + double d0 = 684.412D; + double d1 = 684.412D; + double d2 = 512.0D; + double d3 = 512.0D; + this.field_147426_g = this.noiseGen6.generateNoiseOctaves(this.field_147426_g, p_147423_1_, p_147423_3_, 5, 5, 200.0D, 200.0D, 0.5D); + this.field_147427_d = this.field_147429_l.generateNoiseOctaves(this.field_147427_d, p_147423_1_, p_147423_2_, p_147423_3_, 5, 33, 5, 8.555150000000001D, 4.277575000000001D, 8.555150000000001D); + this.field_147428_e = this.field_147431_j.generateNoiseOctaves(this.field_147428_e, p_147423_1_, p_147423_2_, p_147423_3_, 5, 33, 5, 684.412D, 684.412D, 684.412D); + this.field_147425_f = this.field_147432_k.generateNoiseOctaves(this.field_147425_f, p_147423_1_, p_147423_2_, p_147423_3_, 5, 33, 5, 684.412D, 684.412D, 684.412D); + boolean flag1 = false; + boolean flag = false; + int l = 0; + int i1 = 0; + double d4 = 8.5D; + + for (int j1 = 0; j1 < 5; ++j1) { + for (int k1 = 0; k1 < 5; ++k1) { + float f = 0.0F; + float f1 = 0.0F; + float f2 = 0.0F; + byte b0 = 2; + BiomeGenBase biomegenbase = this.biomesForGeneration[j1 + 2 + (k1 + 2) * 10]; + + for (int l1 = -b0; l1 <= b0; ++l1) { + for (int i2 = -b0; i2 <= b0; ++i2) { + BiomeGenBase biomegenbase1 = this.biomesForGeneration[j1 + l1 + 2 + (k1 + i2 + 2) * 10]; + float f3 = biomegenbase1.rootHeight; + float f4 = biomegenbase1.heightVariation; + + if (this.field_147435_p == WorldType.AMPLIFIED && f3 > 0.0F) { + f3 = 1.0F + f3 * 2.0F; + f4 = 1.0F + f4 * 4.0F; + } + + float f5 = this.parabolicField[l1 + 2 + (i2 + 2) * 5] / (f3 + 2.0F); + + if (biomegenbase1.rootHeight > biomegenbase.rootHeight) { + f5 /= 2.0F; + } + + f += f4 * f5; + f1 += f3 * f5; + f2 += f5; + } + } + + f /= f2; + f1 /= f2; + f = f * 0.9F + 0.1F; + f1 = (f1 * 4.0F - 1.0F) / 8.0F; + double d12 = this.field_147426_g[i1] / 8000.0D; + + if (d12 < 0.0D) { + d12 = -d12 * 0.3D; + } + + d12 = d12 * 3.0D - 2.0D; + + if (d12 < 0.0D) { + d12 /= 2.0D; + + if (d12 < -1.0D) { + d12 = -1.0D; + } + + d12 /= 1.4D; + d12 /= 2.0D; + } else { + if (d12 > 1.0D) { + d12 = 1.0D; + } + + d12 /= 8.0D; + } + + ++i1; + double d13 = (double) f1; + double d14 = (double) f; + d13 += d12 * 0.2D; + d13 = d13 * 8.5D / 8.0D; + double d5 = 8.5D + d13 * 4.0D; + + for (int j2 = 0; j2 < 33; ++j2) { + double d6 = ((double) j2 - d5) * 12.0D * 128.0D / 256.0D / d14; + + if (d6 < 0.0D) { + d6 *= 4.0D; + } + + double d7 = this.field_147428_e[l] / 512.0D; + double d8 = this.field_147425_f[l] / 512.0D; + double d9 = (this.field_147427_d[l] / 10.0D + 1.0D) / 2.0D; + double d10 = MathHelper.denormalizeClamp(d7, d8, d9) - d6; + + if (j2 > 29) { + double d11 = (double) ((float) (j2 - 29) / 3.0F); + d10 = d10 * (1.0D - d11) + -10.0D * d11; + } + + this.field_147434_q[l] = d10; + ++l; + } + } + } + } + + /** + * Checks to see if a chunk exists at x, y + */ + public boolean chunkExists(int par1, int par2) { + return true; + } + + /** + * Populates chunk with ores etc etc + */ + public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { + BlockFalling.fallInstantly = true; + int k = par2 * 16; + int l = par3 * 16; + BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(k + 16, l + 16); + this.rand.setSeed(this.worldObj.getSeed()); + long i1 = this.rand.nextLong() / 2L * 2L + 1L; + long j1 = this.rand.nextLong() / 2L * 2L + 1L; + this.rand.setSeed((long) par2 * i1 + (long) par3 * j1 ^ this.worldObj.getSeed()); + boolean flag = false; + + MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(par1IChunkProvider, worldObj, rand, par2, par3, flag)); + + if (this.mapFeaturesEnabled) { + this.scatteredFeatureGenerator.generateStructuresInChunk(this.worldObj, this.rand, par2, par3); + } + + int k1; + int l1; + int i2; + + boolean doGen = TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, DUNGEON); + + biomegenbase.decorate(this.worldObj, this.rand, k, l); + if (TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, ANIMALS)) { + SpawnerAnimals.performWorldGenSpawning(this.worldObj, biomegenbase, k + 8, l + 8, 16, 16, this.rand); + } + k += 8; + l += 8; + + doGen = TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, ICE); + for (k1 = 0; doGen && k1 < 16; ++k1) { + for (l1 = 0; l1 < 16; ++l1) { + i2 = this.worldObj.getPrecipitationHeight(k + k1, l + l1); + + if (this.worldObj.isBlockFreezable(k1 + k, i2 - 1, l1 + l)) { + this.worldObj.setBlock(k1 + k, i2 - 1, l1 + l, Blocks.ice, 0, 2); + } + + if (this.worldObj.func_147478_e(k1 + k, i2, l1 + l, true)) { + this.worldObj.setBlock(k1 + k, i2, l1 + l, Blocks.snow_layer, 0, 2); + } + } + } + + MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Post(par1IChunkProvider, worldObj, rand, par2, par3, flag)); + + BlockFalling.fallInstantly = false; + } + + /** + * Two modes of operation: if passed true, save all Chunks in one go. If + * passed false, save up to two chunks. Return true if all chunks have been + * saved. + */ + public boolean saveChunks(boolean par1, IProgressUpdate par2IProgressUpdate) { + return true; + } + + /** + * Save extra data not associated with any Chunk. Not saved during autosave, + * only during world unload. Currently unimplemented. + */ + public void saveExtraData() { + } + + /** + * Unloads chunks that are marked to be unloaded. This is not guaranteed to + * unload every such chunk. + */ + public boolean unloadQueuedChunks() { + return false; + } + + /** + * Returns if the IChunkProvider supports saving. + */ + public boolean canSave() { + return true; + } + + /** + * Converts the instance data to a readable string. + */ + public String makeString() { + return "RandomLevelSource"; + } + + /** + * Returns a list of creatures of the specified type that can spawn at the + * given location. + */ + public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2, int par3, int par4) { + BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(par2, par4); + return par1EnumCreatureType == EnumCreatureType.monster && this.scatteredFeatureGenerator.func_143030_a(par2, par3, par4) ? this.scatteredFeatureGenerator.getScatteredFeatureSpawnList() : biomegenbase.getSpawnableList(par1EnumCreatureType); + } + + public int getLoadedChunkCount() { + return 0; + } + + public void recreateStructures(int par1, int par2) { + if (this.mapFeaturesEnabled) { + this.scatteredFeatureGenerator.func_151539_a(this, this.worldObj, par1, par2, (Block[]) null); + } + } + + @Override + public ChunkPosition func_147416_a(World var1, String var2, int var3, int var4, int var5) { + return null; + } +} \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java b/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java new file mode 100644 index 0000000..3e9a733 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java @@ -0,0 +1,85 @@ +package com.teammetallurgy.atum.world; + +import net.minecraft.util.ChunkCoordinates; + +public class AtumPortalPosition implements Comparable { + + + public int posX; + /** + * the y coordinate + */ + public int posY; + /** + * the z coordinate + */ + public int posZ; + public long lastUpdateTime; + + public AtumPortalPosition(int par2, int par3, int par4, long par5) { + this(par2, par3, par4); + this.lastUpdateTime = par5; + } + + + private AtumPortalPosition(int p_i1354_1_, int p_i1354_2_, int p_i1354_3_) { + this.posX = p_i1354_1_; + this.posY = p_i1354_2_; + this.posZ = p_i1354_3_; + } + + private AtumPortalPosition(ChunkCoordinates p_i1355_1_) { + this.posX = p_i1355_1_.posX; + this.posY = p_i1355_1_.posY; + this.posZ = p_i1355_1_.posZ; + } + + public boolean equals(Object p_equals_1_) { + if (!(p_equals_1_ instanceof ChunkCoordinates)) { + return false; + } else { + ChunkCoordinates chunkcoordinates = (ChunkCoordinates) p_equals_1_; + return this.posX == chunkcoordinates.posX && this.posY == chunkcoordinates.posY && this.posZ == chunkcoordinates.posZ; + } + } + + public int hashCode() { + return this.posX + this.posZ << 8 + this.posY << 16; + } + + public int compareTo(ChunkCoordinates p_compareTo_1_) { + return this.posY == p_compareTo_1_.posY ? (this.posZ == p_compareTo_1_.posZ ? this.posX - p_compareTo_1_.posX : this.posZ - p_compareTo_1_.posZ) : this.posY - p_compareTo_1_.posY; + } + + public void set(int p_71571_1_, int p_71571_2_, int p_71571_3_) { + this.posX = p_71571_1_; + this.posY = p_71571_2_; + this.posZ = p_71571_3_; + } + + /** + * Returns the squared distance between this coordinates and the coordinates given as argument. + */ + public float getDistanceSquared(int p_71569_1_, int p_71569_2_, int p_71569_3_) { + float f = (float) (this.posX - p_71569_1_); + float f1 = (float) (this.posY - p_71569_2_); + float f2 = (float) (this.posZ - p_71569_3_); + return f * f + f1 * f1 + f2 * f2; + } + + /** + * Return the squared distance between this coordinates and the ChunkCoordinates given as argument. + */ + public float getDistanceSquaredToChunkCoordinates(ChunkCoordinates p_82371_1_) { + return this.getDistanceSquared(p_82371_1_.posX, p_82371_1_.posY, p_82371_1_.posZ); + } + + public String toString() { + return "Pos{x=" + this.posX + ", y=" + this.posY + ", z=" + this.posZ + '}'; + } + + public int compareTo(Object p_compareTo_1_) { + return this.compareTo((ChunkCoordinates) p_compareTo_1_); + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java b/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java new file mode 100644 index 0000000..a7edf20 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java @@ -0,0 +1,412 @@ +package com.teammetallurgy.atum.world; + +import com.teammetallurgy.atum.blocks.AtumBlocks; +import net.minecraft.block.Block; +import net.minecraft.entity.Entity; +import net.minecraft.init.Blocks; +import net.minecraft.util.Direction; +import net.minecraft.util.LongHashMap; +import net.minecraft.util.MathHelper; +import net.minecraft.world.ChunkCoordIntPair; +import net.minecraft.world.Teleporter; +import net.minecraft.world.WorldServer; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Random; + +public class AtumTeleporter extends Teleporter { + + private final WorldServer worldServerInstance; + private final Random random; + + private final LongHashMap destinationCoordinateCache = new LongHashMap(); + private final List destinationCoordinateKeys = new ArrayList(); + + public AtumTeleporter(WorldServer worldServer) { + super(worldServer); + this.worldServerInstance = worldServer; + this.random = new Random(worldServer.getSeed()); + } + + @Override + public void placeInPortal(Entity entityPlayer, double par2, double par4, double par6, float par8) { + if (this.worldServerInstance.provider.dimensionId != 1) { + if (!this.placeInExistingPortal(entityPlayer, par2, par4, par6, par8)) { + this.makePortal(entityPlayer); + this.placeInExistingPortal(entityPlayer, par2, par4, par6, par8); + } + } else { + int x = MathHelper.floor_double(entityPlayer.posX); + int y = MathHelper.floor_double(entityPlayer.posY) - 1; + int z = MathHelper.floor_double(entityPlayer.posZ); + byte b0 = 1; + byte b1 = 0; + + for (int l = -2; l <= 2; ++l) { + for (int i1 = -2; i1 <= 2; ++i1) { + for (int j1 = -1; j1 < 3; ++j1) { + int k1 = x + i1 * b0 + l * b1; + int l1 = y + j1; + int i2 = z + i1 * b1 - l * b0; + boolean flag = j1 < 0; + this.worldServerInstance.setBlock(k1, l1, i2, flag ? Blocks.sandstone : Blocks.air); + } + } + } + + entityPlayer.setLocationAndAngles((double) x, (double) y, (double) z, entityPlayer.rotationYaw, 0.0F); + entityPlayer.motionX = entityPlayer.motionY = entityPlayer.motionZ = 0.0D; + } + + } + + @Override + public boolean placeInExistingPortal(Entity par1Entity, double posX, double posY, double posZ, float par8) { + short short1 = 128; + double d3 = -1.0D; + int x = 0; + int y = 0; + int z = 0; + int l = MathHelper.floor_double(par1Entity.posX); + int i1 = MathHelper.floor_double(par1Entity.posZ); + long j1 = ChunkCoordIntPair.chunkXZ2Int(l, i1); + boolean flag = true; + double d4; + int k1; + int k2; + double var46; + if (this.destinationCoordinateCache.containsItem(j1)) { + AtumPortalPosition portalposition = (AtumPortalPosition) this.destinationCoordinateCache.getValueByKey(j1); + d3 = 0.0D; + x = portalposition.posX; + y = portalposition.posY; + z = portalposition.posZ; + portalposition.lastUpdateTime = this.worldServerInstance.getTotalWorldTime(); + flag = false; + } else { + for (k1 = l - short1; k1 <= l + short1; ++k1) { + var46 = (double) k1 + 0.5D - par1Entity.posX; + for (int d9 = i1 - short1; d9 <= i1 + short1; ++d9) { + double d6 = (double) d9 + 0.5D - par1Entity.posZ; + + for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if (this.worldServerInstance.getBlock(k1, k2, d9) == AtumBlocks.BLOCK_PORTAL) { + while (this.worldServerInstance.getBlock(k1, k2 - 1, d9) == AtumBlocks.BLOCK_PORTAL) { + --k2; + } + + d4 = (double) k2 + 0.5D - par1Entity.posY; + double l2 = var46 * var46 + d4 * d4 + d6 * d6; + if (d3 < 0.0D || l2 < d3) { + d3 = l2; + x = k1; + y = k2; + z = d9; + } + } + } + } + } + } + + if (d3 >= 0.0D) { + if (flag) { + this.destinationCoordinateCache.add(j1, new AtumPortalPosition(x, y, z, this.worldServerInstance.getTotalWorldTime())); + this.destinationCoordinateKeys.add(Long.valueOf(j1)); + } + + var46 = (double) x + 0.5D; + double var47 = (double) y + 0.5D; + d4 = (double) z + 0.5D; + int j2 = -1; + if (this.worldServerInstance.getBlock(x - 1, y, z) == AtumBlocks.BLOCK_PORTAL) { + j2 = 2; + } + + if (this.worldServerInstance.getBlock(x + 1, y, z) == AtumBlocks.BLOCK_PORTAL) { + j2 = 0; + } + + if (this.worldServerInstance.getBlock(x, y, z - 1) == AtumBlocks.BLOCK_PORTAL) { + j2 = 3; + } + + if (this.worldServerInstance.getBlock(x, y, z + 1) == AtumBlocks.BLOCK_PORTAL) { + j2 = 1; + } + + k2 = par1Entity.getTeleportDirection(); + if (j2 > -1) { + int var48 = Direction.rotateLeft[j2]; + int i3 = Direction.offsetX[j2]; + int j3 = Direction.offsetZ[j2]; + int k3 = Direction.offsetX[var48]; + int l3 = Direction.offsetZ[var48]; + boolean flag1 = !this.worldServerInstance.isAirBlock(x + i3 + k3, y, z + j3 + l3) || !this.worldServerInstance.isAirBlock(x + i3 + k3, y + 1, z + j3 + l3); + boolean flag2 = !this.worldServerInstance.isAirBlock(x + i3, y, z + j3) || !this.worldServerInstance.isAirBlock(x + i3, y + 1, z + j3); + if (flag1 && flag2) { + j2 = Direction.rotateOpposite[j2]; + var48 = Direction.rotateOpposite[var48]; + i3 = Direction.offsetX[j2]; + j3 = Direction.offsetZ[j2]; + k3 = Direction.offsetX[var48]; + l3 = Direction.offsetZ[var48]; + k1 = x - k3; + var46 -= (double) k3; + int f1 = z - l3; + d4 -= (double) l3; + flag1 = !this.worldServerInstance.isAirBlock(k1 + i3 + k3, y, f1 + j3 + l3) || !this.worldServerInstance.isAirBlock(k1 + i3 + k3, y + 1, f1 + j3 + l3); + flag2 = !this.worldServerInstance.isAirBlock(k1 + i3, y, f1 + j3) || !this.worldServerInstance.isAirBlock(k1 + i3, y + 1, f1 + j3); + } + + float var49 = 0.5F; + float f2 = 0.5F; + if (!flag1 && flag2) { + var49 = 1.0F; + } else if (flag1 && !flag2) { + var49 = 0.0F; + } else if (flag1 && flag2) { + f2 = 0.0F; + } + + var46 += (double) ((float) k3 * var49 + f2 * (float) i3); + d4 += (double) ((float) l3 * var49 + f2 * (float) j3); + float f3 = 0.0F; + float f4 = 0.0F; + float f5 = 0.0F; + float f6 = 0.0F; + if (j2 == k2) { + f3 = 1.0F; + f4 = 1.0F; + } else if (j2 == Direction.rotateOpposite[k2]) { + f3 = -1.0F; + f4 = -1.0F; + } else if (j2 == Direction.rotateRight[k2]) { + f5 = 1.0F; + f6 = -1.0F; + } else { + f5 = -1.0F; + f6 = 1.0F; + } + + double d10 = par1Entity.motionX; + double d11 = par1Entity.motionZ; + par1Entity.motionX = d10 * (double) f3 + d11 * (double) f6; + par1Entity.motionZ = d10 * (double) f5 + d11 * (double) f4; + par1Entity.rotationYaw = par8 - (float) (k2 * 90) + (float) (j2 * 90); + } else { + par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; + } + + par1Entity.setLocationAndAngles(var46, var47, d4, par1Entity.rotationYaw, par1Entity.rotationPitch); + return true; + } else { + return false; + } + } + + @Override + public boolean makePortal(Entity par1Entity) { + byte b0 = 16; + double d0 = -1.0D; + int entityX = MathHelper.floor_double(par1Entity.posX); + int entityY = MathHelper.floor_double(par1Entity.posY); + int entityZ = MathHelper.floor_double(par1Entity.posZ); + int l = entityX; + int i1 = entityY; + int j1 = entityZ; + int k1 = 0; + int l1 = this.random.nextInt(4); + + int i2; + double d1; + double d2; + int k2 = 0, j2 = 0, i3 = 0, l2 = 0, k3 = 0, j3 = 0, i4 = 0, l3 = 0, k4 = 0, j4 = 0; + double d3; + double d4; + int i5; + for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) { + d1 = (double) i2 + 0.5D - par1Entity.posX; + + for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { + d2 = (double) j2 + 0.5D - par1Entity.posZ; + + label272: + for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if (this.worldServerInstance.isAirBlock(i2, k2, j2)) { + while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { + --k2; + } + + for (i3 = l1; i3 < l1 + 4; ++i3) { + l2 = i3 % 2; + k3 = 1 - l2; + if (i3 % 4 >= 2) { + l2 = -l2; + k3 = -k3; + } + + for (j3 = 0; j3 < 3; ++j3) { + for (i4 = 0; i4 < 4; ++i4) { + for (l3 = -1; l3 < 4; ++l3) { + k4 = i2 + (i4 - 1) * l2 + j3 * k3; + j4 = k2 + l3; + i5 = j2 + (i4 - 1) * k3 - j3 * l2; + if (l3 < 0 && !this.worldServerInstance.getBlock(k4, j4, i5).getMaterial().isSolid() || l3 >= 0 && !this.worldServerInstance.isAirBlock(k4, j4, i5)) { + continue label272; + } + } + } + } + + d4 = (double) k2 + 0.5D - par1Entity.posY; + d3 = d1 * d1 + d4 * d4 + d2 * d2; + if (d0 < 0.0D || d3 < d0) { + d0 = d3; + l = i2; + i1 = k2; + j1 = j2; + k1 = i3 % 4; + } + } + } + } + } + } + + if (d0 < 0.0D) { + for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) { + d1 = (double) i2 + 0.5D - par1Entity.posX; + + for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { + d2 = (double) j2 + 0.5D - par1Entity.posZ; + + label220: + for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if (this.worldServerInstance.isAirBlock(i2, k2, j2)) { + while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { + --k2; + } + + for (i3 = l1; i3 < l1 + 2; ++i3) { + l2 = i3 % 2; + k3 = 1 - l2; + + for (j3 = 0; j3 < 4; ++j3) { + for (i4 = -1; i4 < 4; ++i4) { + l3 = i2 + (j3 - 1) * l2; + k4 = k2 + i4; + j4 = j2 + (j3 - 1) * k3; + if (i4 < 0 && !this.worldServerInstance.getBlock(l3, k4, j4).getMaterial().isSolid() || i4 >= 0 && !this.worldServerInstance.isAirBlock(l3, k4, j4)) { + continue label220; + } + } + } + + d4 = (double) k2 + 0.5D - par1Entity.posY; + d3 = d1 * d1 + d4 * d4 + d2 * d2; + if (d0 < 0.0D || d3 < d0) { + d0 = d3; + l = i2; + i1 = k2; + j1 = j2; + k1 = i3 % 2; + } + } + } + } + } + } + } + + i5 = l; + int j5 = i1; + j2 = j1; + int k5 = k1 % 2; + int l5 = 1 - k5; + if (k1 % 4 >= 2) { + k5 = -k5; + l5 = -l5; + } + + boolean flag; + if (d0 < 0.0D) { + if (i1 < 70) { + i1 = 70; + } + + if (i1 > this.worldServerInstance.getActualHeight() - 10) { + i1 = this.worldServerInstance.getActualHeight() - 10; + } + + j5 = i1; + + for (k2 = -1; k2 <= 1; ++k2) { + for (i3 = 1; i3 < 3; ++i3) { + for (l2 = -1; l2 < 3; ++l2) { + k3 = i5 + (i3 - 1) * k5 + k2 * l5; + j3 = j5 + l2; + i4 = j2 + (i3 - 1) * l5 - k2 * k5; + flag = l2 < 0; + this.worldServerInstance.setBlock(k3, j3, i4, flag ? Blocks.sandstone : null); + } + } + } + } + + Block block; + if (par1Entity.dimension == 0) { + block = Blocks.sandstone; + } else { + block = AtumBlocks.BLOCK_LARGEBRICK; + } + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + + this.worldServerInstance.setBlock(l + x1, i1, j1 + z1, block); + } + } + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if (x1 == 2 || z1 == 2 || x1 == -2 || z1 == -2) { + this.worldServerInstance.setBlock(l + x1, i1 + 1, j1 + z1, block); + } + } + } + for (int y1 = 2; y1 < 4; y1++) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if ((x1 == 2 && z1 == 2) || (x1 == -2 && z1 == 2) || (x1 == 2 && z1 == -2) || (x1 == -2 && z1 == -2)) { + this.worldServerInstance.setBlock(l + x1, i1 + y1, j1 + z1, block); + } + } + } + } + + for (int x1 = -1; x1 < 2; x1++) { + for (int z1 = -1; z1 < 2; z1++) { + this.worldServerInstance.setBlock(l + x1 , i1 + 1, j1 + z1, AtumBlocks.BLOCK_PORTAL, 0, 2); + } + } + return true; + } + + @Override + public void removeStalePortalLocations(long par1) { + if (par1 % 100L == 0L) { + Iterator iterator = this.destinationCoordinateKeys.iterator(); + long j = par1 - 600L; + + while (iterator.hasNext()) { + Long olong = (Long) iterator.next(); + AtumPortalPosition portalPosition = (AtumPortalPosition) this.destinationCoordinateCache.getValueByKey(olong.longValue()); + if (portalPosition == null || portalPosition.lastUpdateTime < j) { + iterator.remove(); + this.destinationCoordinateCache.remove(olong.longValue()); + } + } + } + } +} diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java b/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java new file mode 100644 index 0000000..f55fc28 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java @@ -0,0 +1,101 @@ +package com.teammetallurgy.atum.world; + +import com.teammetallurgy.atum.handler.AtumConfig; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.WorldProvider; +import net.minecraft.world.biome.WorldChunkManagerHell; +import net.minecraft.world.chunk.IChunkProvider; + +public class AtumWorldProvider extends WorldProvider { + @Override + public String getDimensionName() { + return "Atum"; + } + + @Override + protected void registerWorldChunkManager() { + this.worldChunkMgr = new WorldChunkManagerHell(AtumWorlds.BIOME_DESERT, 5); + this.dimensionId = AtumConfig.DIMENSION_ID; + } + + @Override + public IChunkProvider createChunkGenerator() { + return new AtumChunkProvider(super.worldObj, super.worldObj.getSeed(), true); + } + + @Override + protected void generateLightBrightnessTable() { + float f = 0.0F; + + for (int i = 0; i <= 15; ++i) { + float scaledBrightness = (float) i / 15.0F; + float f1 = 1.0F - scaledBrightness; + if (i < 5) { + super.lightBrightnessTable[i] = 0.5F * scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; + } else { + super.lightBrightnessTable[i] = scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; + } + } + + } + + @Override + public float calculateCelestialAngle(long par1, float par3) { + int j = (int) (par1 % 48000L); + float f1 = ((float) j + par3) / 48000.0F - 0.25F; + if (f1 < 0.0F) { + ++f1; + } + + if (f1 > 1.0F) { + --f1; + } + + float f2 = f1; + f1 = 1.0F - (float) ((Math.cos((double) f1 * 3.141592653589793D) + 1.0D) / 2.0D); + f1 = f2 + (f1 - f2) / 3.0F; + return f1; + } + + @Override + @SideOnly(Side.CLIENT) + public Vec3 getFogColor(float par1, float par2) { + float f2 = MathHelper.cos(par1 * 3.1415927F * 2.0F) * 2.0F + 0.5F; + if (f2 < 0.2F) { + f2 = 0.2F; + } + + if (f2 > 1.0F) { + f2 = 1.0F; + } + + float f3 = 0.7529412F; + float f4 = 0.84705883F; + float f5 = 1.0F; + float var10000 = f3 * (f2 * 0.94F + 0.06F); + var10000 = f4 * (f2 * 0.94F + 0.06F); + var10000 = f5 * (f2 * 0.91F + 0.09F); + f3 = 0.9F * f2; + f4 = 0.75F * f2; + f5 = 0.6F * f2; + return Vec3.createVectorHelper((double) f3, (double) f4, (double) f5); + } + + @Override + public boolean doesXZShowFog(int par1, int par2) { + return false; + } + + @Override + public String getWelcomeMessage() { + return "Entering Atum"; + } + + @Override + public String getDepartMessage() { + return "Leaving Atum"; + } +} diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumWorldServer.java b/src/main/java/com/teammetallurgy/atum/world/AtumWorldServer.java new file mode 100644 index 0000000..6554aa8 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/world/AtumWorldServer.java @@ -0,0 +1,20 @@ +package com.teammetallurgy.atum.world; + +import net.minecraft.profiler.Profiler; +import net.minecraft.server.MinecraftServer; +import net.minecraft.world.Teleporter; +import net.minecraft.world.WorldServer; +import net.minecraft.world.WorldSettings; +import net.minecraft.world.storage.ISaveHandler; + +public class AtumWorldServer extends WorldServer { + + public AtumWorldServer(MinecraftServer par1MinecraftServer, ISaveHandler par2iSaveHandler, String par3Str, int par4, WorldSettings par5WorldSettings, Profiler par6Profiler) { + super(par1MinecraftServer, par2iSaveHandler, par3Str, par4, par5WorldSettings, par6Profiler); + } + + @Override + public Teleporter getDefaultTeleporter() { + return new AtumTeleporter(this); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java b/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java new file mode 100644 index 0000000..1129fcc --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java @@ -0,0 +1,17 @@ +package com.teammetallurgy.atum.world; + +import com.teammetallurgy.atum.handler.AtumConfig; +import com.teammetallurgy.atum.world.biome.BiomeGenAtumDesert; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraftforge.common.DimensionManager; + +public class AtumWorlds { + public static final BiomeGenBase BIOME_DESERT = new BiomeGenAtumDesert(AtumConfig.BIOME_DESERT_ID); + + public void register() { + int atumID = AtumConfig.DIMENSION_ID; + + DimensionManager.registerProviderType(atumID, AtumWorldProvider.class, true); + DimensionManager.registerDimension(atumID, atumID); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/world/biome/BiomeDecoratorAtum.java b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeDecoratorAtum.java new file mode 100644 index 0000000..02b49b1 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeDecoratorAtum.java @@ -0,0 +1,178 @@ +package com.teammetallurgy.atum.world.biome; + +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.world.decorators.WorldGenShrub; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeDecorator; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.gen.feature.*; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType; +import net.minecraftforge.event.terraingen.OreGenEvent; +import net.minecraftforge.event.terraingen.OreGenEvent.Post; +import net.minecraftforge.event.terraingen.OreGenEvent.Pre; +import net.minecraftforge.event.terraingen.TerrainGen; + +import java.util.Random; + +public class BiomeDecoratorAtum extends BiomeDecorator { + + private float shrubChance; + + public BiomeDecoratorAtum() { + super(); + this.sandGen = new WorldGenSand(AtumBlocks.BLOCK_SAND, 7); + this.gravelAsSandGen = new WorldGenSand(Blocks.gravel, 6); + this.dirtGen = new WorldGenMinable(Blocks.dirt, 32); + this.gravelGen = new WorldGenMinable(Blocks.gravel, 32); + this.coalGen = new WorldGenMinable(AtumBlocks.BLOCK_COALORE, 16, AtumBlocks.BLOCK_STONE); + this.ironGen = new WorldGenMinable(AtumBlocks.BLOCK_IRONORE, 8, AtumBlocks.BLOCK_STONE); + this.goldGen = new WorldGenMinable(AtumBlocks.BLOCK_GOLDORE, 8, AtumBlocks.BLOCK_STONE); + this.redstoneGen = new WorldGenMinable(AtumBlocks.BLOCK_REDSTONEORE, 7, AtumBlocks.BLOCK_STONE); + this.diamondGen = new WorldGenMinable(AtumBlocks.BLOCK_DIAMONDORE, 7, AtumBlocks.BLOCK_STONE); + this.lapisGen = new WorldGenMinable(AtumBlocks.BLOCK_LAPISORE, 6); + + this.mushroomBrownGen = new WorldGenFlowers(Blocks.brown_mushroom); + this.mushroomRedGen = new WorldGenFlowers(Blocks.red_mushroom); + this.bigMushroomGen = new WorldGenBigMushroom(); + this.reedGen = new WorldGenReed(); + this.cactusGen = new WorldGenCactus(); + this.waterlilyGen = new WorldGenWaterlily(); + this.waterlilyPerChunk = 0; + this.treesPerChunk = 0; + this.flowersPerChunk = 2; + this.grassPerChunk = 1; + this.deadBushPerChunk = 1; + this.shrubChance = 0.3F; + this.mushroomsPerChunk = 0; + this.reedsPerChunk = 0; + this.cactiPerChunk = 0; + this.sandPerChunk = 1; + this.sandPerChunk2 = 3; + this.clayPerChunk = 1; + this.bigMushroomsPerChunk = 0; + this.generateLakes = false; + } + + @Override + public void decorateChunk(World world, Random random, BiomeGenBase biomeGenBase, int x, int z) { + if (this.currentWorld != null) { + throw new RuntimeException("Already decorating!!"); + } else { + this.currentWorld = world; + this.randomGenerator = random; + this.chunk_X = x; + this.chunk_Z = z; + this.genDecorations(biomeGenBase); + this.currentWorld = null; + this.randomGenerator = null; + } + } + + @Override + protected void genDecorations(BiomeGenBase biome) { + MinecraftForge.EVENT_BUS.post(new Pre(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z)); + this.generateOres(); + boolean doGen = TerrainGen.decorate(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z, EventType.SAND_PASS2); + + int i; + int j; + int k; + long time; + for (i = 0; doGen && i < this.sandPerChunk; ++i) { + j = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + k = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + time = System.nanoTime(); + this.sandGen.generate(this.currentWorld, this.randomGenerator, j, this.currentWorld.getTopSolidOrLiquidBlock(j, k), k); + } + + i = this.treesPerChunk; + if (this.randomGenerator.nextInt(10) == 0) { + ++i; + } + + time = System.nanoTime(); + doGen = TerrainGen.decorate(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z, EventType.GRASS); + + int l; + int i1; + for (j = 0; doGen && j < this.grassPerChunk; ++j) { + k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + l = this.randomGenerator.nextInt(128); + i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + WorldGenerator worldgenerator1 = biome.getRandomWorldGenForGrass(this.randomGenerator); + worldgenerator1.generate(this.currentWorld, this.randomGenerator, k, l, i1); + } + + if (this.randomGenerator.nextFloat() < this.shrubChance) { + k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + l = this.randomGenerator.nextInt(128); + i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + time = System.nanoTime(); + (new WorldGenShrub(AtumBlocks.BLOCK_SHRUB, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); + } + + if (this.randomGenerator.nextFloat() < this.shrubChance) { + k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + l = this.randomGenerator.nextInt(128); + i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + time = System.nanoTime(); + (new WorldGenShrub(AtumBlocks.BLOCK_WEED, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); + } + + MinecraftForge.EVENT_BUS.post(new Post(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z)); + } + + @Override + protected void genStandardOre1(int par1, WorldGenerator par2WorldGenerator, int par3, int par4) { + for (int l = 0; l < par1; ++l) { + int i1 = this.chunk_X + this.randomGenerator.nextInt(16); + int j1 = this.randomGenerator.nextInt(par4 - par3) + par3; + int k1 = this.chunk_Z + this.randomGenerator.nextInt(16); + par2WorldGenerator.generate(this.currentWorld, this.randomGenerator, i1, j1, k1); + } + + } + + @Override + protected void genStandardOre2(int par1, WorldGenerator par2WorldGenerator, int par3, int par4) { + for (int l = 0; l < par1; ++l) { + int i1 = this.chunk_X + this.randomGenerator.nextInt(16); + int j1 = this.randomGenerator.nextInt(par4) + this.randomGenerator.nextInt(par4) + (par3 - par4); + int k1 = this.chunk_Z + this.randomGenerator.nextInt(16); + par2WorldGenerator.generate(this.currentWorld, this.randomGenerator, i1, j1, k1); + } + + } + + @Override + protected void generateOres() { + MinecraftForge.ORE_GEN_BUS.post(new OreGenEvent.Pre(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z)); + if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.coalGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.COAL)) { + this.genStandardOre1(20, this.coalGen, 0, 128); + } + + if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.ironGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.IRON)) { + this.genStandardOre1(20, this.ironGen, 0, 64); + } + + if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.goldGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.GOLD)) { + this.genStandardOre1(2, this.goldGen, 0, 32); + } + + if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.redstoneGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.REDSTONE)) { + this.genStandardOre1(8, this.redstoneGen, 0, 16); + } + + if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.diamondGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.DIAMOND)) { + this.genStandardOre1(1, this.diamondGen, 0, 16); + } + + if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.lapisGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.LAPIS)) { + this.genStandardOre2(1, this.lapisGen, 16, 16); + } + + MinecraftForge.ORE_GEN_BUS.post(new OreGenEvent.Post(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z)); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java new file mode 100644 index 0000000..af0b4fb --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java @@ -0,0 +1,108 @@ +package com.teammetallurgy.atum.world.biome; + +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.entity.*; +import com.teammetallurgy.atum.handler.AtumConfig; +import com.teammetallurgy.atum.world.decorators.*; + +import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeDecorator; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.gen.feature.WorldGenerator; + +import java.util.Random; + +public class BiomeGenAtumDesert extends BiomeGenBase { + + public WorldGenerator treeGenerator; + public WorldGenerator palmGenerator; + public WorldGenerator ruinsGenerator; + + public BiomeGenAtumDesert(int par1) { + super(par1); + super.spawnableCreatureList.clear(); + this.topBlock = AtumBlocks.BLOCK_SAND; + this.fillerBlock = AtumBlocks.BLOCK_STONE; + + super.theBiomeDecorator.treesPerChunk = 1; + super.theBiomeDecorator.deadBushPerChunk = 5; + super.theBiomeDecorator.reedsPerChunk = 0; + super.theBiomeDecorator.cactiPerChunk = 0; + this.treeGenerator = new WorldGenAtumTrees(true); + this.palmGenerator = new WorldGenPalm(true); + this.ruinsGenerator = new WorldGenRuins(); + super.spawnableMonsterList.clear(); + super.spawnableCreatureList.clear(); + super.spawnableWaterCreatureList.clear(); + super.spawnableCaveCreatureList.clear(); + this.setColor(16421912); + this.setBiomeName("Atum's Desert"); + this.setDisableRain(); + this.setTemperatureRainfall(2.0F, 0.0F); + this.setHeight(new Height(0.1F, 0.2F)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityMummy.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarlord.class, 1, 1, 1)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarrior.class, 6, 2, 2)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityBarbarian.class, 2, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditArcher.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityDustySkeleton.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityGhost.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityDesertWolf.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityStoneSoldier.class, 6, 4, 4)); + } + + @Override + public BiomeDecorator createBiomeDecorator() { + return new BiomeDecoratorAtum(); + } + + @Override + public void decorate(World par1World, Random par2Random, int par3, int par4) { + super.decorate(par1World, par2Random, par3, par4); + int k; + int l; + if (AtumConfig.OASIS_ENABLED && par2Random.nextInt(100) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + (new WorldGenOasis(false)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } + + if (par2Random.nextInt(100) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + this.ruinsGenerator.generate(par1World, par2Random, k, par1World.getHeightValue(k, l) + 1, l); + } + + int height; + if (par2Random.nextInt(5) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + height = par2Random.nextInt(4) + 5; + (new WorldGenPalm(true, height, 0, 0)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } + + if (par2Random.nextInt(7) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + height = par2Random.nextInt(4) + 4; + (new WorldGenAtumTrees(true)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } + + if (par2Random.nextInt(240) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + (new WorldGenPyramid()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } + + if (par2Random.nextInt(1000) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + height = par2Random.nextInt(10); + if (height <= 20) { + height += 30; + } + (new WorldGenPalace()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } + + } +} diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenAtumTrees.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenAtumTrees.java new file mode 100644 index 0000000..ef635f6 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenAtumTrees.java @@ -0,0 +1,369 @@ +package com.teammetallurgy.atum.world.decorators; + +import com.teammetallurgy.atum.blocks.AtumBlocks; +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +import java.util.Random; + +public class WorldGenAtumTrees extends WorldGenerator { + + static final byte[] otherCoordPairs = new byte[]{(byte) 2, (byte) 0, (byte) 0, (byte) 1, (byte) 2, (byte) 1}; + Random rand = new Random(); + World worldObj; + int[] basePos = new int[]{0, 0, 0}; + int heightLimit = 0; + int height; + double heightAttenuation = 0.618D; + double branchDensity = 1.0D; + double branchSlope = 0.381D; + double scaleWidth = 1.0D; + double leafDensity = 1.0D; + int trunkSize = 1; + int heightLimitLimit = 12; + int leafDistanceLimit = 4; + int[][] leafNodes; + + public WorldGenAtumTrees(boolean par1) { + super(par1); + } + + private void generateLeafNodeList() { + this.height = (int) ((double) this.heightLimit * this.heightAttenuation); + if (this.height >= this.heightLimit) { + this.height = this.heightLimit - 1; + } + + int i = (int) (1.382D + Math.pow(this.leafDensity * (double) this.heightLimit / 13.0D, 2.0D)); + if (i < 1) { + i = 1; + } + + int[][] aint = new int[i * this.heightLimit][4]; + int j = this.basePos[1] + this.heightLimit - this.leafDistanceLimit; + int k = 1; + int l = this.basePos[1] + this.height; + int i1 = j - this.basePos[1]; + aint[0][0] = this.basePos[0]; + aint[0][1] = j; + aint[0][2] = this.basePos[2]; + aint[0][3] = l; + --j; + + while (i1 >= 0) { + int j1 = 0; + float f = this.layerSize(i1); + if (f < 0.0F) { + --j; + --i1; + } else { + for (double d0 = 0.5D; j1 < i; ++j1) { + double d1 = this.scaleWidth * (double) f * ((double) this.rand.nextFloat() + 0.328D); + double d2 = (double) this.rand.nextFloat() * 2.0D * 3.141592653589793D; + int k1 = MathHelper.floor_double(d1 * Math.sin(d2) + (double) this.basePos[0] + d0); + int l1 = MathHelper.floor_double(d1 * Math.cos(d2) + (double) this.basePos[2] + d0); + int[] aint1 = new int[]{k1, j, l1}; + int[] aint2 = new int[]{k1, j + this.leafDistanceLimit, l1}; + if (this.checkBlockLine(aint1, aint2) == -1) { + int[] aint3 = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; + double d3 = Math.sqrt(Math.pow((double) Math.abs(this.basePos[0] - aint1[0]), 2.0D) + Math.pow((double) Math.abs(this.basePos[2] - aint1[2]), 2.0D)); + double d4 = d3 * this.branchSlope; + if ((double) aint1[1] - d4 > (double) l) { + aint3[1] = l; + } else { + aint3[1] = (int) ((double) aint1[1] - d4); + } + + if (this.checkBlockLine(aint3, aint1) == -1) { + aint[k][0] = k1; + aint[k][1] = j; + aint[k][2] = l1; + aint[k][3] = aint3[1]; + ++k; + } + } + } + + --j; + --i1; + } + } + + this.leafNodes = new int[k][4]; + System.arraycopy(aint, 0, this.leafNodes, 0, k); + } + + private void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, Block par6) { + int i1 = (int) ((double) par4 + 0.618D); + byte b1 = otherCoordPairs[par5]; + byte b2 = otherCoordPairs[par5 + 3]; + int[] aint = new int[]{par1, par2, par3}; + int[] aint1 = new int[]{0, 0, 0}; + int j1 = -i1; + int k1 = -i1; + + for (aint1[par5] = aint[par5]; j1 <= i1; ++j1) { + aint1[b1] = aint[b1] + j1; + k1 = -i1; + + while (k1 <= i1) { + double d0 = Math.pow((double) Math.abs(j1) + 0.5D, 2.0D) + Math.pow((double) Math.abs(k1) + 0.5D, 2.0D); + if (d0 > (double) (par4 * par4)) { + ++k1; + } else { + aint1[b2] = aint[b2] + k1; + Block l1 = this.worldObj.getBlock(aint1[0], aint1[1], aint1[2]); + if (l1 != null && l1 != Blocks.leaves) { + ++k1; + } else { + if (par6 != Blocks.leaves) { + this.setBlockAndNotifyAdequately(this.worldObj, aint1[0], aint1[1], aint1[2], par6, 0); + } + + ++k1; + } + } + } + } + + } + + private float layerSize(int par1) { + if ((double) par1 < (double) ((float) this.heightLimit) * 0.3D) { + return -1.618F; + } else { + float f = (float) this.heightLimit / 2.0F; + float f1 = (float) this.heightLimit / 2.0F - (float) par1; + float f2; + if (f1 == 0.0F) { + f2 = f; + } else if (Math.abs(f1) >= f) { + f2 = 0.0F; + } else { + f2 = (float) Math.sqrt(Math.pow((double) Math.abs(f), 2.0D) - Math.pow((double) Math.abs(f1), 2.0D)); + } + + f2 *= 0.5F; + return f2; + } + } + + private float leafSize(int par1) { + return par1 >= 0 && par1 < this.leafDistanceLimit ? (par1 != 0 && par1 != this.leafDistanceLimit - 1 ? 3.0F : 2.0F) : -1.0F; + } + + private void generateLeafNode(int par1, int par2, int par3) { + int l = par2; + + for (int i1 = par2 + this.leafDistanceLimit; l < i1; ++l) { + float f = this.leafSize(l - par2); + this.genTreeLayer(par1, l, par3, f, (byte) 1, Blocks.leaves); + } + + } + + private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, Block par3) { + int[] aint2 = new int[]{0, 0, 0}; + byte b0 = 0; + + byte b1; + for (b1 = 0; b0 < 3; ++b0) { + aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; + if (Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { + b1 = b0; + } + } + + if (aint2[b1] != 0) { + byte b2 = otherCoordPairs[b1]; + byte b3 = otherCoordPairs[b1 + 3]; + byte b4; + if (aint2[b1] > 0) { + b4 = 1; + } else { + b4 = -1; + } + + double d0 = (double) aint2[b2] / (double) aint2[b1]; + double d1 = (double) aint2[b3] / (double) aint2[b1]; + int[] aint3 = new int[]{0, 0, 0}; + int j = 0; + + for (int k = aint2[b1] + b4; j != k; j += b4) { + aint3[b1] = MathHelper.floor_double((double) (par1ArrayOfInteger[b1] + j) + 0.5D); + aint3[b2] = MathHelper.floor_double((double) par1ArrayOfInteger[b2] + (double) j * d0 + 0.5D); + aint3[b3] = MathHelper.floor_double((double) par1ArrayOfInteger[b3] + (double) j * d1 + 0.5D); + byte b5 = 0; + int l = Math.abs(aint3[0] - par1ArrayOfInteger[0]); + int i1 = Math.abs(aint3[2] - par1ArrayOfInteger[2]); + int j1 = Math.max(l, i1); + if (j1 > 0) { + if (l == j1) { + b5 = 4; + } else if (i1 == j1) { + b5 = 8; + } + } + + this.setBlockAndNotifyAdequately(this.worldObj, aint3[0], aint3[1], aint3[2], par3, b5); + } + } + + } + + private void generateLeaves() { + int i = 0; + + for (int j = this.leafNodes.length; i < j; ++i) { + int k = this.leafNodes[i][0]; + int l = this.leafNodes[i][1]; + int i1 = this.leafNodes[i][2]; + this.generateLeafNode(k, l, i1); + } + + } + + private boolean leafNodeNeedsBase(int par1) { + return (double) par1 >= (double) this.heightLimit * 0.2D; + } + + private void generateTrunk() { + int i = this.basePos[0]; + int j = this.basePos[1]; + int k = this.basePos[1] + this.height; + int l = this.basePos[2]; + int[] aint = new int[]{i, j, l}; + int[] aint1 = new int[]{i, k, l}; + this.placeBlockLine(aint, aint1, Blocks.log); + if (this.trunkSize == 2) { + ++aint[0]; + ++aint1[0]; + this.placeBlockLine(aint, aint1, Blocks.log); + ++aint[2]; + ++aint1[2]; + this.placeBlockLine(aint, aint1, Blocks.log); + aint[0] += -1; + aint1[0] += -1; + this.placeBlockLine(aint, aint1, Blocks.log); + } + + } + + private void generateLeafNodeBases() { + int i = 0; + int j = this.leafNodes.length; + + for (int[] aint = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; i < j; ++i) { + int[] aint1 = this.leafNodes[i]; + int[] aint2 = new int[]{aint1[0], aint1[1], aint1[2]}; + aint[1] = aint1[3]; + int k = aint[1] - this.basePos[1]; + if (this.leafNodeNeedsBase(k)) { + this.placeBlockLine(aint, aint2, Blocks.log); + } + } + + } + + private int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger) { + int[] aint2 = new int[]{0, 0, 0}; + byte b0 = 0; + + byte b1; + for (b1 = 0; b0 < 3; ++b0) { + aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; + if (Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { + b1 = b0; + } + } + + if (aint2[b1] == 0) { + return -1; + } else { + byte b2 = otherCoordPairs[b1]; + byte b3 = otherCoordPairs[b1 + 3]; + byte b4; + if (aint2[b1] > 0) { + b4 = 1; + } else { + b4 = -1; + } + + double d0 = (double) aint2[b2] / (double) aint2[b1]; + double d1 = (double) aint2[b3] / (double) aint2[b1]; + int[] aint3 = new int[]{0, 0, 0}; + int i = 0; + + int j; + for (j = aint2[b1] + b4; i != j; i += b4) { + aint3[b1] = par1ArrayOfInteger[b1] + i; + aint3[b2] = MathHelper.floor_double((double) par1ArrayOfInteger[b2] + (double) i * d0); + aint3[b3] = MathHelper.floor_double((double) par1ArrayOfInteger[b3] + (double) i * d1); + Block k = this.worldObj.getBlock(aint3[0], aint3[1], aint3[2]); + if (k != null && k != Blocks.leaves) { + break; + } + } + + return i == j ? -1 : Math.abs(i); + } + } + + private boolean validTreeLocation() { + int[] aint = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; + int[] aint1 = new int[]{this.basePos[0], this.basePos[1] + this.heightLimit - 1, this.basePos[2]}; + Block i = this.worldObj.getBlock(this.basePos[0], this.basePos[1] - 1, this.basePos[2]); + boolean isValidSoil = i == AtumBlocks.BLOCK_SAND; + if (!isValidSoil) { + return false; + } else { + int j = this.checkBlockLine(aint, aint1); + if (j == -1) { + return true; + } else if (j < 6) { + return false; + } else { + this.heightLimit = j; + return true; + } + } + } + + @Override + public void setScale(double par1, double par3, double par5) { + this.heightLimitLimit = (int) (par1 * 12.0D); + if (par1 > 0.5D) { + this.leafDistanceLimit = 5; + } + + this.scaleWidth = par3; + this.leafDensity = par5; + } + + @Override + public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { + this.worldObj = par1World; + long l = par2Random.nextLong(); + this.rand.setSeed(l); + this.basePos[0] = par3; + this.basePos[1] = par4; + this.basePos[2] = par5; + if (this.heightLimit == 0) { + this.heightLimit = 5 + this.rand.nextInt(this.heightLimitLimit); + } + + if (!this.validTreeLocation()) { + return false; + } else { + this.generateLeafNodeList(); + this.generateLeaves(); + this.generateTrunk(); + this.generateLeafNodeBases(); + return true; + } + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java new file mode 100644 index 0000000..5f9212d --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java @@ -0,0 +1,178 @@ +package com.teammetallurgy.atum.world.decorators; + +import com.teammetallurgy.atum.items.AtumLoot; +import com.teammetallurgy.atum.blocks.AtumBlocks; +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.inventory.IInventory; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; +import net.minecraftforge.common.IPlantable; +import net.minecraftforge.common.util.ForgeDirection; + +import java.util.Random; + +public class WorldGenOasis extends WorldGenerator { + + private final int minTreeHeight; + private final int metaWood; + private final int metaLeaves; + + public WorldGenOasis(boolean par1) { + this(par1, 4, 0, 0); + } + + public WorldGenOasis(boolean par1, int par2, int par3, int par4) { + super(par1); + this.minTreeHeight = par2; + this.metaWood = par3; + this.metaLeaves = par4; + } + + @Override + public boolean generate(World world, Random par2Random, int par3, int par4, int par5) { + int width = par2Random.nextInt(6) + 6; + int depth = par2Random.nextInt(5) + 5; + Block block = world.getBlock(par3, par4 - 1, par5); + if (block != AtumBlocks.BLOCK_SAND) { + return false; + } else { + block = world.getBlock(par3 + width, world.getHeightValue(par3 + width, par5) - 1, par5); + if (block != AtumBlocks.BLOCK_SAND) { + return false; + } else { + block = world.getBlock(par3, world.getHeightValue(par3, par5 + depth) - 1, par5 + depth); + if (block != AtumBlocks.BLOCK_SAND) { + return false; + } else { + block = world.getBlock(par3 + width, world.getHeightValue(par3 + width, par5 + depth) - 1, par5 + depth); + if (block != AtumBlocks.BLOCK_SAND) { + return false; + } else { + int minHeight = world.getHeightValue(par3, par5); + int maxHeight = world.getHeightValue(par3, par5); + int height = world.getHeightValue(par3 + width, par5); + if (height < minHeight) { + minHeight = height; + } else if (height > maxHeight) { + maxHeight = height; + } + + height = world.getHeightValue(par3, par5 + depth); + if (height < minHeight) { + minHeight = height; + } else if (height > maxHeight) { + maxHeight = height; + } + + height = world.getHeightValue(par3 + width, par5 + depth); + if (height < minHeight) { + minHeight = height; + } else if (height > maxHeight) { + maxHeight = height; + } + + int papyrus; + int i; + int z; + int dx; + int y; + if (maxHeight - minHeight < 6) { + float treeCount = (float) width / 2.0F; + float chest = (float) depth / 2.0F; + + for (papyrus = (int) (0.0F - treeCount - 6.0F); (float) papyrus <= treeCount + 6.0F; ++papyrus) { + for (i = (int) (0.0F - chest - 6.0F); (float) i <= chest + 6.0F; ++i) { + float x = (float) (papyrus * papyrus) / (treeCount * treeCount) + (float) (i * i) / (chest * chest); + if (x <= 1.0F) { + z = world.getHeightValue(papyrus + par3, i + par5); + if (world.getBlock(papyrus + par3, z - 1, i + par5) == AtumBlocks.BLOCK_SAND) { + world.setBlock(papyrus + par3, z - 1, i + par5, Blocks.water); + if ((double) x < 0.6D) { + z = world.getHeightValue(papyrus + par3, i + par5); + world.setBlock(papyrus + par3, z - 2, i + par5, Blocks.water); + } + } + } else { + x = (float) (papyrus * papyrus) / ((treeCount + 4.0F) * (treeCount + 4.0F)) + (float) (i * i) / ((chest + 4.0F) * (chest + 4.0F)); + z = world.getHeightValue(papyrus + par3, i + par5); + if (world.getBlock(papyrus + par3, z - 1, i + par5) == AtumBlocks.BLOCK_SAND && x < 1.0F) { + world.setBlock(papyrus + par3, z - 1, i + par5, AtumBlocks.BLOCK_FERTILESOIL); + if ((double) x < 0.3D && par2Random.nextInt(8) == 0) { + for (y = -1; y <= 1; ++y) { + for (dx = -1; dx <= 1; ++dx) { + if (AtumBlocks.BLOCK_PAPYRUS.canBlockStay(world, par3 + papyrus + y, z, par5 + i + dx)) { + world.setBlock(papyrus + par3 + y, z, i + par5 + dx, AtumBlocks.BLOCK_PAPYRUS); + } + } + } + } + } + } + } + } + } + + int var24 = 0; + + for (int var26 = 0; var26 < 6; ++var26) { + papyrus = par2Random.nextInt(width); + i = par2Random.nextInt(depth); + block = world.getBlock(par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i) - 1, par5 + i); + if (block == AtumBlocks.BLOCK_FERTILESOIL) { + (new WorldGenPalm(true, 5, 0, 0)).generate(world, par2Random, par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i), par5 + i); + ++var24; + } + + if (var24 > 2) { + break; + } + } + + boolean var25 = false; + boolean var27 = false; + + for (i = 0; i < 10; ++i) { + int var28 = par2Random.nextInt(width); + z = par2Random.nextInt(depth); + y = world.getHeightValue(par3 + var28, par5 + z); + block = world.getBlock(par3 + var28, y - 1, par5 + z); + if (!var25 && block == AtumBlocks.BLOCK_FERTILESOIL) { + world.setBlock(par3 + var28, y, par5 + z, Blocks.chest); + TileEntity var29 = world.getTileEntity(par3 + var28, world.getHeightValue(par3 + var28, par5 + z), par5 + z); + AtumLoot.fillChest((IInventory) var29, 5, 0.2F); + var25 = true; + } else { + int dz; + if (!var27 && block.canSustainPlant(world, par3 + var28, y, par5 + z, ForgeDirection.UP, (IPlantable) ((IPlantable) AtumBlocks.BLOCK_PAPYRUS))) { + for (dx = -1; dx <= 1; ++dx) { + for (dz = -1; dz <= 1; ++dz) { + if (block.canSustainPlant(world, par3 + var28 + dx, y, par5 + z + dz, ForgeDirection.UP, (IPlantable) ((IPlantable) AtumBlocks.BLOCK_PAPYRUS))) { + world.setBlock(par3 + var28, y, par5 + z, AtumBlocks.BLOCK_PAPYRUS); + var27 = true; + } + } + } + } else if (par2Random.nextInt(5) == 0) { + for (dx = -1; dx <= 1; ++dx) { + for (dz = -1; dz <= 1; ++dz) { + int currentY = world.getHeightValue(par3 + var28, par5 + z); + Block belowBlock = world.getBlock(par3 + var28 + dx, currentY - 1, par5 + z + dz); + Block currentBlock = world.getBlock(par3 + var28 + dx, currentY, par5 + z + dz); + if (par2Random.nextInt(3) == 0 && belowBlock == AtumBlocks.BLOCK_FERTILESOIL && currentBlock == Blocks.air) { + world.setBlock(par3 + var28 + dx, currentY, par5 + z + dz, AtumBlocks.BLOCK_FLAX, 13, 0); + } + } + } + } + } + } + + return false; + } + } + } + } + } +} diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalace.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalace.java new file mode 100644 index 0000000..4147bb6 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalace.java @@ -0,0 +1,6216 @@ +package com.teammetallurgy.atum.world.decorators; + +import com.teammetallurgy.atum.blocks.AtumBlocks; + +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +import java.util.Random; + +public class WorldGenPalace extends WorldGenerator { + + public Block largeLimestoneBricks; + public Block smallLimestoneBricks; + public Block carvedLimestone; + public Block largeLimestoneBricksStairs; + + public WorldGenPalace() { + this.largeLimestoneBricks = AtumBlocks.BLOCK_LARGEBRICK; + this.smallLimestoneBricks = AtumBlocks.BLOCK_SMALLBRICK; + this.carvedLimestone = AtumBlocks.BLOCK_CARVEDBRICK; + this.largeLimestoneBricksStairs = AtumBlocks.BLOCK_LARGESTONESTAIRS; + } + + @Override + public boolean generate(World world, Random random, int i, int j, int k) { + world.setBlock(i + 0, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 16, Blocks.netherrack); + world.setBlock(i + 8, j + 7, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 8, k + 16, Blocks.fire); + world.setBlock(i + 8, j + 8, k + 19, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 20, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 21, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 23, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 24, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 25, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 27, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 28, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 29, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 31, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 32, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 33, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 9, k + 19, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 20, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 21, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 23, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 24, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 25, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 27, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 28, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 29, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 31, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 32, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 33, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 7, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 10, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 3, k + 22, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 23, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 24, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 25, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 26, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 30, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 31, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 32, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 33, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 34, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 22, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 23, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 24, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 25, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 26, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 30, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 31, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 32, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 33, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 34, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 34, this.largeLimestoneBricks); + this.generate2(world, random, i, j, k); + return true; + } + + public boolean generate2(World world, Random rand, int i, int j, int k) { + world.setBlock(i + 10, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 2, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 5, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 5, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 7, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 11, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 11, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 10, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 12, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 12, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 13, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 13, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 2, k + 4, Blocks.netherrack); + world.setBlock(i + 14, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 3, k + 4, Blocks.fire); + world.setBlock(i + 14, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 14, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 14, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 2, k + 24, Blocks.bookshelf); + world.setBlock(i + 15, j + 2, k + 25, Blocks.bookshelf); + world.setBlock(i + 15, j + 2, k + 31, Blocks.bookshelf); + world.setBlock(i + 15, j + 2, k + 32, Blocks.bookshelf); + world.setBlock(i + 15, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 3, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 3, k + 39, Blocks.bookshelf); + world.setBlock(i + 15, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 4, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 4, k + 39, Blocks.bookshelf); + world.setBlock(i + 15, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 15, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 15, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 15, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 15, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 24, Blocks.bookshelf); + world.setBlock(i + 16, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 32, Blocks.bookshelf); + world.setBlock(i + 16, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 39, Blocks.bookshelf); + world.setBlock(i + 16, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 39, Blocks.bookshelf); + world.setBlock(i + 16, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 16, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 16, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 16, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 16, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 3, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 3, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 3, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 3, k + 39, Blocks.bookshelf); + world.setBlock(i + 17, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 4, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 4, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 4, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 4, k + 39, Blocks.bookshelf); + world.setBlock(i + 17, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 17, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 17, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 5, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 8, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 18, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 9, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 9, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 18, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 3, k + 14, this.carvedLimestone); + world.setBlock(i + 19, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 19, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 9, k + 13, this.carvedLimestone); + world.setBlock(i + 19, j + 9, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 19, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 5, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 8, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 20, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 9, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 9, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 20, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 3, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 3, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 3, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 3, k + 39, Blocks.bookshelf); + world.setBlock(i + 21, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 4, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 4, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 4, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 4, k + 39, Blocks.bookshelf); + world.setBlock(i + 21, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 9, this.largeLimestoneBricks); + this.generate3(world, rand, i, j, k); + return true; + } + + public boolean generate3(World world, Random rand, int i, int j, int k) { + world.setBlock(i + 21, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 21, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 21, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 24, Blocks.bookshelf); + world.setBlock(i + 22, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 32, Blocks.bookshelf); + world.setBlock(i + 22, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 39, Blocks.bookshelf); + world.setBlock(i + 22, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 39, Blocks.bookshelf); + world.setBlock(i + 22, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 22, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 22, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 22, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 22, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 2, k + 24, Blocks.bookshelf); + world.setBlock(i + 23, j + 2, k + 25, Blocks.bookshelf); + world.setBlock(i + 23, j + 2, k + 31, Blocks.bookshelf); + world.setBlock(i + 23, j + 2, k + 32, Blocks.bookshelf); + world.setBlock(i + 23, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 3, k + 39, Blocks.bookshelf); + world.setBlock(i + 23, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 4, k + 39, Blocks.bookshelf); + world.setBlock(i + 23, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 23, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 23, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 23, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 23, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 2, k + 4, Blocks.netherrack); + world.setBlock(i + 24, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 3, k + 4, Blocks.fire); + world.setBlock(i + 24, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 24, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 24, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 25, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 25, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 26, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 26, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 2, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 5, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 5, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 7, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 27, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 27, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 10, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 3, k + 22, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 23, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 24, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 25, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 26, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 30, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 31, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 32, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 33, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 34, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 22, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 23, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 24, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 25, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 26, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 30, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 31, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 32, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 33, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 34, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 16, Blocks.netherrack); + world.setBlock(i + 30, j + 7, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 8, k + 16, Blocks.fire); + world.setBlock(i + 30, j + 8, k + 19, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 20, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 21, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 23, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 24, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 25, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 27, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 28, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 29, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 31, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 32, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 33, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 9, k + 19, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 20, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 21, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 23, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 24, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 25, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 27, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 28, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 29, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 31, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 32, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 33, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 30, this.largeLimestoneBricks); + this.generate4(world, rand, i, j, k); + return true; + } + + public boolean generate4(World world, Random rand, int i, int j, int k) { + world.setBlock(i + 31, j + 3, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 6, k + 8, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 9, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 10, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 11, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 12, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 13, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 14, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 15, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 16, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 17, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 18, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 19, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 20, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 21, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 22, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 23, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 24, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 25, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 26, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 27, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 28, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 29, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 30, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 31, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 32, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 33, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 34, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 35, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 36, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 37, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 38, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 39, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 40, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 41, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 42, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 43, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 44, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 45, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 46, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 47, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 48, this.largeLimestoneBricksStairs); + this.setBlockAndNotifyAdequately(world, i + 0, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 1, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 12, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 45, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 12, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 45, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 1, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 1, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 1, j + 7, k + 9, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 10, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 11, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 12, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 13, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 14, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 15, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 16, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 17, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 18, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 19, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 20, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 21, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 22, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 23, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 24, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 25, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 26, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 27, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 28, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 29, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 30, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 31, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 32, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 33, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 34, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 35, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 36, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 37, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 38, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 39, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 40, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 41, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 42, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 43, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 44, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 45, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 46, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 47, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 48, this.largeLimestoneBricksStairs); + this.setBlockAndNotifyAdequately(world, i + 2, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 2, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 2, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 2, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 3, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 3, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 3, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 3, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 4, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 4, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 4, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 4, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 4, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 4, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 4, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 4, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 5, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 5, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 5, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 5, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 6, j + 3, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 42, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 6, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 6, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 6, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 6, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 6, j + 8, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 7, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 7, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 7, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 7, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 7, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 43, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 8, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 8, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 8, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 8, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 8, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 8, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 8, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 8, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 8, j + 7, k + 18, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 8, j + 7, k + 22, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 8, j + 7, k + 26, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 8, j + 7, k + 30, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 8, j + 7, k + 34, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 8, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 8, j + 10, k + 18, this.largeLimestoneBricksStairs, 5); + this.setBlockAndNotifyAdequately(world, i + 8, j + 10, k + 22, this.largeLimestoneBricksStairs, 5); + this.setBlockAndNotifyAdequately(world, i + 8, j + 10, k + 26, this.largeLimestoneBricksStairs, 5); + this.setBlockAndNotifyAdequately(world, i + 8, j + 10, k + 30, this.largeLimestoneBricksStairs, 5); + this.setBlockAndNotifyAdequately(world, i + 8, j + 10, k + 34, this.largeLimestoneBricksStairs, 5); + this.setBlockAndNotifyAdequately(world, i + 9, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 9, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 9, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 9, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 9, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 9, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 9, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 9, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 9, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 10, j + 2, k + 21, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 10, j + 2, k + 35, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 10, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 10, j + 5, k + 21, this.largeLimestoneBricksStairs, 6); + this.setBlockAndNotifyAdequately(world, i + 10, j + 5, k + 27, this.largeLimestoneBricksStairs, 7); + this.setBlockAndNotifyAdequately(world, i + 10, j + 5, k + 29, this.largeLimestoneBricksStairs, 6); + this.setBlockAndNotifyAdequately(world, i + 10, j + 5, k + 35, this.largeLimestoneBricksStairs, 7); + this.setBlockAndNotifyAdequately(world, i + 10, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 10, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 10, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 10, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 10, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 10, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 9, k + 43, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 10, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); + world.setBlock(i + 11, j + 3, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 3, k + 38, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 4, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 4, k + 38, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 11, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 11, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 11, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 11, j + 7, k + 28, Blocks.torch, 5); + this.setBlockAndNotifyAdequately(world, i + 11, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 11, j + 8, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 8, k + 38, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 9, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 9, k + 38, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 12, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 12, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 12, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 12, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 13, j + 2, k + 4, this.largeLimestoneBricksStairs); + world.setBlock(i + 13, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 13, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 13, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 13, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlock(i + 13, j + 7, k + 41, this.largeLimestoneBricksStairs); + this.setBlockAndNotifyAdequately(world, i + 13, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 13, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 9, k + 43, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 13, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); + this.setBlockAndNotifyAdequately(world, i + 14, j + 2, k + 3, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 14, j + 2, k + 5, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 14, j + 2, k + 39, this.largeLimestoneBricksStairs); + this.setBlockAndNotifyAdequately(world, i + 14, j + 5, k + 39, this.largeLimestoneBricksStairs, 4); + this.setBlockAndNotifyAdequately(world, i + 14, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 14, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 14, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 14, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 14, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 14, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); + this.setBlockAndNotifyAdequately(world, i + 15, j + 2, k + 4, this.largeLimestoneBricksStairs, 1); + world.setBlock(i + 15, j + 2, k + 26, this.largeLimestoneBricksStairs); + world.setBlock(i + 15, j + 2, k + 30, this.largeLimestoneBricksStairs); + world.setBlock(i + 15, j + 3, k + 24, this.largeLimestoneBricksStairs); + world.setBlock(i + 15, j + 3, k + 25, this.largeLimestoneBricksStairs); + world.setBlock(i + 15, j + 3, k + 31, this.largeLimestoneBricksStairs); + this.setBlockAndNotifyAdequately(world, i + 15, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 15, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 15, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 15, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 15, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 16, j + 2, k + 27, this.largeLimestoneBricksStairs); + world.setBlock(i + 16, j + 2, k + 28, this.largeLimestoneBricksStairs); + world.setBlock(i + 16, j + 2, k + 29, this.largeLimestoneBricksStairs); + world.setBlock(i + 16, j + 3, k + 9, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 16, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 16, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 16, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 16, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 16, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 16, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 16, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 16, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 9, k + 43, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 17, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 17, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 17, j + 2, k + 24, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 17, j + 2, k + 32, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 17, j + 3, k + 12, Blocks.torch, 4); + this.setBlockAndNotifyAdequately(world, i + 17, j + 3, k + 26, Blocks.torch, 5); + this.setBlockAndNotifyAdequately(world, i + 17, j + 3, k + 30, Blocks.torch, 5); + this.setBlockAndNotifyAdequately(world, i + 17, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 17, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 17, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 17, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 17, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 17, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); + this.setBlockAndNotifyAdequately(world, i + 18, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 18, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); + world.setBlock(i + 18, j + 2, k + 14, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 18, j + 2, k + 17, Blocks.torch, 5); + this.setBlockAndNotifyAdequately(world, i + 18, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 18, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 18, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 18, j + 4, k + 14, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 18, j + 5, k + 39, this.largeLimestoneBricksStairs, 5); + this.setBlockAndNotifyAdequately(world, i + 18, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 18, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 18, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 18, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 18, j + 8, k + 13, this.smallLimestoneBricks); + world.setBlock(i + 18, j + 8, k + 16, this.smallLimestoneBricks); + world.setBlock(i + 18, j + 9, k + 16, this.smallLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 13, this.largeLimestoneBricksStairs); + this.setBlockAndNotifyAdequately(world, i + 19, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 19, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); + world.setBlock(i + 19, j + 2, k + 14, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 19, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 19, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 19, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 19, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 19, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 19, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 19, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 19, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 19, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 19, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 19, j + 7, k + 19, Blocks.torch, 5); + this.setBlockAndNotifyAdequately(world, i + 19, j + 7, k + 38, Blocks.torch, 5); + this.setBlockAndNotifyAdequately(world, i + 19, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 19, j + 8, k + 43, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 19, j + 9, k + 16, this.largeLimestoneBricksStairs, 7); + world.setBlock(i + 19, j + 9, k + 43, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 20, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 20, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); + world.setBlock(i + 20, j + 2, k + 14, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 20, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 20, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 20, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 20, j + 4, k + 14, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 20, j + 5, k + 39, this.largeLimestoneBricksStairs, 4); + this.setBlockAndNotifyAdequately(world, i + 20, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 20, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 20, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 20, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 20, j + 8, k + 13, this.smallLimestoneBricks); + world.setBlock(i + 20, j + 8, k + 16, this.smallLimestoneBricks); + world.setBlock(i + 20, j + 9, k + 16, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 20, j + 10, k + 13, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 21, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 21, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 21, j + 2, k + 24, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 21, j + 2, k + 32, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 21, j + 3, k + 12, Blocks.torch, 4); + this.setBlockAndNotifyAdequately(world, i + 21, j + 3, k + 26, Blocks.torch, 5); + this.setBlockAndNotifyAdequately(world, i + 21, j + 3, k + 30, Blocks.torch, 5); + this.setBlockAndNotifyAdequately(world, i + 21, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 21, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 21, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 21, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 21, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 21, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); + this.setBlockAndNotifyAdequately(world, i + 22, j + 2, k + 27, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 22, j + 2, k + 28, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 22, j + 2, k + 29, this.largeLimestoneBricksStairs, 1); + world.setBlock(i + 22, j + 3, k + 9, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 22, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 22, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 22, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 22, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 22, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 22, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 22, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 22, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 23, j + 2, k + 4, this.largeLimestoneBricksStairs); + this.setBlockAndNotifyAdequately(world, i + 23, j + 2, k + 26, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 23, j + 2, k + 30, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 23, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 23, j + 3, k + 25, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 23, j + 3, k + 31, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 23, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 23, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 23, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 23, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 23, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 24, j + 2, k + 3, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 24, j + 2, k + 5, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 24, j + 2, k + 39, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 24, j + 5, k + 39, this.largeLimestoneBricksStairs, 5); + this.setBlockAndNotifyAdequately(world, i + 24, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 24, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 24, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 24, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 24, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 24, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); + this.setBlockAndNotifyAdequately(world, i + 25, j + 2, k + 4, this.largeLimestoneBricksStairs, 1); + world.setBlock(i + 25, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 25, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 25, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 25, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 25, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 25, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 25, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 9, k + 43, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 25, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); + this.setBlockAndNotifyAdequately(world, i + 26, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 26, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 26, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 26, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 27, j + 3, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 3, k + 38, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 4, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 4, k + 38, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 27, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 27, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 27, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 27, j + 7, k + 28, Blocks.torch, 5); + this.setBlockAndNotifyAdequately(world, i + 27, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 27, j + 8, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 8, k + 38, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 9, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 9, k + 38, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 28, j + 2, k + 21, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 28, j + 2, k + 35, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 28, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 28, j + 5, k + 21, this.largeLimestoneBricksStairs, 6); + this.setBlockAndNotifyAdequately(world, i + 28, j + 5, k + 27, this.largeLimestoneBricksStairs, 7); + this.setBlockAndNotifyAdequately(world, i + 28, j + 5, k + 29, this.largeLimestoneBricksStairs, 6); + this.setBlockAndNotifyAdequately(world, i + 28, j + 5, k + 35, this.largeLimestoneBricksStairs, 7); + this.setBlockAndNotifyAdequately(world, i + 28, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 28, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 28, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 28, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 28, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 28, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 9, k + 43, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 28, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); + this.setBlockAndNotifyAdequately(world, i + 29, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 29, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 29, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 29, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 29, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 29, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 29, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 29, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 29, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 30, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 30, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 30, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 30, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 30, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 30, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 30, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 30, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlock(i + 30, j + 7, k + 18, this.largeLimestoneBricksStairs); + world.setBlock(i + 30, j + 7, k + 22, this.largeLimestoneBricksStairs); + world.setBlock(i + 30, j + 7, k + 26, this.largeLimestoneBricksStairs); + world.setBlock(i + 30, j + 7, k + 30, this.largeLimestoneBricksStairs); + world.setBlock(i + 30, j + 7, k + 34, this.largeLimestoneBricksStairs); + this.setBlockAndNotifyAdequately(world, i + 30, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 30, j + 10, k + 18, this.largeLimestoneBricksStairs, 4); + this.setBlockAndNotifyAdequately(world, i + 30, j + 10, k + 22, this.largeLimestoneBricksStairs, 4); + this.setBlockAndNotifyAdequately(world, i + 30, j + 10, k + 26, this.largeLimestoneBricksStairs, 4); + this.setBlockAndNotifyAdequately(world, i + 30, j + 10, k + 30, this.largeLimestoneBricksStairs, 4); + this.setBlockAndNotifyAdequately(world, i + 30, j + 10, k + 34, this.largeLimestoneBricksStairs, 4); + world.setBlock(i + 31, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 31, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 31, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 31, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 31, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 31, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 42, this.smallLimestoneBricks); + this.generate5(world, rand, i, j, k); + return true; + } + + public boolean generate5(World world, Random rand, int i, int j, int k) { + world.setBlock(i + 32, j + 4, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 42, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 32, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world,i + 32, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world,i + 32, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world,i + 32, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 32, j + 8, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 42, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 33, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 33, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 33, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 33, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 34, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 34, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 34, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 34, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 34, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 34, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 34, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 34, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 35, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 35, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 35, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 35, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 36, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 36, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 36, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 36, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 37, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 12, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 45, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 12, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 45, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 37, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 37, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 10, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 11, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 12, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 13, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 14, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 15, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 16, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 17, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 18, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 19, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 20, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 21, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 22, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 23, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 24, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 25, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 26, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 27, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 28, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 29, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 30, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 31, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 32, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 33, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 34, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 35, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 36, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 37, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 38, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 39, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 40, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 41, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 42, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 43, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 44, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 45, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 46, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 47, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 48, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 9, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 10, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 11, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 12, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 13, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 14, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 15, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 16, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 17, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 18, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 19, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 20, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 21, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 22, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 23, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 24, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 25, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 26, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 27, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 28, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 29, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 30, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 31, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 32, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 33, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 34, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 35, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 36, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 37, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 38, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 39, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 40, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 41, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 42, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 43, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 44, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 45, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 46, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 47, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 48, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 49, this.largeLimestoneBricksStairs, 1); + return true; + } +} diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalm.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalm.java new file mode 100644 index 0000000..04ab34f --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalm.java @@ -0,0 +1,134 @@ +package com.teammetallurgy.atum.world.decorators; + +import com.teammetallurgy.atum.blocks.AtumBlocks; +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +import java.util.Random; + +public class WorldGenPalm extends WorldGenerator { + + private final int minTreeHeight; + private final int metaWood; + private final int metaLeaves; + + public WorldGenPalm(boolean par1) { + this(par1, 5, 0, 0); + } + + public WorldGenPalm(boolean par1, int par2, int par3, int par4) { + super(par1); + this.minTreeHeight = par2; + this.metaWood = par3; + this.metaLeaves = par4; + } + + @Override + public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { + int l = par2Random.nextInt(3) + this.minTreeHeight; + boolean flag = true; + Block blocks = par1World.getBlock(par3, par4 - 1, par5); + if ((blocks == AtumBlocks.BLOCK_SAND || blocks == AtumBlocks.BLOCK_FERTILESOIL || blocks == Blocks.dirt) && par4 >= 1 && par4 + l + 1 <= 256) { + int i1; + int j1; + Block k1; + for (i1 = par4; i1 <= par4 + 1 + l; ++i1) { + byte b0 = 1; + if (i1 == par4) { + b0 = 0; + } + + if (i1 >= par4 + 1 + l - 2) { + b0 = 2; + } + + for (int soil = par3 - b0; soil <= par3 + b0 && flag; ++soil) { + for (j1 = par5 - b0; j1 <= par5 + b0 && flag; ++j1) { + if (i1 >= 0 && i1 < 256) { + k1 = par1World.getBlock(soil, i1, j1); + if (k1 != null && !k1.isLeaves(par1World, soil, i1, j1) && k1 != AtumBlocks.BLOCK_FERTILESOIL && k1 != Blocks.dirt && !k1.isWood(par1World, soil, i1, j1) && k1 != AtumBlocks.BLOCK_SAND && k1 != Blocks.air) { + flag = false; + } + } else { + flag = false; + } + } + } + } + + if (!flag) { + return false; + } else { + Block var21 = par1World.getBlock(par3, par4 - 1, par5); + if (par4 >= 256 - l - 1) { + return false; + } else { + if (var21 != null) { + var21.onPlantGrow(par1World, par3, par4 - 1, par5, par3, par4, par5); + } + + boolean var20 = true; + boolean var22 = false; + this.spawnLeaf(par1World, par3, par4 + l + 1, par5); + + for (int block = -1; block <= 1; ++block) { + for (int z = -1; z <= 1; ++z) { + if (block != 0 || z != 0) { + this.spawnLeaf(par1World, par3 + block, par4 + l, par5 + z); + } + } + } + + this.spawnLeaf(par1World, par3 + 2, par4 + l, par5); + this.spawnLeaf(par1World, par3 - 2, par4 + l, par5); + this.spawnLeaf(par1World, par3, par4 + l, par5 + 2); + this.spawnLeaf(par1World, par3, par4 + l, par5 - 2); + this.spawnLeaf(par1World, par3, par4 + l - 1, par5 - 2); + this.spawnLeaf(par1World, par3, par4 + l - 1, par5 + 2); + this.spawnLeaf(par1World, par3 + 2, par4 + l - 1, par5); + this.spawnLeaf(par1World, par3 - 2, par4 + l - 1, par5); + this.spawnLeaf(par1World, par3, par4 + l - 1, par5 - 3); + this.spawnLeaf(par1World, par3, par4 + l - 1, par5 + 3); + this.spawnLeaf(par1World, par3 + 3, par4 + l - 1, par5); + this.spawnLeaf(par1World, par3 - 3, par4 + l - 1, par5); + if (par2Random.nextInt(100) < 15) { + par1World.setBlock(par3 + 1, par4 + l - 1, par5, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + } + + if (par2Random.nextInt(100) < 15) { + par1World.setBlock(par3 - 1, par4 + l - 1, par5, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + } + + if (par2Random.nextInt(100) < 15) { + par1World.setBlock(par3, par4 + l - 1, par5 + 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + } + + if (par2Random.nextInt(100) < 15) { + par1World.setBlock(par3, par4 + l - 1, par5 - 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + } + + for (j1 = 0; j1 <= l; ++j1) { + Block var23 = par1World.getBlock(par3, par4 + j1, par5); + if (var23 == null || var23.isLeaves(par1World, par3, par4 + j1, par5) || var23 == Blocks.air) { + this.setBlockAndNotifyAdequately(par1World, par3, par4 + j1, par5, AtumBlocks.BLOCK_LOG, this.metaWood); + } + } + + return true; + } + } + } else { + return false; + } + } + + public void spawnLeaf(World par1World, int x, int y, int z) { + Block block = par1World.getBlock(x, y, z); + if (block == null || block.canBeReplacedByLeaves(par1World, x, y, z)) { + this.setBlockAndNotifyAdequately(par1World, x, y, z, AtumBlocks.BLOCK_LEAVES, this.metaLeaves); + } + + } +} diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java new file mode 100644 index 0000000..ae450ad --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java @@ -0,0 +1,222 @@ +package com.teammetallurgy.atum.world.decorators; + +import com.teammetallurgy.atum.items.AtumLoot; +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +import java.util.ArrayList; +import java.util.Random; + +import static net.minecraftforge.common.util.ForgeDirection.*; + +public class WorldGenPyramid extends WorldGenerator { + @Override + public boolean generate(World world, Random random, int i, int j, int k) { + if (random.nextFloat() > 0.3) + j -= 8; + + int width = 17; + int depth = 17; + + boolean[][] maze = new boolean[17][17]; + + ArrayList points = new ArrayList(); + + int zIn = 9; + + maze[0][zIn] = true; + generateMaze(maze, random, 1, zIn); + + for (int y = -6; y < 10; y++) { + for (int x = y; x <= width - y; x++) { + for (int z = y; z <= depth - y; z++) { + Block id = world.getBlock(x + i, y + j + 3, z + k); + if (id == null || id == AtumBlocks.BLOCK_SAND) + world.setBlockToAir(x + i, y + j + 3, z + k); + world.setBlock(x + i, y + j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK); + } + } + } + + for (int x = -3; x < width + 3; x++) { + for (int z = -3; z < depth + 3; z++) { + if (x >= 0 && x < width && z >= 0 && z < depth) { + world.setBlockToAir(x + i, j, z + k); + world.setBlock(x + i, j - 1, z + k, AtumBlocks.BLOCK_STONE); + if (!maze[x][z]) { + if (random.nextFloat() > 0.1F) { + world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_LARGEBRICK); + Block temp = world.getBlock(x + i, j + 1, z + k); + if (temp != null) { + temp.setBlockUnbreakable(); + } + } else + placeTrap(world, x + i, j, z + k); + world.setBlock(x + i, j + 1, z + k, AtumBlocks.BLOCK_LARGEBRICK); + Block temp = world.getBlock(x + i, j + 1, z + k); + if (temp != null) { + temp.setBlockUnbreakable(); + } + + world.setBlock(x + i, j + 2, z + k, AtumBlocks.BLOCK_LARGEBRICK); + temp = world.getBlock(x + i, j + 2, z + k); + if (temp != null) { + temp.setBlockUnbreakable(); + } + } else { + int meta = random.nextInt(5); + world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_SANDLAYERED, meta, 0); + world.setBlockToAir(x + i, j + 1, z + k); + world.setBlockToAir(x + i, j + 2, z + k); + } + world.setBlock(x + i, j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK); + Block temp = world.getBlock(x + i, j + 3, z + k); + if (temp != null) { + temp.setBlockUnbreakable(); + } + } + } + } + + world.setBlockToAir(i - 1, j, k + zIn); + world.setBlockToAir(i - 1, j + 1, k + zIn); + world.setBlockToAir(i - 2, j, k + zIn); + world.setBlockToAir(i - 2, j + 1, k + zIn); + world.setBlockToAir(i - 3, j, k + zIn); + world.setBlockToAir(i - 3, j + 1, k + zIn); + world.setBlockToAir(i - 4, j, k + zIn); + world.setBlockToAir(i - 4, j + 1, k + zIn); + + for (int y = 4; y < 8; y++) { + for (int x = 6; x < 12; x++) { + for (int z = 6; z < 12; z++) { + world.setBlockToAir(i + x, j + y, k + z); + } + } + } + + world.setBlock(i + 11, j + 6, k + 7, Blocks.torch, 2, 0); + world.setBlock(i + 11, j + 6, k + 10, Blocks.torch, 2, 0); + + world.setBlock(i + 10, j + 4, k + 8, AtumBlocks.BLOCK_PHARAOHCHEST, 0, 2); + try { + TileEntityPharaohChest te = (TileEntityPharaohChest) world.getTileEntity(i + 10, j + 4, k + 8); + AtumLoot.fillChest(te, 15, 0.9f); + } catch (ClassCastException e) { + } + if (world.isAirBlock(i + 7, j + 1, k + 7)) { + placeLadders(world, i + 7, j, k + 7, 4); + } else { + boolean found = false; + for (int dx = -1; dx <= 1; dx++) { + if (found) + break; + + for (int dz = -1; dz <= 1; dz++) { + if (world.isAirBlock(i + 7 + dx, j + 1, k + 7 + dz)) { + placeLadders(world, i + 7 + dx, j, k + 7 + dz, 3); + found = true; + break; + } + } + } + } + + return false; + } + + public void placeTrap(World world, int x, int y, int z) { + int meta = 0; + if (world.isSideSolid(x, y, z + 1, NORTH)) { + meta = 3; + ; + } + + if (world.isSideSolid(x, y, z - 1, SOUTH)) { + meta = 4; + } + + if (world.isSideSolid(x + 1, y, z, WEST)) { + meta = 5; + } + + if (world.isSideSolid(x - 1, y, z, EAST)) { + meta = 2; + } + + world.setBlock(x, y, z, AtumBlocks.BLOCK_TRAPARROW, meta, 0); + } + + public void placeLadders(World world, int x, int y, int z, int height) { + int meta = 0; + if (world.isSideSolid(x, y, z + 1, NORTH)) { + meta = 2; + ; + } + + if (world.isSideSolid(x, y, z - 1, SOUTH)) { + meta = 3; + } + + if (world.isSideSolid(x + 1, y, z, WEST)) { + meta = 4; + } + + if (world.isSideSolid(x - 1, y, z, EAST)) { + meta = 5; + } + + for (int i = 0; i < height; i++) + world.setBlock(x, y + i, z, Blocks.ladder, meta, 0); + } + + public void generateMaze(boolean[][] array, Random random, int x, int y) { + int dx = 0; + int dy = 0; + + ArrayList choices = new ArrayList(); + do { + choices.clear(); + if (x + 2 < 16 && array[x + 2][y] == false) + choices.add(new Pair(2, 0)); + if (x - 2 >= 0 && array[x - 2][y] == false) + choices.add(new Pair(-2, 0)); + if (y + 2 < 16 && array[x][y + 2] == false) + choices.add(new Pair(0, 2)); + if (y - 2 >= 0 && array[x][y - 2] == false) + choices.add(new Pair(0, -2)); + + if (choices.size() > 0) { + int i = random.nextInt(choices.size()); + Pair choice = choices.get(i); + choices.remove(i); + array[choice.x + x][choice.y + y] = true; + array[x + choice.x / 2][y + choice.y / 2] = true; + generateMaze(array, random, x + choice.x, y + choice.y); + } + + } while (choices.size() > 0); + } + + class Pair { + public int x; + public int y; + + Pair(int x, int y) { + this.x = x; + this.y = y; + } + + @Override + public boolean equals(Object p) { + if (p instanceof Pair) + return ((Pair) p).x == x && ((Pair) p).y == y; + else + return false; + } + } +} \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenRuins.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenRuins.java new file mode 100644 index 0000000..2364914 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenRuins.java @@ -0,0 +1,93 @@ +package com.teammetallurgy.atum.world.decorators; + +import com.teammetallurgy.atum.items.AtumLoot; +import com.teammetallurgy.atum.blocks.AtumBlocks; +import net.minecraft.inventory.IInventory; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +import java.util.Random; + +public class WorldGenRuins extends WorldGenerator { + @Override + public boolean generate(World world, Random random, int i, int j, int k) { + int width = random.nextInt(4) + 6; + int depth = random.nextInt(2) + 5; + int height = world.getHeightValue(i, k); + int x2; + int z2; + if (world.getHeightValue(i + width, k + depth) >= height) { + x2 = i + width; + z2 = k + depth; + } else if (world.getHeightValue(i - width, k + depth) >= height) { + x2 = i - width; + z2 = k + depth; + } else if (world.getHeightValue(i + width, k - depth) >= height) { + x2 = i + width; + z2 = k - depth; + } else { + if (world.getHeightValue(i - width, k - depth) < height) { + return false; + } + + x2 = i - width; + z2 = k - depth; + } + + int chestX; + int chestZ; + int chestY; + for (chestX = Math.min(x2, i); chestX <= Math.max(x2, i); ++chestX) { + for (chestZ = Math.min(z2, k); chestZ <= Math.max(z2, k); ++chestZ) { + int meta = random.nextInt(4); + + for (chestY = -1; chestY < 15; ++chestY) { + if (chestX != x2 && chestZ != z2 && chestX != i && chestZ != k && chestY != -1) { + world.setBlockToAir(chestX, chestY + height, chestZ); + } else if (chestY < meta) { + if ((double) random.nextFloat() > 0.1D) { + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_LARGEBRICK); + } else { + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SMALLBRICK); + } + } else if (chestY == meta && (double) random.nextFloat() > 0.7D) { + if ((double) random.nextFloat() > 0.1D) { + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SLABS, 2, 0); + } else { + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SLABS, 3, 0); + } + } + } + } + } + + chestX = width / 2 + i; + chestZ = Math.max(z2, k) - 1; + boolean var16 = false; + if ((double) random.nextFloat() > 0.5D) { + chestX = random.nextInt(width - 1) + 1 + Math.min(i, x2); + if ((double) random.nextFloat() > 0.5D) { + chestZ = Math.max(z2, k) - 1; + var16 = true; + } else { + chestZ = Math.min(z2, k) + 1; + var16 = true; + } + } else { + chestZ = random.nextInt(depth - 1) + 1 + Math.min(k, z2); + if ((double) random.nextFloat() > 0.5D) { + chestX = Math.max(x2, i) - 1; + var16 = true; + } else { + chestX = Math.min(x2, i) + 1; + var16 = true; + } + } + + chestY = world.getHeightValue(chestX, chestZ); + world.setBlock(chestX, chestY, chestZ, AtumBlocks.BLOCK_CURSEDCHEST, 0, 2); + IInventory chest = (IInventory) world.getTileEntity(chestX, chestY, chestZ); + AtumLoot.fillChest(chest, 5, 0.5F); + return false; + } +} diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenShrub.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenShrub.java new file mode 100644 index 0000000..7c88b99 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenShrub.java @@ -0,0 +1,36 @@ +package com.teammetallurgy.atum.world.decorators; + +import com.teammetallurgy.atum.blocks.AtumBlocks; +import net.minecraft.block.Block; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +import java.util.Random; + +public class WorldGenShrub extends WorldGenerator { + + private Block deadBush; + private int groupSize; + + public WorldGenShrub(Block par1, int par2) { + this.deadBush = par1; + this.groupSize = par2; + } + + @Override + public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { + int size = par2Random.nextInt(this.groupSize / 2) + this.groupSize / 2; + + for (int i1 = 0; i1 < size; ++i1) { + byte range = 6; + int x = par3 + par2Random.nextInt(range + 1) - range / 2; + int z = par5 + par2Random.nextInt(range + 1) - range / 2; + int y = par1World.getHeightValue(x, z); + if (par1World.isAirBlock(x, y, z) && AtumBlocks.BLOCK_SHRUB.canBlockStay(par1World, x, y, z)) { + par1World.setBlock(x, y, z, this.deadBush); + } + } + + return true; + } +} diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang new file mode 100644 index 0000000..155d5db --- /dev/null +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -0,0 +1,441 @@ +# Misc +itemGroup.atum=Atum +biome.desert.name=Desert + +# Blocks +block.portal.name=Atum Portal +tile.chestSpawner.name=Atum Chest +tile.sand.name=Strange Sand +tile.limestone.name=Limestone +tile.cobble.name=Cracked Limestone +tile.largeBrickUnbreakable.name=Limestone Large Bricks (Unbreakable) +tile.largeBrick.name=Limestone Large Bricks +tile.smallBrick.name=Limestone Small Bricks +tile.carvedBrick.name=Limestone Carved Bricks +tile.smoothSlab.name=Smooth Limestone Slab +tile.crackedSlab.name=Cracked Limestone Slab +tile.largeBrickSlab.name=Large Limestone Brick Slab +tile.smallBrickSlab.name=Small Limestone Brick Slab +tile.doubleSlab.name=Limestone Slab +tile.smoothStairs.name=Limestone Stairs +tile.cobbleStairs.name=Limestone Cobble Stairs +tile.largeStairsUnbreakable.name=Limestone Large Brick Stairs (Unbreakable) +tile.largeStairs.name=Limestone Large Brick Stairs +tile.smallStairs.name=Limestone Small Brick Stairs +tile.sandLayer.name=Sand Layer +tile.crackedLargeBrick.name=Limestone Cracked Large Bricks +tile.smoothWall.name=Smooth Limestone Wall +tile.crackedWall.name=Cracked Limestone Wall +tile.largeBrickWall.name=Large Limestone Brick Wall +tile.smallBrickWall.name=Small Limestone Brick Wall +tile.crystalGlass.name=Crystal Glass +tile.framedGlass.name=Framed Glass +tile.palmSapling.name=Palm Sapling +tile.date.name=Date +tile.shrub.name=Shrub +tile.weed.name=Weed +tile.papyrus.name=Papyrus +tile.flax.name=Flax +tile.fertileSoil.name=Fertile Soil +tile.fertileSoilTilled.name=Tilled Fertile Soil +tile.palmLog.name=Palm Log +tile.palmLeaves.name=Palm Leaves +tile.palmPlanks.name=Palm Planks +tile.thinCrystalGlass.name=Thin Crystal Glass +tile.thinFramedGlass.name=Thin Framed Glass +tile.burningTrap.name=Burning Trap +tile.pharaohChest.name=Pharaoh's Chest +tile.redstoneOre.name=Redstone Ore +tile.coalOre.name=Coal Ore +tile.ironOre.name=Iron Ore +tile.goldOre.name=Gold Ore +tile.lapisOre.name=Lapis Ore +tile.diamondOre.name=Diamond Ore +tile.furnaceIdle.name=Limestone Furnace +tile.furnaceBurning.name=Limestone Furnace + +# Stained Glass +tile.crystalStainedGlassBlack.name=Black Stained Crystal Glass +tile.crystalStainedGlassRed.name=Red Stained Crystal Glass +tile.crystalStainedGlassGreen.name=Green Stained Crystal Glass +tile.crystalStainedGlassBrown.name=Brown Stained Crystal Glass +tile.crystalStainedGlassBlue.name=Blue Stained Crystal Glass +tile.crystalStainedGlassPurple.name=Purple Stained Crystal Glass +tile.crystalStainedGlassCyan.name=Cyan Stained Crystal Glass +tile.crystalStainedGlassSilver.name=Silver Stained Crystal Glass +tile.crystalStainedGlassGray.name=Gray Stained Crystal Glass +tile.crystalStainedGlassPink.name=Pink Stained Crystal Glass +tile.crystalStainedGlassLime.name=Lime Stained Crystal Glass +tile.crystalStainedGlassYellow.name=Yellow Stained Crystal Glass +tile.crystalStainedGlassLightBlue.name=Light Blue Stained Crystal Glass +tile.crystalStainedGlassMagenta.name=Magenta Stained Crystal Glass +tile.crystalStainedGlassOrange.name=Orange Stained Crystal Glass +tile.crystalStainedGlassWhite.name=White Stained Crystal Glass + +tile.framedStainedGlassBlack.name=Black Stained Framed Glass +tile.framedStainedGlassRed.name=Red Stained Framed Glass +tile.framedStainedGlassGreen.name=Green Stained Framed Glass +tile.framedStainedGlassBrown.name=Brown Stained Framed Glass +tile.framedStainedGlassBlue.name=Blue Stained Framed Glass +tile.framedStainedGlassPurple.name=Purple Stained Framed Glass +tile.framedStainedGlassCyan.name=Cyan Stained Framed Glass +tile.framedStainedGlassSilver.name=Silver Stained Framed Glass +tile.framedStainedGlassGray.name=Gray Stained Framed Glass +tile.framedStainedGlassPink.name=Pink Stained Framed Glass +tile.framedStainedGlassLime.name=Lime Stained Framed Glass +tile.framedStainedGlassYellow.name=Yellow Stained Framed Glass +tile.framedStainedGlassLightBlue.name=Light Blue Stained Framed Glass +tile.framedStainedGlassMagenta.name=Magenta Stained Framed Glass +tile.framedStainedGlassOrange.name=Orange Stained Framed Glass +tile.framedStainedGlassWhite.name=White Stained Framed Glass + +tile.thinCrystalStainedGlassBlack.name=Black Stained Thin Crystal Glass +tile.thinCrystalStainedGlassRed.name=Red Stained Thin Crystal Glass +tile.thinCrystalStainedGlassGreen.name=Green Stained Thin Crystal Glass +tile.thinCrystalStainedGlassBrown.name=Brown Stained Thin Crystal Glass +tile.thinCrystalStainedGlassBlue.name=Blue Stained Thin Crystal Glass +tile.thinCrystalStainedGlassPurple.name=Purple Stained Thin Crystal Glass +tile.thinCrystalStainedGlassCyan.name=Cyan Stained Thin Crystal Glass +tile.thinCrystalStainedGlassSilver.name=Silver Stained Thin Crystal Glass +tile.thinCrystalStainedGlassGray.name=Gray Stained Thin Crystal Glass +tile.thinCrystalStainedGlassPink.name=Pink Stained Thin Crystal Glass +tile.thinCrystalStainedGlassLime.name=Lime Stained Thin Crystal Glass +tile.thinCrystalStainedGlassYellow.name=Yellow Stained Thin Crystal Glass +tile.thinCrystalStainedGlassLightBlue.name=Light Blue Stained Thin Crystal Glass +tile.thinCrystalStainedGlassMagenta.name=Magenta Stained Thin Crystal Glass +tile.thinCrystalStainedGlassOrange.name=Orange Stained Thin Crystal Glass +tile.thinCrystalStainedGlassWhite.name=White Stained Thin Crystal Glass + +tile.thinFramedStainedGlassBlack.name=Black Stained Thin Framed Glass +tile.thinFramedStainedGlassRed.name=Red Stained Thin Framed Glass +tile.thinFramedStainedGlassGreen.name=Green Stained Thin Framed Glass +tile.thinFramedStainedGlassBrown.name=Brown Stained Thin Framed Glass +tile.thinFramedStainedGlassBlue.name=Blue Stained Thin Framed Glass +tile.thinFramedStainedGlassPurple.name=Purple Stained Thin Framed Glass +tile.thinFramedStainedGlassCyan.name=Cyan Stained Thin Framed Glass +tile.thinFramedStainedGlassSilver.name=Silver Stained Thin Framed Glass +tile.thinFramedStainedGlassGray.name=Gray Stained Thin Framed Glass +tile.thinFramedStainedGlassPink.name=Pink Stained Thin Framed Glass +tile.thinFramedStainedGlassLime.name=Lime Stained Thin Framed Glass +tile.thinFramedStainedGlassYellow.name=Yellow Stained Thin Framed Glass +tile.thinFramedStainedGlassLightBlue.name=Light Blue Stained Thin Framed Glass +tile.thinFramedStainedGlassMagenta.name=Magenta Stained Thin Framed Glass +tile.thinFramedStainedGlassOrange.name=Orange Stained Thin Framed Glass +tile.thinFramedStainedGlassWhite.name=White Stained Thin Framed Glass + +# Containers +container.limestoneFurnace=Limestone Furnace + +# Item +item.scarab.name=Scarab +item.loot.name=Loot +item.scimitar.name=Scimitar +item.greatsword.name=Greatsword +item.scepter.name=Scepter +item.stoneSoldierSword.name=Stone Soldier Sword +item.bow.name=Shortbow +item.limestoneShovel.name=Limestone Shovel +item.limestonePickaxe.name=Limestone Pickaxe +item.limestoneAxe.name=Limestone Axe +item.limestoneSword.name=Limestone Sword +item.limestoneHoe.name=Limestone Hoe +item.mummyHelmet.name=Mummy Helmet +item.mummyChest.name=Mummy Chestplate +item.mummyLegs.name=Mummy Leggings +item.mummyBoots.name=Mummy Boots +item.wandererHelmet.name=Wanderer Helmet +item.wandererChest.name=Wanderer Chestplate +item.wandererLegs.name=Wanderer Leggings +item.wandererBoots.name=Wanderer Boots +item.desertHelmet.name=Desert Helmet +item.desertChest.name=Desert Chestplate +item.desertLegs.name=Desert Leggings +item.desertBoots.name=Desert Boots +item.papyrusPlant.name=Papyrus +item.ectoplasm.name=Ectoplasm +item.stoneChunk.name=Stone Chunk +item.clothScrap.name=Cloth Scrap +item.scroll.name=Scroll +item.wolfPelt.name=Wolf Pelt +item.date.name=Date +item.linen.name=Linen +item.flax.name=Flax +item.flaxSeeds.name=Flax Seed +item.fish.0.name=Forsaken Fish +item.fish.1.name=Mummified Fish +item.fish.2.name=Jeweled Fish +item.fish.3.name=Skeletal Fish + +item.ptahsDecadence.name=Ptah's Decadence +item.soteksRage.name=Sotek's Rage +item.osirisWill.name=Osiris's Will +item.akersToil.name=Aker's Toil +item.gebsBlessing.name=Geb's Blessing +item.atensFury.name=Aten's Fury +item.rasGlory.name=Ra's Glory +item.sekhmetsWrath.name=Sekhmet's Wrath +item.nutsAgility.name=Nut's Agility +item.horusFlight.name=Horus's Flight +item.monthusStrike.name=Monthu's Strike +item.anhursMight.name=Anhur's Might +item.hedetetsSting.name=Hedetet's Sting +item.horusSoaring.name=Horus's Soaring +item.shusBreath.name=Shu's Breath +item.ptahsDestruction.name=Ptah's Destruction +item.monthusBlast.name=Monthu's Blast +item.nusFlux.name=Nu's Flux +item.mnevisHorns.name=Mnevis's Horns +item.isisEmbrace.name=Isis's Embrace +item.maatsBalance.name=Maat's Balance +item.hedetetsVenom.name=Hedetet's Venom +item.gebsSolidarity.name=Geb's Solidarity +item.nutsCall.name=Nut's Call +item.anuketsBounty.name=Anuket's Bounty +item.mafdetsQuickness.name=Mafdet's Quickness +item.isisHealing.name=Isis's Healing +item.amunetsHomecoming.name=Amunet's Homecoming +item.anubisMercy.name=Anubis's Mercy +item.neithsAudacity.name=Neith's Audacity + + +# Item Information +item.akersToil.line1=Performance I: Faster, does +item.akersToil.line2=not consume fatique +item.akersToil.line3=Performance I + +item.amunetsHomecoming.line1=Return I: Teleports you back +item.amunetsHomecoming.line2=to your spawn point +item.amunetsHomecoming.line3=Return I + +item.anhursMight.line1=Mighty I: Slows player, +item.anhursMight.line2=Chance to stun foes +item.anhursMight.line3=Mighty I + +item.ptahsDecadence.line1=Wealth I: Gain an extra +item.ptahsDecadence.line2=diamond from each ore +item.ptahsDecadence.line3=Wealth I + +item.soteksRage.line1=Exile I: Knocks foes +item.soteksRage.line2=back a large amount +item.soteksRage.line3=Exile I + +item.osirisWill.line1=Banish I: Bonus damage to undead, +item.osirisWill.line2=chance to drop ectoplasm +item.osirisWill.line3=Banish I + +item.gebsBlessing.line1=Sowing I: Tilled ground is blessed, +item.gebsBlessing.line2=granting increased growth rate +item.gebsBlessing.line3=Sowing I + +item.atensFury.line1=Fire Shot I: Flaming arrow +item.atensFury.line2=ignites blocks and foes +item.atensFury.line3=Fire Shot I + +item.rasGlory.line1=Divine Vision I: Night vision, increased +item.rasGlory.line2=range of vision in Atum +item.rasGlory.line3=Divine Vision I + +item.sekhmetsWrath.line1=Immolation I: Protection from fire, +item.sekhmetsWrath.line2=chance to ignite attackers +item.sekhmetsWrath.line3=Immolation I + +item.nutsAgility.line1=Agility I: Increased run +item.nutsAgility.line2=and swinging speed +item.nutsAgility.line3=Agility I + +item.horusFlight.line1=Nimbleness I: Increased jump height, +item.horusFlight.line2=protection from fall damage +item.horusFlight.line3=Nimbleness I + +item.monthusStrike.line1=Slam I: Increased damage, +item.monthusStrike.line2=charge for AOE knockback +item.monthusStrike.line3=Slam I + +item.hedetetsSting.line1=Poison II: Chance +item.hedetetsSting.line2=to poison foes +item.hedetetsSting.line3=Poison II + +item.horusSoaring.line1=Velocity I: Arrow Velocity, +item.horusSoaring.line2=increases arrow velocity by 50% +item.horusSoaring.line3=Velocity I + +item.shusBreath.line1=Quickdraw I: Reduced +item.shusBreath.line2=drawback speed +item.shusBreath.line3=Quickdraw I + +item.ptahsDestruction.line1=Stonecutter I: Increases damage +item.ptahsDestruction.line2=to stone enemies +item.ptahsDestruction.line3=Stonecutter I + +item.monthusBlast.line1=Explosive Shot I: Arrows explode +item.monthusBlast.line2=on impact +item.monthusBlast.line3=Explosive Shot I + +item.nusFlux.line1=Sweep I: Chance to launch +item.nusFlux.line2=foes into the air +item.nusFlux.line3=Sweep I + +item.mnevisHorns.line1=Melee Reflection I: Deals +item.mnevisHorns.line2=damage to attackers +item.mnevisHorns.line3=Melee Reflection I + +item.isisEmbrace.line1=Regeneration I: Regens +item.isisEmbrace.line2=health slowly +item.isisEmbrace.line3=Regeneration I + +item.maatsBalance.line1=Balance I: Decreases damage +item.maatsBalance.line2=dealt, Decreases damage taken +item.maatsBalance.line3=Balance I + +item.hedetetsVenom.line1=Poison Arrow I: Fires an +item.hedetetsVenom.line2=arrow that poisons foes +item.hedetetsVenom.line3=Poison Arrow I + +item.gebsSolidarity.line1=Stalwart I: Decreased movement +item.gebsSolidarity.line2=speed, decreased knockback (WIP) +item.gebsSolidarity.line3=Stalwart I + +item.nutsCall.line1=Wrath I: Chance to strike +item.nutsCall.line2=foe with lightning +item.nutsCall.line3=Wrath I + +item.anuketsBounty.line1=Alluring I: Chance to catch +item.anuketsBounty.line2=special fish in Atum +item.anuketsBounty.line3=Alluring I + +item.mafdetsQuickness.line1=Swiftness I: You run +item.mafdetsQuickness.line2=faster when held +item.mafdetsQuickness.line3=Swiftness I + +item.isisHealing.line1=Regeneration I: Regenerates +item.isisHealing.line2=health slowly while held +item.isisHealing.line3=Regeneration I + +item.anubisMercy.line1=Return I: On Death teleports you back, +item.anubisMercy.line2=to your spawn point +item.anubisMercy.line3=Return I + +item.neithsAudacity.line1=Double Shot I: Fires +item.neithsAudacity.line2=two arrows +item.neithsAudacity.line3=Double Shot I + +tooltip.atum.minutesRemaining=%d Minutes Remaining +tooltip.atum.usesRemaining=%d Uses Remaining + +# Loot +item.loot.dirty.name=Dirty +item.loot.silver.name=Silver +item.loot.gold.name=Gold +item.loot.sapphire.name=Sapphire +item.loot.ruby.name=Ruby +item.loot.emerald.name=Emerald +item.loot.diamond.name=Diamond + +item.loot.idol.name=Idol +item.loot.necklace.name=Necklace +item.loot.ring.name=Ring +item.loot.broach.name=Broach +item.loot.scepter.name=Scepter + +# Individual loot names +item.loot.gold.idol.name=Golden Idol +item.loot.gold.broach.name=Golden Broach +item.loot.gold.scepter.name=Golden Scepter + +# Entity +entity.atum.mummy.name=Mummy +entity.atum.banditWarrior.name=Bandit Warrior +entity.atum.banditArcher.name=Bandit Archer +entity.atum.pharaoh.name=Pharaoh +entity.atum.dustySkeleton.name=Dusty Skeleton +entity.atum.desertGhost.name=Wraith +entity.atum.stoneSoldier.name=Stoneguard +entity.atum.desertWolf.name=Desert Wolf +entity.atum.banditWarlord.name=Bandit Warlord +entity.atum.barbarian.name=Barbarian + +# Pharaoh Names +entity.atum.pharaoh.Ama=Ama' +entity.atum.pharaoh.Ata=Ata' +entity.atum.pharaoh.Ato=Ato' +entity.atum.pharaoh.Bak=Bak' +entity.atum.pharaoh.Cal=Cal' +entity.atum.pharaoh.Djet=Djet' +entity.atum.pharaoh.Eje=Eje' +entity.atum.pharaoh.For=For' +entity.atum.pharaoh.Gol=Gol' +entity.atum.pharaoh.Gut=Gut' +entity.atum.pharaoh.Hop=Hop' +entity.atum.pharaoh.Hor=Hor' +entity.atum.pharaoh.Huni=Huni' +entity.atum.pharaoh.Iam=Iam' +entity.atum.pharaoh.Jor=Jor' +entity.atum.pharaoh.Kal=Kal' +entity.atum.pharaoh.Khas=Khas' +entity.atum.pharaoh.Khor=Khor' +entity.atum.pharaoh.Lat=Lat' +entity.atum.pharaoh.Mal=Mal' +entity.atum.pharaoh.Not=Not' +entity.atum.pharaoh.Oap=Oap' +entity.atum.pharaoh.Pra=Pra' +entity.atum.pharaoh.Qo=Qo' +entity.atum.pharaoh.Ras=Ras' +entity.atum.pharaoh.Shas=Shas' +entity.atum.pharaoh.Thoth=Thoth' +entity.atum.pharaoh.Tui=Tui' +entity.atum.pharaoh.Uld=Uld' +entity.atum.pharaoh.Ver=Ver' +entity.atum.pharaoh.Wot=Wot' +entity.atum.pharaoh.Xo=Xo' +entity.atum.pharaoh.Yat=Yat' +entity.atum.pharaoh.Zyt=Zyt' +entity.atum.pharaoh.Khep=Khep' + +entity.atum.pharaoh.Ahat=ahat +entity.atum.pharaoh.Amesh=amesh +entity.atum.pharaoh.Amon=amon +entity.atum.pharaoh.Anut=anut +entity.atum.pharaoh.Baroom=baroom +entity.atum.pharaoh.Chanta=chanta +entity.atum.pharaoh.Erant=erant +entity.atum.pharaoh.Funam=funam +entity.atum.pharaoh.Daresh=daresh +entity.atum.pharaoh.Djer=djer +entity.atum.pharaoh.Hotesh=hotesh +entity.atum.pharaoh.Khaden=khaden +entity.atum.pharaoh.Kron=kron +entity.atum.pharaoh.Gorkum=gorkum +entity.atum.pharaoh.Ialenter=ialenter +entity.atum.pharaoh.Ma'at=ma'at +entity.atum.pharaoh.Narmer=narmer +entity.atum.pharaoh.Radeem=radeem +entity.atum.pharaoh.Jaloom=jaloom +entity.atum.pharaoh.Lepsha=lepsha +entity.atum.pharaoh.Quor=quor +entity.atum.pharaoh.Oleshet=oleshet +entity.atum.pharaoh.Peput=peput +entity.atum.pharaoh.Talat=talat +entity.atum.pharaoh.Ulam=ulam +entity.atum.pharaoh.Veresh=veresh +entity.atum.pharaoh.Ranesh=ranesh +entity.atum.pharaoh.Snef=snef +entity.atum.pharaoh.Wollolo=wollolo +entity.atum.pharaoh.Hathor=hathor +entity.atum.pharaoh.Intef=intef +entity.atum.pharaoh.Neferk=neferk +entity.atum.pharaoh.Khatne=khatne +entity.atum.pharaoh.Tepy=tepy +entity.atum.pharaoh.Moret=moret + +# Chat +chat.atum.disabled=Scarab portal creation is disabled +chat.atum.enemies=There are too many enemies nearby to search this chest +chat.atum.summonPharaoh=was summoned by +chat.atum.killPharaoh=was slain by + +# GUI +atum.configGui.portalCreation=Atum Portal +atum.configGui.fog=Atum Fog +atum.configGui.oasis=Atum Oasis +atum.configGui.dimensionID=Atum Dimension ID +atum.configGui.biomeID=Atum Desert Biome ID diff --git a/src/main/resources/assets/atum/lang/pt_BR.lang b/src/main/resources/assets/atum/lang/pt_BR.lang new file mode 100644 index 0000000..181751d --- /dev/null +++ b/src/main/resources/assets/atum/lang/pt_BR.lang @@ -0,0 +1,362 @@ +# Misc +itemGroup.atum=Atum +biome.desert.name=Deserto + +# Blocks +block.portal.name=Portal do Atum +tile.chestSpawner.name=Báu do Atum +tile.sand.name=Areia Estranha +block.stone.name=Calcário +tile.cobble.name=Calcário Rachado +tile.largeBrick.name=Tijolos Grandes de Calcário +tile.smallBrick.name=Tijolos Pequenos de Calcário +tile.carvedBrick.name=Tijolos Talhados de Calcário +tile.smoothSlab.name=Laje de Calcário Polido +tile.crackedSlab.name=Tijolos Rachados de Calcário +tile.largeBrickSlab.name=Laje de Tijolos Grandes de Calcário +tile.smallBrickSlab.name=Laje de Tijolos Pequenos de Calcário +tile.doubleSlab.name=Laje de Calcário +tile.smoothStairs.name=Escadas de Calcário +tile.cobbleStairs.name=Escadas de Pedregulho Calcário +tile.largeStairs.name=Escadas de Tijolos Grandes de Calcário +tile.smallStairs.name=Escadas de Tijolos Pequenos de Calcário +tile.sandLayer.name=Camada de Areia +tile.crackedLargeBrick.name=Tijolos de Calcário Rachado +tile.smoothWall.name=Parede de Calcário Polido +tile.crackedWall.name=Parede de Calcário Rachado +tile.largeBrickWall.name=Parede de Tijolos Grandes de Calcário +tile.smallBrickWall.name=Parede de Tijolos Pequenos de Calcário +tile.crystalGlass.name=Vidro Cristalino +tile.framedGlass.name=Vidro Emoldurado +tile.palmSapling.name=Muda de Palmeira +tile.date.name=Tâmara +tile.shrub.name=Arbusto +tile.weed.name=Erva Daninha +tile.papyrus.name=Papiro +tile.flax.name=Linho +tile.fertileSoil.name=Solo Fértil +tile.fertileSoilTilled.name=Solo Fértil Lavrado +tile.palmLog.name=Madeira de Palmeira +tile.palmLeaves.name=Folhas de Palmeira +tile.palmPlanks.name=Tábuas de Palmeira +tile.thinCrystalGlass.name=Vidro Fino Cristalino +tile.thinFramedGlass.name=Vidro Fino Emoldurado +tile.burningTrap.name=Armadilha Incendiária +tile.pharaohChest.name=Baú do Faraó +tile.redstoneOre.name=Minério de Redstone +tile.coalOre.name=Minério de Carvão +tile.ironOre.name=Minério de Ferro +tile.goldOre.name=Minério de Ouro +tile.lapisOre.name=Minério de Lápis-Lazuli +tile.diamondOre.name=Minério de Diamante +tile.furnaceIdle.name=Fornalha de Calcário +tile.furnaceBurning.name=Fornalha de Calcário + +# Containers +container.limestoneFurnace=Fornalha de Calcário + +# Item +item.scarab.name=Escaravelho +item.loot.name=Despojo +item.scimitar.name=Cimitarra +item.greatsword.name=Espada Larga +item.scepter.name=Cetro +item.stoneSoldierSword.name=Espada do Soldado de Pedra +item.bow.name=Arco Curto +item.limestoneShovel.name=Pá de Calcário +item.limestonePickaxe.name=Picareta de Calcário +item.limestoneAxe.name=Machado de Calcário +item.limestoneSword.name=Espada de Calcário +item.limestoneHoe.name=Enxada de Calcário +item.mummyHelmet.name=Elmo da Múmia +item.mummyChest.name=Peitoral da Múmia +item.mummyLegs.name=Calça da Múmia +item.mummyBoots.name=Botas da Múmia +item.wandererHelmet.name=Elmo do Andarilho +item.wandererChest.name=Peitoral do Andarilho +item.wandererLegs.name=Calça do Andarilho +item.wandererBoots.name=Botas do Andarilho +item.desertHelmet.name=Elmo do Deserto +item.desertChest.name=Peitoral do Deserto +item.desertLegs.name=Calça do Deserto +item.desertBoots.name=Botas do Deserto +item.papyrusPlant.name=Papiro +item.ectoplasm.name=Ectoplasma +item.stoneChunk.name=Pedaço de Pedra +item.clothScrap.name=Retalho +item.scroll.name=Pergaminho +item.wolfPelt.name=Pele de Chacal +item.date.name=Tâmara +item.linen.name=Linho +item.flax.name=Linho +item.flaxSeeds.name=Sementes de Linho +item.fish.0.name=Peixe Forsaken +item.fish.1.name=Peixe Mumificado +item.fish.2.name=Peixe de Jóias +item.fish.3.name=Espinha de Peixe + +item.ptahsDecadence.name=Decadência de Ptahs +item.soteksRage.name=Raiva de Soteks +item.osirisWill.name=Vontade de Osiris +item.akersToil.name=Labuta de Akers +item.gebsBlessing.name=Bênção de Gebs +item.atensFury.name=Fúria de Atens +item.rasGlory.name=Glória de Ras +item.sekhmetsWrath.name=Ira de Sekhmets +item.nutsAgility.name=Agilidade de Nuts +item.horusFlight.name=Voo de Horus +item.monthusStrike.name=Golpe de Monthus +item.anhursMight.name=Poder de Anhurs +item.hedetetsSting.name=Ferrão de Hedetets +item.horusSoaring.name=Ascendência de Horus +item.shusBreath.name=Respiração de Shus +item.ptahsDestruction.name=Destruição de Ptahs +item.monthusBlast.name=Explosão de Monthus +item.nusFlux.name=Fluxo de Nus +item.mnevisHorns.name=Chifres de Mnevis +item.isisEmbrace.name=Abraço de Isis +item.maatsBalance.name=Equilíbrio de Maats +item.hedetetsVenom.name=Veneno de Hedetets +item.gebsSolidarity.name=Solidariedade de Gebs +item.nutsCall.name=Chamado de Nuts +item.anuketsBounty.name=Recompensa de Anukets +item.mafdetsQuickness.name=Rapidez de Mafdets +item.isisHealing.name=Cura de Isis +item.amunetsHomecoming.name=Reencontro de Amunets +item.anubisMercy.name=Misericórdia de Anubis +item.neithsAudacity.name=Audácia de Neiths + + +# Item Information +item.akersToil.line1=Desempenho I: Mais rápidez, +item.akersToil.line2=não dá fadiga +item.akersToil.line3=Desempenho I + +item.amunetsHomecoming.line1=Retorno I: Teleporta você de volta ao +item.amunetsHomecoming.line2=seu ponto de desova +item.amunetsHomecoming.line3=Retorno I + +item.anhursMight.line1=Poderoso I: Retarda o jogador, +item.anhursMight.line2=Chance de atordoar os inimigos +item.anhursMight.line3=Poderoso I + +item.ptahsDecadence.line1=Riqueza I: Ganhe um diamante +item.ptahsDecadence.line2=extra de cada minério +item.ptahsDecadence.line3=Riqueza I + +item.soteksRage.line1=Exílio I: Golpeia para longe +item.soteksRage.line2=um grande número de inimigos +item.soteksRage.line3=Exílio I + +item.osirisWill.line1=Banimento I: Bônus de dano em mortos-vivos, +item.osirisWill.line2=chance de cair ectoplasma +item.osirisWill.line3=Banimento I + +item.gebsBlessing.line1=Semear I: Terra lavrada e abençoada, +item.gebsBlessing.line2=lhe concede aumento da taxa de crescimento +item.gebsBlessing.line3=Semear I + +item.atensFury.line1=Tiro de Fogo I: Uma flecha flamejante +item.atensFury.line2=Que inflama blocos e inimigos +item.atensFury.line3=Tiro de Fogo I + +item.rasGlory.line1=Visão Divina I: Visão noturna, aumenta o +item.rasGlory.line2=campo de visão em Atum +item.rasGlory.line3=Visão Divina I + +item.sekhmetsWrath.line1=Imolação I: Proteção contra fogo, +item.sekhmetsWrath.line2=chance de inflamar atacantes +item.sekhmetsWrath.line3=Imolação I + +item.nutsAgility.line1=Agilidade I: Aumenta a corrida +item.nutsAgility.line2=balaceando a velocidade +item.nutsAgility.line3=Agilidade I + +item.horusFlight.line1=Destreza I: Aumento da altura do salto, +item.horusFlight.line2=proteção contra danos de queda +item.horusFlight.line3=Destreza I + +item.monthusStrike.line1=Bater I: Aumento dos danos, +item.monthusStrike.line2=e chance para dar tranco AOE +item.monthusStrike.line3=Bater I + +item.hedetetsSting.line1=Veneno II: Chance +item.hedetetsSting.line2=para envenenar inimigos +item.hedetetsSting.line3=Veneno II + +# I need to talk to shadow +item.horusSoaring.line1=Poderoso I: Retarda o jogador, +item.horusSoaring.line2=Chance de atordoar os inimigos +item.horusSoaring.line3=Poderoso I + +item.shusBreath.line1=Tração I: Redução da +item.shusBreath.line2=velocidade do obstáculo +item.shusBreath.line3=Tração I + +item.ptahsDestruction.line1=Pedreiro I: Aumenta o dano +item.ptahsDestruction.line2=nos inimigos de pedra +item.ptahsDestruction.line3=Pedreiro I + +item.monthusBlast.line1=Tiro Explosivo I: Flechas explodem +item.monthusBlast.line2=no impacto +item.monthusBlast.line3=Tiro Explosivo I + +item.nusFlux.line1=Varrer I: Chance para lançar +item.nusFlux.line2=os inimigos para o ar +item.nusFlux.line3=Varrer I + +item.mnevisHorns.line1=Reflexão I: Dá +item.mnevisHorns.line2=dano aos atacantes +item.mnevisHorns.line3=Reflexão I + +item.isisEmbrace.line1=Regeneração I: Regenera +item.isisEmbrace.line2=lentamente a saúde +item.isisEmbrace.line3=Regeneração I + +item.maatsBalance.line1=Equilíbrio I: Diminui o dano +item.maatsBalance.line2=distribuido, diminui o dano recebido +item.maatsBalance.line3=Equilíbrio I + +item.hedetetsVenom.line1=Flecha Venenosa I: Dispara uma +item.hedetetsVenom.line2=flecha que envenena os inimigos +item.hedetetsVenom.line3=Flecha Venenosa I + +item.gebsSolidarity.line1=Valente I: Diminui a velocidade +item.gebsSolidarity.line2=de movimento, diminui o tranco (WIP) +item.gebsSolidarity.line3=Valente I + +item.nutsCall.line1=Ira I: Chance de acertar +item.nutsCall.line2=o inimigo com um raio +item.nutsCall.line3=Ira I + +item.anuketsBounty.line1=Atração I: Chance de pegar +item.anuketsBounty.line2=um peixe especial em Atum +item.anuketsBounty.line3=Atração I + +item.mafdetsQuickness.line1=Rapidez I: Você corre +item.mafdetsQuickness.line2=mais rápido enquanto segurar +item.mafdetsQuickness.line3=Rapidez I + +item.isisHealing.line1=Regeneração I: Regenera +item.isisHealing.line2=lentamente a saúde enquanto segurar +item.isisHealing.line3=Regeneração I + +item.anubisMercy.line1=Retorno I: Teleporta você de volta ao +item.anubisMercy.line2=seu ponto de desova +item.anubisMercy.line3=Retorno I + +item.neithsAudacity.line1=Tiro Duplo I: Atira +item.neithsAudacity.line2=duas flechas +item.neithsAudacity.line3=Tiro Duplo I + +# Loot +item.loot.dirty.name=Sujo +item.loot.silver.name=Prata +item.loot.gold.name=Ouro +item.loot.sapphire.name=Safira +item.loot.ruby.name=Rubi +item.loot.emerald.name=Esmeralda +item.loot.diamond.name=Diamante + +item.loot.idol.name=Ídolo +item.loot.necklace.name=Colar +item.loot.ring.name=Anel +item.loot.broach.name=Broche +item.loot.scepter.name=Cetro + +# Entity +entity.atum.mummy.name=Múmia +entity.atum.banditWarrior.name=Bandido Guerreiro +entity.atum.banditArcher.name=Bandido Arqueiro +entity.atum.pharaoh.name=Faraó +entity.atum.dustySkeleton.name=Esqueleto Empoeirado +entity.atum.desertGhost.name=Fantasma do Deserto +entity.atum.stoneSoldier.name=Soldado de Pedra +entity.atum.desertWolf.name=Chacal +entity.atum.banditWarlord.name=Banddido Chefe +entity.atum.barbarian.name=Bárbaro + +# Pharaoh Names +entity.atum.pharaoh.Ama=Ama +entity.atum.pharaoh.Ata=Ata +entity.atum.pharaoh.Ato=Ato +entity.atum.pharaoh.Bak=Bak +entity.atum.pharaoh.Cal=Cal +entity.atum.pharaoh.Djet=Djet +entity.atum.pharaoh.Eje=Eje +entity.atum.pharaoh.For=For +entity.atum.pharaoh.Gol=Gol +entity.atum.pharaoh.Gut=Gut +entity.atum.pharaoh.Hop=Hop +entity.atum.pharaoh.Hor=Hor +entity.atum.pharaoh.Huni=Huni +entity.atum.pharaoh.Iam=Iam +entity.atum.pharaoh.Jor=Jor +entity.atum.pharaoh.Kal=Kal +entity.atum.pharaoh.Khas=Khas +entity.atum.pharaoh.Khor=Khor +entity.atum.pharaoh.Lat=Lat +entity.atum.pharaoh.Mal=Mal +entity.atum.pharaoh.Not=Not +entity.atum.pharaoh.Oap=Oap +entity.atum.pharaoh.Pra=Pra +entity.atum.pharaoh.Qo=Qo +entity.atum.pharaoh.Ras=Ras +entity.atum.pharaoh.Shas=Shas +entity.atum.pharaoh.Thoth=Thoth +entity.atum.pharaoh.Tui=Tui +entity.atum.pharaoh.Uld=Uld +entity.atum.pharaoh.Ver=Ver +entity.atum.pharaoh.Wot=Wot +entity.atum.pharaoh.Xo=Xo +entity.atum.pharaoh.Yat=Yat +entity.atum.pharaoh.Zyt=Zyt +entity.atum.pharaoh.Khep=Khep + +entity.atum.pharaoh.Ahat=Ahat +entity.atum.pharaoh.Amesh=Amesh +entity.atum.pharaoh.Amon=Amon +entity.atum.pharaoh.Anut=Anut +entity.atum.pharaoh.Baroom=Baroom +entity.atum.pharaoh.Chanta=Chanta +entity.atum.pharaoh.Erant=Erant +entity.atum.pharaoh.Funam=Funam +entity.atum.pharaoh.Daresh=Daresh +entity.atum.pharaoh.Djer=Djer +entity.atum.pharaoh.Hotesh=Hotesh +entity.atum.pharaoh.Khaden=Khaden +entity.atum.pharaoh.Kron=Kron +entity.atum.pharaoh.Gorkum=Gorkum +entity.atum.pharaoh.Ialenter=Ialenter +entity.atum.pharaoh.Ma'at=Maat +entity.atum.pharaoh.Narmer=Narmer +entity.atum.pharaoh.Radeem=Radeem +entity.atum.pharaoh.Jaloom=Jaloom +entity.atum.pharaoh.Lepsha=Lepsha +entity.atum.pharaoh.Quor=Quor +entity.atum.pharaoh.Oleshet=Oleshet +entity.atum.pharaoh.Peput=Peput +entity.atum.pharaoh.Talat=Talat +entity.atum.pharaoh.Ulam=Ulam +entity.atum.pharaoh.Veresh=Veresh +entity.atum.pharaoh.Ranesh=Ranesh +entity.atum.pharaoh.Snef=Snef +entity.atum.pharaoh.Wollolo=Wollolo +entity.atum.pharaoh.Hathor=Hathor +entity.atum.pharaoh.Intef=Intef +entity.atum.pharaoh.Neferk=Neferk +entity.atum.pharaoh.Khatne=Khatne +entity.atum.pharaoh.Tepy=Tepy +entity.atum.pharaoh.Moret=Moret + +# Chat +chat.atum.disabled=Criação do portal de escaravelho está desabilitada +chat.atum.enemies=Existem muitos inimigos nas proximidades para você poder vasculhar este baú +chat.atum.summonPharaoh=foi invocado por +chat.atum.killPharaoh=foi morto por + +# Gui +atum.configGui.portalCreation=Portal do Atum +atum.configGui.fog=Nevoeiro do Atum +atum.configGui.dimensionID=ID da dimensão do Atum +atum.configGui.biomeID=ID do bioma Deserto do Atum diff --git a/src/main/resources/assets/atum/lang/ru_RU.lang b/src/main/resources/assets/atum/lang/ru_RU.lang new file mode 100644 index 0000000..511734d --- /dev/null +++ b/src/main/resources/assets/atum/lang/ru_RU.lang @@ -0,0 +1,459 @@ +# Misc +itemGroup.atum=Atum +biome.desert.name=Пустыня + +# Blocks +block.portal.name=Портал в «Атум» +tile.chestSpawner.name=Сундук «Атума» +tile.sand.name=Странный песок +block.stone.name=Известняк +tile.cobble.name=Потрескавшийся известняк +tile.largeBrickUnbreakable.name=Известняковый большой кирпич (Неразрушимый) +tile.largeBrick.name=Известняковый большой кирпич +tile.smallBrick.name=Известняковый маленький кирпич +tile.carvedBrick.name=Известняковый резной кирпич +tile.smoothSlab.name=Плита из гладкого известняка +tile.crackedSlab.name=Плита из потрескавшегося известняка +tile.largeBrickSlab.name=Плита из большого известнякового кирпича +tile.smallBrickSlab.name=Плита из маленького известнякового кирпича +tile.doubleSlab.name=Плита из известняка +tile.smoothStairs.name=Известняковые ступеньки +tile.cobbleStairs.name=Ступеньки из известнякового булыжника +tile.largeStairs.name=Ступеньки из большого известнякового кирпича +tile.smallStairs.name=Ступеньки из маленького известнякового кирпича +tile.sandLayer.name=Песчаный слой +tile.crackedLargeBrick.name=Известняковый потрескавшийся большой кирпич +tile.smoothWall.name=Стена из гладкого известняка +tile.crackedWall.name=Стена из потрескавшегося известняка +tile.largeBrickWall.name=Стена из большого известнякового кирпича +tile.smallBrickWall.name=Стена из маленького известнякового кирпича +tile.crystalGlass.name=Кристальное стекло +tile.framedGlass.name=Обрамленное стекло +tile.palmSapling.name=Саженец пальмы +tile.date.name=Финик +tile.shrub.name=Кустарник +tile.weed.name=Сорняк +tile.papyrus.name=Папирус +tile.flax.name=Лён +tile.fertileSoil.name=Плодородная почва +tile.fertileSoilTilled.name=Вспаханная плодородная почва +tile.palmLog.name=Древесина пальмы +tile.palmLeaves.name=Листва пальмы +tile.palmPlanks.name=Доски из пальмы +tile.thinCrystalGlass.name=Тонкое кристальное стекло +tile.thinFramedGlass.name=Тонкое обрамленное стекло +tile.burningTrap.name=Сжигающая ловушка +tile.pharaohChest.name=Сундук Фараона +tile.redstoneOre.name=Руда красного камня +tile.coalOre.name=Угольная руда +tile.ironOre.name=Железная руда +tile.goldOre.name=Золотая руда +tile.lapisOre.name=Лазуритовая руда +tile.diamondOre.name=Алмазная руда +tile.furnaceIdle.name=Известняковая печь +tile.furnaceBurning.name=Известняковая печь + +# Stained Glass +tile.crystalStainedGlassBlack.name=Чёрное кристальное стекло +tile.crystalStainedGlassRed.name=Красное кристальное стекло +tile.crystalStainedGlassGreen.name=Зелёное кристальное стекло +tile.crystalStainedGlassBrown.name=Коричневое кристальное стекло +tile.crystalStainedGlassBlue.name=Синее кристальное стекло +tile.crystalStainedGlassPurple.name=Фиолетовое кристальное стекло +tile.crystalStainedGlassCyan.name=Бирюзовое кристальное стекло +tile.crystalStainedGlassSilver.name=Светло-серое кристальное стекло +tile.crystalStainedGlassGray.name=Серое кристальное стекло +tile.crystalStainedGlassPink.name=Розовое кристальное стекло +tile.crystalStainedGlassLime.name=Лаймовое кристальное стекло +tile.crystalStainedGlassYellow.name=Жёлтое кристальное стекло +tile.crystalStainedGlassLightBlue.name=Светло-синее кристальное стекло +tile.crystalStainedGlassMagenta.name=Сиреневое кристальное стекло +tile.crystalStainedGlassOrange.name=Оранжевое кристальное стекло +tile.crystalStainedGlassWhite.name=Белое кристальное стекло + +tile.framedStainedGlassBlack.name=Чёрное обрамленное стекло +tile.framedStainedGlassRed.name=Красное обрамленное стекло +tile.framedStainedGlassGreen.name=Зелёное обрамленное стекло +tile.framedStainedGlassBrown.name=Коричневое обрамленное стекло +tile.framedStainedGlassBlue.name=Синее обрамленное стекло +tile.framedStainedGlassPurple.name=Фиолетовое обрамленное стекло +tile.framedStainedGlassCyan.name=Бирюзовое обрамленное стекло +tile.framedStainedGlassSilver.name=Светло-серое обрамленное стекло +tile.framedStainedGlassGray.name=Серое обрамленное стекло +tile.framedStainedGlassPink.name=Розовое обрамленное стекло +tile.framedStainedGlassLime.name=Лаймовое обрамленное стекло +tile.framedStainedGlassYellow.name=Жёлтое обрамленное стекло +tile.framedStainedGlassLightBlue.name=Светло-синее обрамленное стекло +tile.framedStainedGlassMagenta.name=Сиреневое обрамленное стекло +tile.framedStainedGlassOrange.name=Оранжевое обрамленное стекло +tile.framedStainedGlassWhite.name=Белое обрамленное стекло + +tile.thinCrystalStainedGlassBlack.name=Чёрное тонкое кристальное стекло +tile.thinCrystalStainedGlassRed.name=Красное тонкое кристальное стекло +tile.thinCrystalStainedGlassGreen.name=Зелёное тонкое кристальное стекло +tile.thinCrystalStainedGlassBrown.name=Коричневое тонкое кристальное стекло +tile.thinCrystalStainedGlassBlue.name=Синее тонкое кристальное стекло +tile.thinCrystalStainedGlassPurple.name=Фиолетовое тонкое кристальное стекло +tile.thinCrystalStainedGlassCyan.name=Бирюзовое тонкое кристальное стекло +tile.thinCrystalStainedGlassSilver.name=Светло-серое тонкое кристальное стекло +tile.thinCrystalStainedGlassGray.name=Серое тонкое кристальное стекло +tile.thinCrystalStainedGlassPink.name=Розовое тонкое кристальное стекло +tile.thinCrystalStainedGlassLime.name=Лаймовое тонкое кристальное стекло +tile.thinCrystalStainedGlassYellow.name=Жёлтое тонкое кристальное стекло +tile.thinCrystalStainedGlassLightBlue.name=Светло-синее тонкое кристальное стекло +tile.thinCrystalStainedGlassMagenta.name=Сиреневое тонкое кристальное стекло +tile.thinCrystalStainedGlassOrange.name=Оранжевое тонкое кристальное стекло +tile.thinCrystalStainedGlassWhite.name=Белое тонкое кристальное стекло + +tile.thinFramedStainedGlassBlack.name=Чёрное тонкое обрамленное стекло +tile.thinFramedStainedGlassRed.name=Красное тонкое обрамленное стекло +tile.thinFramedStainedGlassGreen.name=Зелёное тонкое обрамленное стекло +tile.thinFramedStainedGlassBrown.name=Коричневое тонкое обрамленное стекло +tile.thinFramedStainedGlassBlue.name=Синее тонкое обрамленное стекло +tile.thinFramedStainedGlassPurple.name=Фиолетовое тонкое обрамленное стекло +tile.thinFramedStainedGlassCyan.name=Бирюзовое тонкое обрамленное стекло +tile.thinFramedStainedGlassSilver.name=Светло-серое тонкое обрамленное стекло +tile.thinFramedStainedGlassGray.name=Серое тонкое обрамленное стекло +tile.thinFramedStainedGlassPink.name=Розовое тонкое обрамленное стекло +tile.thinFramedStainedGlassLime.name=Лаймовое тонкое обрамленное стекло +tile.thinFramedStainedGlassYellow.name=Жёлтое тонкое обрамленное стекло +tile.thinFramedStainedGlassLightBlue.name=Светло-синее тонкое обрамленное стекло +tile.thinFramedStainedGlassMagenta.name=Сиреневое тонкое обрамленное стекло +tile.thinFramedStainedGlassOrange.name=Оранжевое тонкое обрамленное стекло +tile.thinFramedStainedGlassWhite.name=Белое тонкое обрамленное стекло + +# Containers +container.limestoneFurnace=Известняковая печь + +# Item +item.scarab.name=Скарабей +item.loot.name=Добыча +item.scimitar.name=Скимитар +item.greatsword.name=Большой меч +item.scepter.name=Скипетр +item.stoneSoldierSword.name=Меч каменного война +item.bow.name=Короткий лук +item.limestoneShovel.name=Известняковая лопата +item.limestonePickaxe.name=Известняковая кирка +item.limestoneAxe.name=Известняковый топор +item.limestoneSword.name=Известняковый меч +item.limestoneHoe.name=Известняковая мотыга +item.mummyHelmet.name=Шлем мумии +item.mummyChest.name=Кираса мумии +item.mummyLegs.name=Поножи мумии +item.mummyBoots.name=Ботинки мумии +item.wandererHelmet.name=Шлем скитальца +item.wandererChest.name=Кираса скитальца +item.wandererLegs.name=Поножи скитальца +item.wandererBoots.name=ботинки скитальца +item.desertHelmet.name=Пустынный шлем +item.desertChest.name=Пустынная кираса +item.desertLegs.name=Пустынные поножи +item.desertBoots.name=Пустынные ботинки +item.papyrusPlant.name=Папирус +item.ectoplasm.name=Эктоплазма +item.stoneChunk.name=Каменный кусок +item.clothScrap.name=Клочок ткани +item.scroll.name=Свиток +item.wolfPelt.name=Волчья шкура +item.date.name=Финик +item.linen.name=Льняная ткань +item.flax.name=Лён +item.flaxSeeds.name=Семена льна +item.fish.0.name=Брошенная рыба +item.fish.1.name=Мумифицированная рыба +item.fish.2.name=Украшенная рыба +item.fish.3.name=Скелетная рыба + +item.ptahsDecadence.name=Декаданс бога Птаха +item.soteksRage.name=Ярость Сотека +item.osirisWill.name=Воля Осириса +item.akersToil.name=Труд Акера +item.gebsBlessing.name=Благословение Геба +item.atensFury.name=Неистовство Атона +item.rasGlory.name=Слава бога Ра +item.sekhmetsWrath.name=Гнев Сехмета +item.nutsAgility.name=Ловкость богини Нут +item.horusFlight.name=Полёт Хора +item.monthusStrike.name=Удар Монту +item.anhursMight.name=Мощь Онуриса +item.hedetetsSting.name=Жало Хедетета +item.horusSoaring.name=Парение Хора +item.shusBreath.name=Дыхание Шу +item.ptahsDestruction.name=Разрушение бога Птаха +item.monthusBlast.name=Взрыв Монту +item.nusFlux.name=Поток Нун +item.mnevisHorns.name=Рожки Мневиса +item.isisEmbrace.name=Объятие Исиды +item.maatsBalance.name=Равновесие Маата +item.hedetetsVenom.name=Яд Хедетета +item.gebsSolidarity.name=Единство Геба +item.nutsCall.name=Вызов богини Нут +item.anuketsBounty.name=Щедрость Анукета +item.mafdetsQuickness.name=Быстрота Мафдета +item.isisHealing.name=Исцеление Исиды +item.amunetsHomecoming.name=Возвращение Амаунета +item.anubisMercy.name=Милость Анубиса +item.neithsAudacity.name=Смелость Нейт + + +# Item Information +item.akersToil.line1=Эффективность I: Быстрота, не +item.akersToil.line2=убирает усталость +item.akersToil.line3=Эффективность I + +item.amunetsHomecoming.line1=Возвращение I: Телепортирует Вас +item.amunetsHomecoming.line2=обратно на точку появления +item.amunetsHomecoming.line3=Возвращение I + +item.anhursMight.line1=Могущество I: Замедляет игрока, +item.anhursMight.line2=Шанс оглушить врагов +item.anhursMight.line3=Могущество I + +item.ptahsDecadence.line1=Богатство I: Даёт дополнительный +item.ptahsDecadence.line2=алмаз с каждой алмазной руды +item.ptahsDecadence.line3=Богатство I + +item.soteksRage.line1=Отброс I: Откидывает врагов +item.soteksRage.line2=на большое расстояние +item.soteksRage.line3=Отброс I + +item.osirisWill.line1=Изгнание I: Дополнительный урон нежити, +item.osirisWill.line2=шанс получить эктоплазму +item.osirisWill.line3=Изгнание I + +item.gebsBlessing.line1=Засевание I: Вспашенная земля - благословенна, +item.gebsBlessing.line2=даёт повышенную скорость роста +item.gebsBlessing.line3=Засевание I + +item.atensFury.line1=Огненный выстрел I: Огненная стрела +item.atensFury.line2=поджигает блоки и врагов +item.atensFury.line3=Огненный выстрел I + +item.rasGlory.line1=Божественное зрение I: Ночное зрение, увеличенное +item.rasGlory.line2=зрение в «Атуме» +item.rasGlory.line3=Божественное зрение I + +item.sekhmetsWrath.line1=Поджигание I: Защита от огня, +item.sekhmetsWrath.line2=шанс поджечь врагов +item.sekhmetsWrath.line3=Поджигание I + +item.nutsAgility.line1=Быстрота I: Увеличенная +item.nutsAgility.line2=скорость бега и плавания +item.nutsAgility.line3=Быстрота I + +item.horusFlight.line1=Ловкость I: Увеличенный прыжок, +item.horusFlight.line2=защита от падения +item.horusFlight.line3=Ловкость I + +item.monthusStrike.line1=Хлопок I: Увеличенный урон, +item.monthusStrike.line2=заряд для отброса +item.monthusStrike.line3=Хлопок I + +item.hedetetsSting.line1=Отравление II: Шанс +item.hedetetsSting.line2=отравления игроков +item.hedetetsSting.line3=Отравление II + +item.horusSoaring.line1=Скорость I: Скорость стрелы, +item.horusSoaring.line2=увеличивает скорость стрелы на 50% +item.horusSoaring.line3=Скорость I + +item.shusBreath.line1=Быстрое натяжение I: Увеличенная +item.shusBreath.line2=скорость натяжения стрелы +item.shusBreath.line3=Быстрое натяжение I + +item.ptahsDestruction.line1=Каменотёс I: Увеличивает урон +item.ptahsDestruction.line2=каменным врагам +item.ptahsDestruction.line3=Каменотёс I + +item.monthusBlast.line1=Разрывной выстрел I: Стрелы взрываются +item.monthusBlast.line2=при ударе +item.monthusBlast.line3=Разрывной выстрел I + +item.nusFlux.line1=Размах I: Шанс отправить +item.nusFlux.line2=врагов в воздух +item.nusFlux.line3=Размах I + +item.mnevisHorns.line1=Отражение рукопашного урона I: Наносит +item.mnevisHorns.line2=урон врагам +item.mnevisHorns.line3=Отражение рукопашного урона I + +item.isisEmbrace.line1=Регенерация I: Восстанавливает +item.isisEmbrace.line2=здоровье +item.isisEmbrace.line3=Регенерация I + +item.maatsBalance.line1=Баланс I: Уменьшает наносимый +item.maatsBalance.line2=и получаемый урон +item.maatsBalance.line3=Баланс I + +item.hedetetsVenom.line1=Ядовитая стрела I: Выпускает +item.hedetetsVenom.line2=стрелу, которая отравляет врагов +item.hedetetsVenom.line3=Ядовитая стрела I + +item.gebsSolidarity.line1=Стойкость I: Уменьшает скорость +item.gebsSolidarity.line2=передвижения, уменьшает отброс (WIP) +item.gebsSolidarity.line3=Стойкость I + +item.nutsCall.line1=Гнев I: Шанс ударить +item.nutsCall.line2=врага молнией +item.nutsCall.line3=Гнев I + +item.anuketsBounty.line1=Соблазнение I: Шанс поймать +item.anuketsBounty.line2=уникальную рыбу в «Атуме» +item.anuketsBounty.line3=Соблазнение I + +item.mafdetsQuickness.line1=Стремительность I: Вы бежите +item.mafdetsQuickness.line2=быстрее, когда держите +item.mafdetsQuickness.line3=Стремительность I + +item.isisHealing.line1=Регенерация I: Восстанавливает +item.isisHealing.line2=здоровье, когда держите +item.isisHealing.line3=Регенерация I + +item.anubisMercy.line1=Возвращение I: Телепортирует Вас обратно +item.anubisMercy.line2=на точку появления, когда Вы умираете +item.anubisMercy.line3=Возвращение I + +item.neithsAudacity.line1=Двойной выстрел I: Выпускает +item.neithsAudacity.line2=две стрелы за раз +item.neithsAudacity.line3=Двойной выстрел I + +tooltip.atum.minutesRemaining=Минут осталось: %d +tooltip.atum.usesRemaining=Использований осталось: %d + +# Loot +item.loot.dirty.name=Грязный +item.loot.silver.name=Серебряный +item.loot.gold.name=Золотой +item.loot.sapphire.name=Сапфировый +item.loot.ruby.name=Рубиновый +item.loot.emerald.name=Изумрудный +item.loot.diamond.name=Алмазный + +item.loot.idol.name=идол +item.loot.necklace.name=ожерелье +item.loot.ring.name=кольцо +item.loot.broach.name=брошь +item.loot.scepter.name=скипетр + +# Entity +entity.atum.mummy.name=Мумия +entity.atum.banditWarrior.name=Бандит-воин +entity.atum.banditArcher.name=Бандит-стрелок +entity.atum.pharaoh.name=Фараон +entity.atum.dustySkeleton.name=Пыльный скелет +entity.atum.desertGhost.name=Пустынный призрак +entity.atum.stoneSoldier.name=Каменный воин +entity.atum.desertWolf.name=Пустынный волк +entity.atum.banditWarlord.name=Бандит военачальник +entity.atum.barbarian.name=Варвар + +# Pharaoh Names +entity.atum.pharaoh.Ama=Ama' +entity.atum.pharaoh.Ata=Ata' +entity.atum.pharaoh.Ato=Ato' +entity.atum.pharaoh.Bak=Bak' +entity.atum.pharaoh.Cal=Cal' +entity.atum.pharaoh.Djet=Djet' +entity.atum.pharaoh.Eje=Eje' +entity.atum.pharaoh.For=For' +entity.atum.pharaoh.Gol=Gol' +entity.atum.pharaoh.Gut=Gut' +entity.atum.pharaoh.Hop=Hop' +entity.atum.pharaoh.Hor=Hor' +entity.atum.pharaoh.Huni=Huni' +entity.atum.pharaoh.Iam=Iam' +entity.atum.pharaoh.Jor=Jor' +entity.atum.pharaoh.Kal=Kal' +entity.atum.pharaoh.Khas=Khas' +entity.atum.pharaoh.Khor=Khor' +entity.atum.pharaoh.Lat=Lat' +entity.atum.pharaoh.Mal=Mal' +entity.atum.pharaoh.Not=Not' +entity.atum.pharaoh.Oap=Oap' +entity.atum.pharaoh.Pra=Pra' +entity.atum.pharaoh.Qo=Qo' +entity.atum.pharaoh.Ras=Ras' +entity.atum.pharaoh.Shas=Shas' +entity.atum.pharaoh.Thoth=Thoth' +entity.atum.pharaoh.Tui=Tui' +entity.atum.pharaoh.Uld=Uld' +entity.atum.pharaoh.Ver=Ver' +entity.atum.pharaoh.Wot=Wot' +entity.atum.pharaoh.Xo=Xo' +entity.atum.pharaoh.Yat=Yat' +entity.atum.pharaoh.Zyt=Zyt' +entity.atum.pharaoh.Khep=Khep' + +entity.atum.pharaoh.Ahat=Ahat +entity.atum.pharaoh.Amesh=Amesh +entity.atum.pharaoh.Amon=Amon +entity.atum.pharaoh.Anut=Anut +entity.atum.pharaoh.Baroom=Baroom +entity.atum.pharaoh.Chanta=Chanta +entity.atum.pharaoh.Erant=Erant +entity.atum.pharaoh.Funam=Funam +entity.atum.pharaoh.Daresh=Daresh +entity.atum.pharaoh.Djer=Djer +entity.atum.pharaoh.Hotesh=Hotesh +entity.atum.pharaoh.Khaden=Khaden +entity.atum.pharaoh.Kron=Kron +entity.atum.pharaoh.Gorkum=Gorkum +entity.atum.pharaoh.Ialenter=Ialenter +entity.atum.pharaoh.Ma'at=Ma'at +entity.atum.pharaoh.Narmer=Narmer +entity.atum.pharaoh.Radeem=Radeem +entity.atum.pharaoh.Jaloom=Jaloom +entity.atum.pharaoh.Lepsha=Lepsha +entity.atum.pharaoh.Quor=Quor +entity.atum.pharaoh.Oleshet=Oleshet +entity.atum.pharaoh.Peput=Peput +entity.atum.pharaoh.Talat=Talat +entity.atum.pharaoh.Ulam=Ulam +entity.atum.pharaoh.Veresh=Veresh +entity.atum.pharaoh.Ranesh=Ranesh +entity.atum.pharaoh.Snef=Snef +entity.atum.pharaoh.Wollolo=Wollolo +entity.atum.pharaoh.Hathor=Hathor +entity.atum.pharaoh.Intef=Intef +entity.atum.pharaoh.Neferk=Neferk +entity.atum.pharaoh.Khatne=Khatne +entity.atum.pharaoh.Tepy=Tepy +entity.atum.pharaoh.Moret=Moret + +# Chat +chat.atum.disabled=Создание портала скарабеем отключено +chat.atum.enemies=Рядом слишком много врагов, сундук нельзя обыскать +chat.atum.summonPharaoh=был вызван +chat.atum.killPharaoh=был убит + +# GUI +atum.configGui.portalCreation=Портал «Атума» +atum.configGui.fog=Туман «Атума» +atum.configGui.dimensionID=ID измерения «Атума» +atum.configGui.biomeID=ID биома пустыня «Атума» + +# Custom Loot Names +item.loot.dirty.necklace.name=Грязное ожерелье +item.loot.silver.necklace.name=Серебряное ожерелье +item.loot.gold.necklace.name=Золотое ожерелье +item.loot.sapphire.necklace.name=Сапфировое ожерелье +item.loot.ruby.necklace.name=Рубиновое ожерелье +item.loot.emerald.necklace.name=Изумрудное ожерелье +item.loot.diamond.necklace.name=Алмазное ожерелье + +item.loot.dirty.ring.name=Грязное кольцо +item.loot.silver.ring.name=Серебряное кольцо +item.loot.gold.ring.name=Золотое кольцо +item.loot.sapphire.ring.name=Сапфировое кольцо +item.loot.ruby.ring.name=Рубиновое кольцо +item.loot.emerald.ring.name=Изумрудное кольцо +item.loot.diamond.ring.name=Алмазное кольцо + +item.loot.dirty.broach.name=Грязная брошь +item.loot.silver.broach.name=Серебряная брошь +item.loot.gold.broach.name=Золотая брошь +item.loot.sapphire.broach.name=Сапфировая брошь +item.loot.ruby.broach.name=Рубиновая брошь +item.loot.emerald.broach.name=Изумрудная брошь +item.loot.diamond.broach.name=Алмазная брошь diff --git a/src/main/resources/assets/atum/lang/zh_CN.lang b/src/main/resources/assets/atum/lang/zh_CN.lang new file mode 100644 index 0000000..208a3f1 --- /dev/null +++ b/src/main/resources/assets/atum/lang/zh_CN.lang @@ -0,0 +1,362 @@ +# Misc +itemGroup.atum=亚图姆 +biome.desert.name=沙漠 + +# Blocks +block.portal.name=亚图姆传送门 +tile.chestSpawner.name=亚图姆箱子 +tile.sand.name=怪沙 +block.stone.name=石灰岩 +tile.cobble.name=裂石灰岩 +tile.largeBrick.name=石灰岩大石砖 +tile.smallBrick.name=石灰岩小石砖 +tile.carvedBrick.name=石灰岩精雕石砖 +tile.smoothSlab.name=平滑石灰岩台阶 +tile.crackedSlab.name=裂石灰岩台阶 +tile.largeBrickSlab.name=石灰岩大石砖台阶 +tile.smallBrickSlab.name=石灰岩小石砖台阶 +tile.doubleSlab.name=石灰岩台阶 +tile.smoothStairs.name=石灰岩楼梯 +tile.cobbleStairs.name=石灰岩圆石楼梯 +tile.largeStairs.name=石灰岩大石砖楼梯 +tile.smallStairs.name=石灰岩小石砖楼梯 +tile.sandLayer.name=砂层 +tile.crackedLargeBrick.name=裂石灰岩大石砖 +tile.smoothWall.name=平滑石灰岩墙 +tile.crackedWall.name=裂石灰岩墙 +tile.largeBrickWall.name=石灰岩大石砖墙 +tile.smallBrickWall.name=石灰岩小石砖墙 +tile.crystalGlass.name=水晶玻璃 +tile.framedGlass.name=有框玻璃 +tile.palmSapling.name=棕榈树树苗 +tile.date.name=枣椰子 +tile.shrub.name=灌木 +tile.weed.name=野草 +tile.papyrus.name=纸莎草 +tile.flax.name=亚麻 +tile.fertileSoil.name=沃土 +tile.fertileSoilTilled.name=肥沃耕土 +tile.palmLog.name=棕榈原木 +tile.palmLeaves.name=棕榈树叶 +tile.palmPlanks.name=棕榈木板 +tile.thinCrystalGlass.name=细薄水晶玻璃 +tile.thinFramedGlass.name=细薄有框玻璃 +tile.burningTrap.name=燃烧陷阱 +tile.pharaohChest.name=法老箱子 +tile.redstoneOre.name=红石矿石 +tile.coalOre.name=煤矿石 +tile.ironOre.name=铁矿石 +tile.goldOre.name=金矿石 +tile.lapisOre.name=青金石矿石 +tile.diamondOre.name=钻石矿石 +tile.furnaceIdle.name=石灰岩熔炉 +tile.furnaceBurning.name=石灰岩熔炉 + +# Containers +container.limestoneFurnace=石灰岩熔炉 + +# Item +item.scarab.name=圣甲虫 +item.loot.name=战利品 +item.scimitar.name=短弯刀 +item.greatsword.name=巨剑 +item.scepter.name=权杖 +item.stoneSoldierSword.name=石头士兵剑 +item.bow.name=短弓 +item.limestoneShovel.name=石灰岩铲 +item.limestonePickaxe.name=石灰岩稿 +item.limestoneAxe.name=石灰岩斧 +item.limestoneSword.name=石灰岩剑 +item.limestoneHoe.name=石灰岩锄 +item.mummyHelmet.name=木乃伊头盔 +item.mummyChest.name=木乃伊胸甲 +item.mummyLegs.name=木乃伊护腿 +item.mummyBoots.name=木乃伊靴子 +item.wandererHelmet.name=流浪者头盔 +item.wandererChest.name=流浪者胸甲 +item.wandererLegs.name=流浪者护腿 +item.wandererBoots.name=流浪者靴子 +item.desertHelmet.name=沙漠头盔 +item.desertChest.name=沙漠胸甲 +item.desertLegs.name=沙漠护腿 +item.desertBoots.name=沙漠靴子 +item.papyrusPlant.name=纸莎草 +item.ectoplasm.name=外质 +item.stoneChunk.name=石块 +item.clothScrap.name=碎布 +item.scroll.name=卷轴 +item.wolfPelt.name=狼皮 +item.date.name=栆椰子 +item.linen.name=亚麻布 +item.flax.name=亚麻 +item.flaxSeeds.name=亚麻种子 +item.fish.0.name=被遗忘的鱼 +item.fish.1.name=木乃伊鱼 +item.fish.2.name=宝石鱼 +item.fish.3.name=骸骨鱼 + +item.ptahsDecadence.name=Ptahs之堕落 +item.soteksRage.name=Soteks之愤怒 +item.osirisWill.name=Osiris之意志 +item.akersToil.name=Akers之劳累 +item.gebsBlessing.name=Gebs之祝福 +item.atensFury.name=Atens之狂怒 +item.rasGlory.name=Ras之荣耀 +item.sekhmetsWrath.name=Sekhmets之暴怒 +item.nutsAgility.name=Nuts之敏捷 +item.horusFlight.name=Horus之跃动 +item.monthusStrike.name=Monthus之猛击 +item.anhursMight.name=Anhurs之力量 +item.hedetetsSting.name=Hedetets之穿刺 +item.horusSoaring.name=Horus之翱翔 +item.shusBreath.name=Shus之气息 +item.ptahsDestruction.name=Ptahs之毁灭 +item.monthusBlast.name=Monthus之爆炸 +item.nusFlux.name=Nus之灵动 +item.mnevisHorns.name=Mnevis之号角 +item.isisEmbrace.name=Isis之拥抱 +item.maatsBalance.name=Maats之平衡 +item.hedetetsVenom.name=Hedetets之恶毒 +item.gebsSolidarity.name=Gebs之团结 +item.nutsCall.name=Nuts之召唤 +item.anuketsBounty.name=Anukets之慷慨 +item.mafdetsQuickness.name=Mafdets之迅捷 +item.isisHealing.name=Isis之治疗 +item.amunetsHomecoming.name=Amunets之回归 +item.anubisMercy.name=Anubis之仁慈 +item.neithsAudacity.name=Neiths之胆量 + + +# Item Information +item.akersToil.line1=绩效I:更快, +item.akersToil.line2=且不消耗耐久 +item.akersToil.line3=绩效I + +item.amunetsHomecoming.line1=回返I:将你传送 +item.amunetsHomecoming.line2=回出生点 +item.amunetsHomecoming.line3=回返I + +item.anhursMight.line1=威猛I:使玩家减速, +item.anhursMight.line2=但有几率击晕敌人 +item.anhursMight.line3=威猛I + +item.ptahsDecadence.line1=财富I:能从每个矿石中 +item.ptahsDecadence.line2=额外得到一个钻石 +item.ptahsDecadence.line3=财富I + +item.soteksRage.line1=驱逐I:能将敌人 +item.soteksRage.line2=击退很远的距离 +item.soteksRage.line3=驱逐I + +item.osirisWill.line1=放逐I:对亡灵造成额外伤害, +item.osirisWill.line2=有几率掉落外质 +item.osirisWill.line3=放逐I + +item.gebsBlessing.line1=播种I:肥沃耕土受到祝福, +item.gebsBlessing.line2=能加快生长速率 +item.gebsBlessing.line3=播种I + +item.atensFury.line1=焚箭I: 燃烧的箭头 +item.atensFury.line2=能点燃方块与物品 +item.atensFury.line3=焚箭I + +item.rasGlory.line1=天眼I:夜视,能增加玩家 +item.rasGlory.line2=在亚图姆的可视范围 +item.rasGlory.line3=天眼I + +item.sekhmetsWrath.line1=献祭I:抵御火焰伤害, +item.sekhmetsWrath.line2=有几率点燃攻击者 +item.sekhmetsWrath.line3=献祭I + +item.nutsAgility.line1=敏捷I:增加奔跑 +item.nutsAgility.line2=与挥舞速度 +item.nutsAgility.line3=敏捷I + +item.horusFlight.line1=灵动I:增加跳跃高度, +item.horusFlight.line2=掉落伤害免疫 +item.horusFlight.line3=灵动I + +item.monthusStrike.line1=猛击I:增加伤害, +item.monthusStrike.line2=有几率触发AOE击退 +item.monthusStrike.line3=猛击I + +item.hedetetsSting.line1=猛毒II:有几率 +item.hedetetsSting.line2=使敌人中毒 +item.hedetetsSting.line3=猛毒II + +# I need to talk to shadow +item.horusSoaring.line1=威猛I:使玩家减速, +item.horusSoaring.line2=但有几率击晕敌人 +item.horusSoaring.line3=威猛I + +item.shusBreath.line1=快速瞄准I:减少 +item.shusBreath.line2=瞄准所用时间 +item.shusBreath.line3=快速瞄准I + +item.ptahsDestruction.line1=切石I:增加对 +item.ptahsDestruction.line2=石头敌人的伤害 +item.ptahsDestruction.line3=切石I + +item.monthusBlast.line1=爆炸I:箭头落地 +item.monthusBlast.line2=引起爆炸 +item.monthusBlast.line3=爆炸I + +item.nusFlux.line1=横扫I: 有几率 +item.nusFlux.line2=将敌人抛至空中 +item.nusFlux.line3=横扫I + +item.mnevisHorns.line1=盾刺I:能将伤害 +item.mnevisHorns.line2=反弹给近战攻击者 +item.mnevisHorns.line3=盾刺I + +item.isisEmbrace.line1=重生I:缓慢地 +item.isisEmbrace.line2=回复生命 +item.isisEmbrace.line3=重生I + +item.maatsBalance.line1=平衡I:减少输出的伤 +item.maatsBalance.line2=害,减少受到的伤害 +item.maatsBalance.line3=平衡I + +item.hedetetsVenom.line1=毒箭I:发射的箭 +item.hedetetsVenom.line2=能使敌人中毒 +item.hedetetsVenom.line3=毒箭I + +item.gebsSolidarity.line1=伟岸I:减少移动速度, +item.gebsSolidarity.line2=减少被击退的距离(WIP) +item.gebsSolidarity.line3=伟岸I + +item.nutsCall.line1=暴怒I:有几率召唤 +item.nutsCall.line2=雷电攻击敌人 +item.nutsCall.line3=暴怒I + +item.anuketsBounty.line1=诱惑I:有几率吸引到 +item.anuketsBounty.line2=亚图姆中特殊的鱼 +item.anuketsBounty.line3=诱惑I + +item.mafdetsQuickness.line1=迅捷I:手持该物品时 +item.mafdetsQuickness.line2=跑得会更快 +item.mafdetsQuickness.line3=迅捷I + +item.isisHealing.line1=重生I:手持该物品时 +item.isisHealing.line2=能缓慢地回复生命 +item.isisHealing.line3=重生I + +item.anubisMercy.line1=回返I:死亡时将你, +item.anubisMercy.line2=传送回出生地 +item.anubisMercy.line3=回返I + +item.neithsAudacity.line1=连击I:一次 +item.neithsAudacity.line2=发射两支箭 +item.neithsAudacity.line3=连击I + +# Loot +item.loot.dirty.name=泥土 +item.loot.silver.name=白银 +item.loot.gold.name=黄金 +item.loot.sapphire.name=蓝宝石 +item.loot.ruby.name=红宝石 +item.loot.emerald.name=绿宝石 +item.loot.diamond.name=钻石 + +item.loot.idol.name=人偶 +item.loot.necklace.name=项链 +item.loot.ring.name=指环 +item.loot.broach.name=胸针 +item.loot.scepter.name=权杖 + +# Entity +entity.atum.mummy.name=木乃伊 +entity.atum.banditWarrior.name=强盗战士 +entity.atum.banditArcher.name=强盗射手 +entity.atum.pharaoh.name=法老 +entity.atum.dustySkeleton.name=尘灰骷髅 +entity.atum.desertGhost.name=沙漠幽灵 +entity.atum.stoneSoldier.name=石头士兵 +entity.atum.desertWolf.name=沙漠幽狼 +entity.atum.banditWarlord.name=强盗军阀 +entity.atum.barbarian.name=野蛮人 + +# Pharaoh Names +entity.atum.pharaoh.Ama=Ama' +entity.atum.pharaoh.Ata=Ata' +entity.atum.pharaoh.Ato=Ato' +entity.atum.pharaoh.Bak=Bak' +entity.atum.pharaoh.Cal=Cal' +entity.atum.pharaoh.Djet=Djet' +entity.atum.pharaoh.Eje=Eje' +entity.atum.pharaoh.For=For' +entity.atum.pharaoh.Gol=Gol' +entity.atum.pharaoh.Gut=Gut' +entity.atum.pharaoh.Hop=Hop' +entity.atum.pharaoh.Hor=Hor' +entity.atum.pharaoh.Huni=Huni' +entity.atum.pharaoh.Iam=Iam' +entity.atum.pharaoh.Jor=Jor' +entity.atum.pharaoh.Kal=Kal' +entity.atum.pharaoh.Khas=Khas' +entity.atum.pharaoh.Khor=Khor' +entity.atum.pharaoh.Lat=Lat' +entity.atum.pharaoh.Mal=Mal' +entity.atum.pharaoh.Not=Not' +entity.atum.pharaoh.Oap=Oap' +entity.atum.pharaoh.Pra=Pra' +entity.atum.pharaoh.Qo=Qo' +entity.atum.pharaoh.Ras=Ras' +entity.atum.pharaoh.Shas=Shas' +entity.atum.pharaoh.Thoth=Thoth' +entity.atum.pharaoh.Tui=Tui' +entity.atum.pharaoh.Uld=Uld' +entity.atum.pharaoh.Ver=Ver' +entity.atum.pharaoh.Wot=Wot' +entity.atum.pharaoh.Xo=Xo' +entity.atum.pharaoh.Yat=Yat' +entity.atum.pharaoh.Zyt=Zyt' +entity.atum.pharaoh.Khep=Khep' + +entity.atum.pharaoh.Ahat=Ahat +entity.atum.pharaoh.Amesh=Amesh +entity.atum.pharaoh.Amon=Amon +entity.atum.pharaoh.Anut=Anut +entity.atum.pharaoh.Baroom=Baroom +entity.atum.pharaoh.Chanta=Chanta +entity.atum.pharaoh.Erant=Erant +entity.atum.pharaoh.Funam=Funam +entity.atum.pharaoh.Daresh=Daresh +entity.atum.pharaoh.Djer=Djer +entity.atum.pharaoh.Hotesh=Hotesh +entity.atum.pharaoh.Khaden=Khaden +entity.atum.pharaoh.Kron=Kron +entity.atum.pharaoh.Gorkum=Gorkum +entity.atum.pharaoh.Ialenter=Ialenter +entity.atum.pharaoh.Ma'at=Ma'at +entity.atum.pharaoh.Narmer=Narmer +entity.atum.pharaoh.Radeem=Radeem +entity.atum.pharaoh.Jaloom=Jaloom +entity.atum.pharaoh.Lepsha=Lepsha +entity.atum.pharaoh.Quor=Quor +entity.atum.pharaoh.Oleshet=Oleshet +entity.atum.pharaoh.Peput=Peput +entity.atum.pharaoh.Talat=Talat +entity.atum.pharaoh.Ulam=Ulam +entity.atum.pharaoh.Veresh=Veresh +entity.atum.pharaoh.Ranesh=Ranesh +entity.atum.pharaoh.Snef=Snef +entity.atum.pharaoh.Wollolo=Wollolo +entity.atum.pharaoh.Hathor=Hathor +entity.atum.pharaoh.Intef=Intef +entity.atum.pharaoh.Neferk=Neferk +entity.atum.pharaoh.Khatne=Khatne +entity.atum.pharaoh.Tepy=Tepy +entity.atum.pharaoh.Moret=Moret + +# Chat +chat.atum.disabled=圣甲虫传送门的创建现已被禁止 +chat.atum.enemies=附近有大量敌人正在寻找这个箱子 +chat.atum.summonPharaoh=was summoned by +chat.atum.killPharaoh=was slain by + +# Gui +atum.configGui.portalCreation=亚图姆传送门 +atum.configGui.fog=亚图姆尘雾 +atum.configGui.dimensionID=亚图姆维度ID +atum.configGui.biomeID=亚图姆沙漠生物群系ID diff --git a/resources/mods/Atum/music/LittleLullaby.ogg b/src/main/resources/assets/atum/music/ALongJourney.ogg similarity index 100% rename from resources/mods/Atum/music/LittleLullaby.ogg rename to src/main/resources/assets/atum/music/ALongJourney.ogg diff --git a/resources/mods/Atum/music/LongLost.ogg b/src/main/resources/assets/atum/music/Hostiles.ogg similarity index 100% rename from resources/mods/Atum/music/LongLost.ogg rename to src/main/resources/assets/atum/music/Hostiles.ogg diff --git a/resources/mods/Atum/music/ScorchingSand.ogg b/src/main/resources/assets/atum/music/ScorchingSand.ogg similarity index 100% rename from resources/mods/Atum/music/ScorchingSand.ogg rename to src/main/resources/assets/atum/music/ScorchingSand.ogg diff --git a/resources/mods/Atum/music/TempleTales.ogg b/src/main/resources/assets/atum/music/TempleTales.ogg similarity index 100% rename from resources/mods/Atum/music/TempleTales.ogg rename to src/main/resources/assets/atum/music/TempleTales.ogg diff --git a/resources/mods/Atum/music/WearyWanderer.ogg b/src/main/resources/assets/atum/music/TheWanderer.ogg similarity index 100% rename from resources/mods/Atum/music/WearyWanderer.ogg rename to src/main/resources/assets/atum/music/TheWanderer.ogg diff --git a/resources/mods/Atum/sounds/pharaohspawn.ogg b/src/main/resources/assets/atum/sound/pharaohspawn.ogg similarity index 100% rename from resources/mods/Atum/sounds/pharaohspawn.ogg rename to src/main/resources/assets/atum/sound/pharaohspawn.ogg diff --git a/resources/armor/DesertArmor_1.png b/src/main/resources/assets/atum/textures/armor/DesertArmor_1.png similarity index 100% rename from resources/armor/DesertArmor_1.png rename to src/main/resources/assets/atum/textures/armor/DesertArmor_1.png diff --git a/resources/armor/DesertArmor_2.png b/src/main/resources/assets/atum/textures/armor/DesertArmor_2.png similarity index 100% rename from resources/armor/DesertArmor_2.png rename to src/main/resources/assets/atum/textures/armor/DesertArmor_2.png diff --git a/resources/armor/EgyptianArmor_1.png b/src/main/resources/assets/atum/textures/armor/EgyptianArmor_1.png similarity index 100% rename from resources/armor/EgyptianArmor_1.png rename to src/main/resources/assets/atum/textures/armor/EgyptianArmor_1.png diff --git a/resources/armor/EgyptianArmor_2.png b/src/main/resources/assets/atum/textures/armor/EgyptianArmor_2.png similarity index 100% rename from resources/armor/EgyptianArmor_2.png rename to src/main/resources/assets/atum/textures/armor/EgyptianArmor_2.png diff --git a/resources/armor/MummyArmor_1.png b/src/main/resources/assets/atum/textures/armor/MummyArmor_1.png similarity index 100% rename from resources/armor/MummyArmor_1.png rename to src/main/resources/assets/atum/textures/armor/MummyArmor_1.png diff --git a/resources/armor/MummyArmor_2.png b/src/main/resources/assets/atum/textures/armor/MummyArmor_2.png similarity index 100% rename from resources/armor/MummyArmor_2.png rename to src/main/resources/assets/atum/textures/armor/MummyArmor_2.png diff --git a/resources/armor/RubyArtifactArmor_1.png b/src/main/resources/assets/atum/textures/armor/RubyArtifactArmor_1.png similarity index 100% rename from resources/armor/RubyArtifactArmor_1.png rename to src/main/resources/assets/atum/textures/armor/RubyArtifactArmor_1.png diff --git a/resources/armor/RubyArtifactArmor_2.png b/src/main/resources/assets/atum/textures/armor/RubyArtifactArmor_2.png similarity index 100% rename from resources/armor/RubyArtifactArmor_2.png rename to src/main/resources/assets/atum/textures/armor/RubyArtifactArmor_2.png diff --git a/resources/armor/WandererArmor_1.png b/src/main/resources/assets/atum/textures/armor/WandererArmor_1.png similarity index 100% rename from resources/armor/WandererArmor_1.png rename to src/main/resources/assets/atum/textures/armor/WandererArmor_1.png diff --git a/resources/armor/WandererArmor_1_old.png b/src/main/resources/assets/atum/textures/armor/WandererArmor_1_old.png similarity index 100% rename from resources/armor/WandererArmor_1_old.png rename to src/main/resources/assets/atum/textures/armor/WandererArmor_1_old.png diff --git a/resources/armor/WandererArmor_2.png b/src/main/resources/assets/atum/textures/armor/WandererArmor_2.png similarity index 100% rename from resources/armor/WandererArmor_2.png rename to src/main/resources/assets/atum/textures/armor/WandererArmor_2.png diff --git a/resources/mods/Atum/textures/blocks/AtumBrickCarved.png b/src/main/resources/assets/atum/textures/blocks/AtumBrickCarved.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumBrickCarved.png rename to src/main/resources/assets/atum/textures/blocks/AtumBrickCarved.png diff --git a/resources/mods/Atum/textures/blocks/AtumBrickLarge.png b/src/main/resources/assets/atum/textures/blocks/AtumBrickLarge.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumBrickLarge.png rename to src/main/resources/assets/atum/textures/blocks/AtumBrickLarge.png diff --git a/resources/mods/Atum/textures/blocks/AtumBrickSmall.png b/src/main/resources/assets/atum/textures/blocks/AtumBrickSmall.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumBrickSmall.png rename to src/main/resources/assets/atum/textures/blocks/AtumBrickSmall.png diff --git a/resources/mods/Atum/textures/blocks/AtumCoal.png b/src/main/resources/assets/atum/textures/blocks/AtumCoal.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumCoal.png rename to src/main/resources/assets/atum/textures/blocks/AtumCoal.png diff --git a/resources/mods/Atum/textures/blocks/AtumCobble.png b/src/main/resources/assets/atum/textures/blocks/AtumCobble.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumCobble.png rename to src/main/resources/assets/atum/textures/blocks/AtumCobble.png diff --git a/resources/mods/Atum/textures/blocks/AtumCrackedLargeBrick.png b/src/main/resources/assets/atum/textures/blocks/AtumCrackedLargeBrick.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumCrackedLargeBrick.png rename to src/main/resources/assets/atum/textures/blocks/AtumCrackedLargeBrick.png diff --git a/resources/mods/Atum/textures/blocks/AtumCrystalGlass.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlass.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumCrystalGlass.png rename to src/main/resources/assets/atum/textures/blocks/AtumCrystalGlass.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassBlack.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassBlack.png new file mode 100644 index 0000000..bd4a0f5 Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassBlack.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassBlue.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassBlue.png new file mode 100644 index 0000000..931a47b Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassBlue.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassBrown.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassBrown.png new file mode 100644 index 0000000..a5f8863 Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassBrown.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassCyan.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassCyan.png new file mode 100644 index 0000000..7ac90e1 Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassCyan.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassGray.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassGray.png new file mode 100644 index 0000000..d111191 Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassGray.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassGreen.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassGreen.png new file mode 100644 index 0000000..ec9d6bb Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassGreen.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassLightBlue.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassLightBlue.png new file mode 100644 index 0000000..cd71386 Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassLightBlue.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassLime.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassLime.png new file mode 100644 index 0000000..b9d5668 Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassLime.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassMagenta.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassMagenta.png new file mode 100644 index 0000000..b0fbc1c Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassMagenta.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassOrange.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassOrange.png new file mode 100644 index 0000000..0535d02 Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassOrange.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassPink.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassPink.png new file mode 100644 index 0000000..790196d Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassPink.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassPurple.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassPurple.png new file mode 100644 index 0000000..3c0ef87 Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassPurple.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassRed.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassRed.png new file mode 100644 index 0000000..653375c Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassRed.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassSilver.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassSilver.png new file mode 100644 index 0000000..585051f Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassSilver.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassWhite.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassWhite.png new file mode 100644 index 0000000..07e5187 Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassWhite.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassYellow.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassYellow.png new file mode 100644 index 0000000..3b3c61e Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassYellow.png differ diff --git a/resources/mods/Atum/textures/blocks/AtumDate.png b/src/main/resources/assets/atum/textures/blocks/AtumDate.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumDate.png rename to src/main/resources/assets/atum/textures/blocks/AtumDate.png diff --git a/resources/mods/Atum/textures/blocks/AtumDiamond.png b/src/main/resources/assets/atum/textures/blocks/AtumDiamond.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumDiamond.png rename to src/main/resources/assets/atum/textures/blocks/AtumDiamond.png diff --git a/resources/mods/Atum/textures/blocks/AtumFramedGlass.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlass.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumFramedGlass.png rename to src/main/resources/assets/atum/textures/blocks/AtumFramedGlass.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassBlack.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassBlack.png new file mode 100644 index 0000000..6618cbf Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassBlack.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassBlue.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassBlue.png new file mode 100644 index 0000000..02d5c95 Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassBlue.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassBrown.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassBrown.png new file mode 100644 index 0000000..28b30cc Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassBrown.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassCyan.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassCyan.png new file mode 100644 index 0000000..e8e9f25 Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassCyan.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassGray.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassGray.png new file mode 100644 index 0000000..a4865fc Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassGray.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassGreen.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassGreen.png new file mode 100644 index 0000000..367236f Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassGreen.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassLightBlue.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassLightBlue.png new file mode 100644 index 0000000..38ec40f Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassLightBlue.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassLime.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassLime.png new file mode 100644 index 0000000..e28ad1d Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassLime.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassMagenta.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassMagenta.png new file mode 100644 index 0000000..77a576f Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassMagenta.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassOrange.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassOrange.png new file mode 100644 index 0000000..8601194 Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassOrange.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassPink.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassPink.png new file mode 100644 index 0000000..8f8d757 Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassPink.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassPurple.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassPurple.png new file mode 100644 index 0000000..43a7b06 Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassPurple.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassRed.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassRed.png new file mode 100644 index 0000000..bd44680 Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassRed.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassSilver.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassSilver.png new file mode 100644 index 0000000..f128a9c Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassSilver.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassWhite.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassWhite.png new file mode 100644 index 0000000..4ee583c Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassWhite.png differ diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassYellow.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassYellow.png new file mode 100644 index 0000000..689cf4f Binary files /dev/null and b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassYellow.png differ diff --git a/resources/mods/Atum/textures/blocks/AtumGold.png b/src/main/resources/assets/atum/textures/blocks/AtumGold.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumGold.png rename to src/main/resources/assets/atum/textures/blocks/AtumGold.png diff --git a/resources/mods/Atum/textures/blocks/AtumIron.png b/src/main/resources/assets/atum/textures/blocks/AtumIron.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumIron.png rename to src/main/resources/assets/atum/textures/blocks/AtumIron.png diff --git a/resources/mods/Atum/textures/blocks/AtumLapis.png b/src/main/resources/assets/atum/textures/blocks/AtumLapis.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumLapis.png rename to src/main/resources/assets/atum/textures/blocks/AtumLapis.png diff --git a/resources/mods/Atum/textures/blocks/AtumLeaves.png b/src/main/resources/assets/atum/textures/blocks/AtumLeaves.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumLeaves.png rename to src/main/resources/assets/atum/textures/blocks/AtumLeaves.png diff --git a/resources/mods/Atum/textures/blocks/AtumPalmSapling.png b/src/main/resources/assets/atum/textures/blocks/AtumPalmSapling.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumPalmSapling.png rename to src/main/resources/assets/atum/textures/blocks/AtumPalmSapling.png diff --git a/resources/mods/Atum/textures/blocks/AtumPapyrus.png b/src/main/resources/assets/atum/textures/blocks/AtumPapyrus.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumPapyrus.png rename to src/main/resources/assets/atum/textures/blocks/AtumPapyrus.png diff --git a/resources/mods/Atum/textures/blocks/AtumPapyrusTop.png b/src/main/resources/assets/atum/textures/blocks/AtumPapyrusTop.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumPapyrusTop.png rename to src/main/resources/assets/atum/textures/blocks/AtumPapyrusTop.png diff --git a/resources/mods/Atum/textures/blocks/AtumRedstone.png b/src/main/resources/assets/atum/textures/blocks/AtumRedstone.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumRedstone.png rename to src/main/resources/assets/atum/textures/blocks/AtumRedstone.png diff --git a/resources/mods/Atum/textures/blocks/AtumSand.png b/src/main/resources/assets/atum/textures/blocks/AtumSand.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumSand.png rename to src/main/resources/assets/atum/textures/blocks/AtumSand.png diff --git a/resources/mods/Atum/textures/blocks/AtumStone.png b/src/main/resources/assets/atum/textures/blocks/AtumStone.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumStone.png rename to src/main/resources/assets/atum/textures/blocks/AtumStone.png diff --git a/resources/mods/Atum/textures/blocks/AtumiteOre.png b/src/main/resources/assets/atum/textures/blocks/AtumiteOre.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumiteOre.png rename to src/main/resources/assets/atum/textures/blocks/AtumiteOre.png diff --git a/resources/mods/Atum/textures/blocks/deadbush.png b/src/main/resources/assets/atum/textures/blocks/DeadBush.png similarity index 100% rename from resources/mods/Atum/textures/blocks/deadbush.png rename to src/main/resources/assets/atum/textures/blocks/DeadBush.png diff --git a/resources/mods/Atum/textures/blocks/FertileSoil.png b/src/main/resources/assets/atum/textures/blocks/FertileSoil.png similarity index 100% rename from resources/mods/Atum/textures/blocks/FertileSoil.png rename to src/main/resources/assets/atum/textures/blocks/FertileSoil.png diff --git a/resources/mods/Atum/textures/blocks/FertileSoilSide.png b/src/main/resources/assets/atum/textures/blocks/FertileSoilSide.png similarity index 100% rename from resources/mods/Atum/textures/blocks/FertileSoilSide.png rename to src/main/resources/assets/atum/textures/blocks/FertileSoilSide.png diff --git a/resources/mods/Atum/textures/blocks/FertileSoilTop.png b/src/main/resources/assets/atum/textures/blocks/FertileSoilTop.png similarity index 100% rename from resources/mods/Atum/textures/blocks/FertileSoilTop.png rename to src/main/resources/assets/atum/textures/blocks/FertileSoilTop.png diff --git a/resources/mods/Atum/textures/blocks/Flax_0.png b/src/main/resources/assets/atum/textures/blocks/Flax_0.png similarity index 100% rename from resources/mods/Atum/textures/blocks/Flax_0.png rename to src/main/resources/assets/atum/textures/blocks/Flax_0.png diff --git a/resources/mods/Atum/textures/blocks/Flax_1.png b/src/main/resources/assets/atum/textures/blocks/Flax_1.png similarity index 100% rename from resources/mods/Atum/textures/blocks/Flax_1.png rename to src/main/resources/assets/atum/textures/blocks/Flax_1.png diff --git a/resources/mods/Atum/textures/blocks/Flax_2.png b/src/main/resources/assets/atum/textures/blocks/Flax_2.png similarity index 100% rename from resources/mods/Atum/textures/blocks/Flax_2.png rename to src/main/resources/assets/atum/textures/blocks/Flax_2.png diff --git a/resources/mods/Atum/textures/blocks/Flax_3.png b/src/main/resources/assets/atum/textures/blocks/Flax_3.png similarity index 100% rename from resources/mods/Atum/textures/blocks/Flax_3.png rename to src/main/resources/assets/atum/textures/blocks/Flax_3.png diff --git a/resources/mods/Atum/textures/blocks/Flax_4.png b/src/main/resources/assets/atum/textures/blocks/Flax_4.png similarity index 100% rename from resources/mods/Atum/textures/blocks/Flax_4.png rename to src/main/resources/assets/atum/textures/blocks/Flax_4.png diff --git a/resources/mods/Atum/textures/blocks/Flax_5.png b/src/main/resources/assets/atum/textures/blocks/Flax_5.png similarity index 100% rename from resources/mods/Atum/textures/blocks/Flax_5.png rename to src/main/resources/assets/atum/textures/blocks/Flax_5.png diff --git a/resources/mods/Atum/textures/blocks/FurnaceBurning.png b/src/main/resources/assets/atum/textures/blocks/FurnaceBurning.png similarity index 100% rename from resources/mods/Atum/textures/blocks/FurnaceBurning.png rename to src/main/resources/assets/atum/textures/blocks/FurnaceBurning.png diff --git a/resources/mods/Atum/textures/blocks/FurnaceFront.png b/src/main/resources/assets/atum/textures/blocks/FurnaceFront.png similarity index 100% rename from resources/mods/Atum/textures/blocks/FurnaceFront.png rename to src/main/resources/assets/atum/textures/blocks/FurnaceFront.png diff --git a/resources/mods/Atum/textures/blocks/FurnaceTop.png b/src/main/resources/assets/atum/textures/blocks/FurnaceTop.png similarity index 100% rename from resources/mods/Atum/textures/blocks/FurnaceTop.png rename to src/main/resources/assets/atum/textures/blocks/FurnaceTop.png diff --git a/resources/mods/Atum/textures/blocks/PapyrusPlantItem.png b/src/main/resources/assets/atum/textures/blocks/PapyrusPlantItem.png similarity index 100% rename from resources/mods/Atum/textures/blocks/PapyrusPlantItem.png rename to src/main/resources/assets/atum/textures/blocks/PapyrusPlantItem.png diff --git a/resources/mods/Atum/textures/blocks/Planks.png b/src/main/resources/assets/atum/textures/blocks/Planks.png similarity index 100% rename from resources/mods/Atum/textures/blocks/Planks.png rename to src/main/resources/assets/atum/textures/blocks/Planks.png diff --git a/resources/mods/Atum/textures/blocks/Shrub.png b/src/main/resources/assets/atum/textures/blocks/Shrub.png similarity index 100% rename from resources/mods/Atum/textures/blocks/Shrub.png rename to src/main/resources/assets/atum/textures/blocks/Shrub.png diff --git a/resources/mods/Atum/textures/blocks/TrapFire.png b/src/main/resources/assets/atum/textures/blocks/TrapFire.png similarity index 100% rename from resources/mods/Atum/textures/blocks/TrapFire.png rename to src/main/resources/assets/atum/textures/blocks/TrapFire.png diff --git a/resources/mods/Atum/textures/blocks/TrapSide.png b/src/main/resources/assets/atum/textures/blocks/TrapSide.png similarity index 100% rename from resources/mods/Atum/textures/blocks/TrapSide.png rename to src/main/resources/assets/atum/textures/blocks/TrapSide.png diff --git a/resources/mods/Atum/textures/blocks/Weed.png b/src/main/resources/assets/atum/textures/blocks/Weed.png similarity index 100% rename from resources/mods/Atum/textures/blocks/Weed.png rename to src/main/resources/assets/atum/textures/blocks/Weed.png diff --git a/resources/mods/Atum/textures/blocks/portal.png b/src/main/resources/assets/atum/textures/blocks/portal.png similarity index 100% rename from resources/mods/Atum/textures/blocks/portal.png rename to src/main/resources/assets/atum/textures/blocks/portal.png diff --git a/src/main/resources/assets/atum/textures/blocks/portal.png.mcmeta b/src/main/resources/assets/atum/textures/blocks/portal.png.mcmeta new file mode 100644 index 0000000..4f0718a --- /dev/null +++ b/src/main/resources/assets/atum/textures/blocks/portal.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": {} +} \ No newline at end of file diff --git a/resources/mods/Atum/textures/blocks/stonebricksmooth_mossy.png b/src/main/resources/assets/atum/textures/blocks/stonebricksmooth_mossy.png similarity index 100% rename from resources/mods/Atum/textures/blocks/stonebricksmooth_mossy.png rename to src/main/resources/assets/atum/textures/blocks/stonebricksmooth_mossy.png diff --git a/resources/mods/Atum/textures/blocks/thinglass_top.png b/src/main/resources/assets/atum/textures/blocks/thinglass_top.png similarity index 100% rename from resources/mods/Atum/textures/blocks/thinglass_top.png rename to src/main/resources/assets/atum/textures/blocks/thinglass_top.png diff --git a/resources/mods/Atum/textures/blocks/tree_side.png b/src/main/resources/assets/atum/textures/blocks/tree_side.png similarity index 100% rename from resources/mods/Atum/textures/blocks/tree_side.png rename to src/main/resources/assets/atum/textures/blocks/tree_side.png diff --git a/resources/mods/Atum/textures/blocks/tree_top.png b/src/main/resources/assets/atum/textures/blocks/tree_top.png similarity index 100% rename from resources/mods/Atum/textures/blocks/tree_top.png rename to src/main/resources/assets/atum/textures/blocks/tree_top.png diff --git a/resources/mods/Atum/textures/mobs/BanditArcher.png b/src/main/resources/assets/atum/textures/entities/BanditArcher.png similarity index 100% rename from resources/mods/Atum/textures/mobs/BanditArcher.png rename to src/main/resources/assets/atum/textures/entities/BanditArcher.png diff --git a/resources/mods/Atum/textures/mobs/BanditWarlord.png b/src/main/resources/assets/atum/textures/entities/BanditWarlord.png similarity index 100% rename from resources/mods/Atum/textures/mobs/BanditWarlord.png rename to src/main/resources/assets/atum/textures/entities/BanditWarlord.png diff --git a/resources/mods/Atum/textures/mobs/BanditWarrior.png b/src/main/resources/assets/atum/textures/entities/BanditWarrior.png similarity index 100% rename from resources/mods/Atum/textures/mobs/BanditWarrior.png rename to src/main/resources/assets/atum/textures/entities/BanditWarrior.png diff --git a/resources/mods/Atum/textures/mobs/Barbarian.png b/src/main/resources/assets/atum/textures/entities/Barbarian.png similarity index 100% rename from resources/mods/Atum/textures/mobs/Barbarian.png rename to src/main/resources/assets/atum/textures/entities/Barbarian.png diff --git a/resources/mods/Atum/textures/mobs/Bonestorm.png b/src/main/resources/assets/atum/textures/entities/Bonestorm.png similarity index 100% rename from resources/mods/Atum/textures/mobs/Bonestorm.png rename to src/main/resources/assets/atum/textures/entities/Bonestorm.png diff --git a/resources/mods/Atum/textures/mobs/DesertGhost.png b/src/main/resources/assets/atum/textures/entities/DesertGhost.png similarity index 100% rename from resources/mods/Atum/textures/mobs/DesertGhost.png rename to src/main/resources/assets/atum/textures/entities/DesertGhost.png diff --git a/resources/mods/Atum/textures/mobs/DesertWolf.png b/src/main/resources/assets/atum/textures/entities/DesertWolf.png similarity index 100% rename from resources/mods/Atum/textures/mobs/DesertWolf.png rename to src/main/resources/assets/atum/textures/entities/DesertWolf.png diff --git a/resources/mods/Atum/textures/mobs/DesertWolf_angry.png b/src/main/resources/assets/atum/textures/entities/DesertWolf_angry.png similarity index 100% rename from resources/mods/Atum/textures/mobs/DesertWolf_angry.png rename to src/main/resources/assets/atum/textures/entities/DesertWolf_angry.png diff --git a/resources/mods/Atum/textures/mobs/DesertWolf_tame.png b/src/main/resources/assets/atum/textures/entities/DesertWolf_tame.png similarity index 100% rename from resources/mods/Atum/textures/mobs/DesertWolf_tame.png rename to src/main/resources/assets/atum/textures/entities/DesertWolf_tame.png diff --git a/resources/mods/Atum/textures/mobs/DustySkeleton.png b/src/main/resources/assets/atum/textures/entities/DustySkeleton.png similarity index 100% rename from resources/mods/Atum/textures/mobs/DustySkeleton.png rename to src/main/resources/assets/atum/textures/entities/DustySkeleton.png diff --git a/resources/mods/Atum/textures/mobs/Mummy.png b/src/main/resources/assets/atum/textures/entities/Mummy.png similarity index 100% rename from resources/mods/Atum/textures/mobs/Mummy.png rename to src/main/resources/assets/atum/textures/entities/Mummy.png diff --git a/resources/mods/Atum/textures/mobs/PharaohBlue.png b/src/main/resources/assets/atum/textures/entities/PharaohBlue.png similarity index 100% rename from resources/mods/Atum/textures/mobs/PharaohBlue.png rename to src/main/resources/assets/atum/textures/entities/PharaohBlue.png diff --git a/resources/mods/Atum/textures/mobs/PharaohBlue_old.png b/src/main/resources/assets/atum/textures/entities/PharaohBlue_old.png similarity index 100% rename from resources/mods/Atum/textures/mobs/PharaohBlue_old.png rename to src/main/resources/assets/atum/textures/entities/PharaohBlue_old.png diff --git a/resources/mods/Atum/textures/mobs/PharaohGreen.png b/src/main/resources/assets/atum/textures/entities/PharaohGreen.png similarity index 100% rename from resources/mods/Atum/textures/mobs/PharaohGreen.png rename to src/main/resources/assets/atum/textures/entities/PharaohGreen.png diff --git a/resources/mods/Atum/textures/mobs/PharaohRed.png b/src/main/resources/assets/atum/textures/entities/PharaohRed.png similarity index 100% rename from resources/mods/Atum/textures/mobs/PharaohRed.png rename to src/main/resources/assets/atum/textures/entities/PharaohRed.png diff --git a/resources/mods/Atum/textures/mobs/StoneSoldier.png b/src/main/resources/assets/atum/textures/entities/StoneSoldier.png similarity index 100% rename from resources/mods/Atum/textures/mobs/StoneSoldier.png rename to src/main/resources/assets/atum/textures/entities/StoneSoldier.png diff --git a/resources/mods/Atum/textures/hud/mummyblur.png b/src/main/resources/assets/atum/textures/hud/mummyblur.png similarity index 100% rename from resources/mods/Atum/textures/hud/mummyblur.png rename to src/main/resources/assets/atum/textures/hud/mummyblur.png diff --git a/resources/mods/Atum/textures/items/AkersToil.png b/src/main/resources/assets/atum/textures/items/AkersToil.png similarity index 100% rename from resources/mods/Atum/textures/items/AkersToil.png rename to src/main/resources/assets/atum/textures/items/AkersToil.png diff --git a/resources/mods/Atum/textures/items/AmunetsHomecoming.png b/src/main/resources/assets/atum/textures/items/AmunetsHomecoming.png similarity index 100% rename from resources/mods/Atum/textures/items/AmunetsHomecoming.png rename to src/main/resources/assets/atum/textures/items/AmunetsHomecoming.png diff --git a/resources/mods/Atum/textures/items/Anhur's Might.png b/src/main/resources/assets/atum/textures/items/Anhur's Might.png similarity index 100% rename from resources/mods/Atum/textures/items/Anhur's Might.png rename to src/main/resources/assets/atum/textures/items/Anhur's Might.png diff --git a/resources/mods/Atum/textures/items/AnhursMight.png b/src/main/resources/assets/atum/textures/items/AnhursMight.png similarity index 100% rename from resources/mods/Atum/textures/items/AnhursMight.png rename to src/main/resources/assets/atum/textures/items/AnhursMight.png diff --git a/resources/mods/Atum/textures/items/AnubisMercy.png b/src/main/resources/assets/atum/textures/items/AnubisMercy.png similarity index 100% rename from resources/mods/Atum/textures/items/AnubisMercy.png rename to src/main/resources/assets/atum/textures/items/AnubisMercy.png diff --git a/resources/mods/Atum/textures/items/AnuketsBounty.png b/src/main/resources/assets/atum/textures/items/AnuketsBounty.png similarity index 100% rename from resources/mods/Atum/textures/items/AnuketsBounty.png rename to src/main/resources/assets/atum/textures/items/AnuketsBounty.png diff --git a/resources/mods/Atum/textures/items/Arrow.png b/src/main/resources/assets/atum/textures/items/Arrow.png similarity index 100% rename from resources/mods/Atum/textures/items/Arrow.png rename to src/main/resources/assets/atum/textures/items/Arrow.png diff --git a/resources/mods/Atum/textures/items/ArrowEntity.png b/src/main/resources/assets/atum/textures/items/ArrowEntity.png similarity index 100% rename from resources/mods/Atum/textures/items/ArrowEntity.png rename to src/main/resources/assets/atum/textures/items/ArrowEntity.png diff --git a/resources/mods/Atum/textures/items/AtensFury.png b/src/main/resources/assets/atum/textures/items/AtensFury.png similarity index 100% rename from resources/mods/Atum/textures/items/AtensFury.png rename to src/main/resources/assets/atum/textures/items/AtensFury.png diff --git a/resources/mods/Atum/textures/items/Bow.png b/src/main/resources/assets/atum/textures/items/Bow.png similarity index 100% rename from resources/mods/Atum/textures/items/Bow.png rename to src/main/resources/assets/atum/textures/items/Bow.png diff --git a/resources/mods/Atum/textures/items/ClothScrap.png b/src/main/resources/assets/atum/textures/items/ClothScrap.png similarity index 100% rename from resources/mods/Atum/textures/items/ClothScrap.png rename to src/main/resources/assets/atum/textures/items/ClothScrap.png diff --git a/resources/mods/Atum/textures/items/Date.png b/src/main/resources/assets/atum/textures/items/Date.png similarity index 100% rename from resources/mods/Atum/textures/items/Date.png rename to src/main/resources/assets/atum/textures/items/Date.png diff --git a/resources/mods/Atum/textures/items/DesertBoots.png b/src/main/resources/assets/atum/textures/items/DesertBoots.png similarity index 100% rename from resources/mods/Atum/textures/items/DesertBoots.png rename to src/main/resources/assets/atum/textures/items/DesertBoots.png diff --git a/resources/mods/Atum/textures/items/DesertChest.png b/src/main/resources/assets/atum/textures/items/DesertChest.png similarity index 100% rename from resources/mods/Atum/textures/items/DesertChest.png rename to src/main/resources/assets/atum/textures/items/DesertChest.png diff --git a/resources/mods/Atum/textures/items/DesertHelmet.png b/src/main/resources/assets/atum/textures/items/DesertHelmet.png similarity index 100% rename from resources/mods/Atum/textures/items/DesertHelmet.png rename to src/main/resources/assets/atum/textures/items/DesertHelmet.png diff --git a/resources/mods/Atum/textures/items/DesertLegs.png b/src/main/resources/assets/atum/textures/items/DesertLegs.png similarity index 100% rename from resources/mods/Atum/textures/items/DesertLegs.png rename to src/main/resources/assets/atum/textures/items/DesertLegs.png diff --git a/resources/mods/Atum/textures/items/DiamondBroach.png b/src/main/resources/assets/atum/textures/items/DiamondBroach.png similarity index 100% rename from resources/mods/Atum/textures/items/DiamondBroach.png rename to src/main/resources/assets/atum/textures/items/DiamondBroach.png diff --git a/resources/mods/Atum/textures/items/DiamondIdol.png b/src/main/resources/assets/atum/textures/items/DiamondIdol.png similarity index 100% rename from resources/mods/Atum/textures/items/DiamondIdol.png rename to src/main/resources/assets/atum/textures/items/DiamondIdol.png diff --git a/resources/mods/Atum/textures/items/DiamondNecklace.png b/src/main/resources/assets/atum/textures/items/DiamondNecklace.png similarity index 100% rename from resources/mods/Atum/textures/items/DiamondNecklace.png rename to src/main/resources/assets/atum/textures/items/DiamondNecklace.png diff --git a/resources/mods/Atum/textures/items/DiamondRing.png b/src/main/resources/assets/atum/textures/items/DiamondRing.png similarity index 100% rename from resources/mods/Atum/textures/items/DiamondRing.png rename to src/main/resources/assets/atum/textures/items/DiamondRing.png diff --git a/resources/mods/Atum/textures/items/DiamondScepter.png b/src/main/resources/assets/atum/textures/items/DiamondScepter.png similarity index 100% rename from resources/mods/Atum/textures/items/DiamondScepter.png rename to src/main/resources/assets/atum/textures/items/DiamondScepter.png diff --git a/resources/mods/Atum/textures/items/DirtyBroach.png b/src/main/resources/assets/atum/textures/items/DirtyBroach.png similarity index 100% rename from resources/mods/Atum/textures/items/DirtyBroach.png rename to src/main/resources/assets/atum/textures/items/DirtyBroach.png diff --git a/resources/mods/Atum/textures/items/DirtyIdol.png b/src/main/resources/assets/atum/textures/items/DirtyIdol.png similarity index 100% rename from resources/mods/Atum/textures/items/DirtyIdol.png rename to src/main/resources/assets/atum/textures/items/DirtyIdol.png diff --git a/resources/mods/Atum/textures/items/DirtyNecklace.png b/src/main/resources/assets/atum/textures/items/DirtyNecklace.png similarity index 100% rename from resources/mods/Atum/textures/items/DirtyNecklace.png rename to src/main/resources/assets/atum/textures/items/DirtyNecklace.png diff --git a/resources/mods/Atum/textures/items/DirtyRing.png b/src/main/resources/assets/atum/textures/items/DirtyRing.png similarity index 100% rename from resources/mods/Atum/textures/items/DirtyRing.png rename to src/main/resources/assets/atum/textures/items/DirtyRing.png diff --git a/resources/mods/Atum/textures/items/DirtyScepter.png b/src/main/resources/assets/atum/textures/items/DirtyScepter.png similarity index 100% rename from resources/mods/Atum/textures/items/DirtyScepter.png rename to src/main/resources/assets/atum/textures/items/DirtyScepter.png diff --git a/resources/mods/Atum/textures/items/Ectoplasm.png b/src/main/resources/assets/atum/textures/items/Ectoplasm.png similarity index 100% rename from resources/mods/Atum/textures/items/Ectoplasm.png rename to src/main/resources/assets/atum/textures/items/Ectoplasm.png diff --git a/resources/mods/Atum/textures/items/EmeraldBroach.png b/src/main/resources/assets/atum/textures/items/EmeraldBroach.png similarity index 100% rename from resources/mods/Atum/textures/items/EmeraldBroach.png rename to src/main/resources/assets/atum/textures/items/EmeraldBroach.png diff --git a/resources/mods/Atum/textures/items/EmeraldIdol.png b/src/main/resources/assets/atum/textures/items/EmeraldIdol.png similarity index 100% rename from resources/mods/Atum/textures/items/EmeraldIdol.png rename to src/main/resources/assets/atum/textures/items/EmeraldIdol.png diff --git a/resources/mods/Atum/textures/items/EmeraldNecklace.png b/src/main/resources/assets/atum/textures/items/EmeraldNecklace.png similarity index 100% rename from resources/mods/Atum/textures/items/EmeraldNecklace.png rename to src/main/resources/assets/atum/textures/items/EmeraldNecklace.png diff --git a/resources/mods/Atum/textures/items/EmeraldRing.png b/src/main/resources/assets/atum/textures/items/EmeraldRing.png similarity index 100% rename from resources/mods/Atum/textures/items/EmeraldRing.png rename to src/main/resources/assets/atum/textures/items/EmeraldRing.png diff --git a/resources/mods/Atum/textures/items/EmeraldScepter.png b/src/main/resources/assets/atum/textures/items/EmeraldScepter.png similarity index 100% rename from resources/mods/Atum/textures/items/EmeraldScepter.png rename to src/main/resources/assets/atum/textures/items/EmeraldScepter.png diff --git a/resources/mods/Atum/textures/items/Fish0.png b/src/main/resources/assets/atum/textures/items/Fish0.png similarity index 100% rename from resources/mods/Atum/textures/items/Fish0.png rename to src/main/resources/assets/atum/textures/items/Fish0.png diff --git a/resources/mods/Atum/textures/items/Fish1.png b/src/main/resources/assets/atum/textures/items/Fish1.png similarity index 100% rename from resources/mods/Atum/textures/items/Fish1.png rename to src/main/resources/assets/atum/textures/items/Fish1.png diff --git a/resources/mods/Atum/textures/items/Fish2.png b/src/main/resources/assets/atum/textures/items/Fish2.png similarity index 100% rename from resources/mods/Atum/textures/items/Fish2.png rename to src/main/resources/assets/atum/textures/items/Fish2.png diff --git a/resources/mods/Atum/textures/items/Fish3.png b/src/main/resources/assets/atum/textures/items/Fish3.png similarity index 100% rename from resources/mods/Atum/textures/items/Fish3.png rename to src/main/resources/assets/atum/textures/items/Fish3.png diff --git a/resources/mods/Atum/textures/items/Fish4.png b/src/main/resources/assets/atum/textures/items/Fish4.png similarity index 100% rename from resources/mods/Atum/textures/items/Fish4.png rename to src/main/resources/assets/atum/textures/items/Fish4.png diff --git a/resources/mods/Atum/textures/items/FlaxItem.png b/src/main/resources/assets/atum/textures/items/FlaxItem.png similarity index 100% rename from resources/mods/Atum/textures/items/FlaxItem.png rename to src/main/resources/assets/atum/textures/items/FlaxItem.png diff --git a/resources/mods/Atum/textures/items/FlaxSeeds.png b/src/main/resources/assets/atum/textures/items/FlaxSeeds.png similarity index 100% rename from resources/mods/Atum/textures/items/FlaxSeeds.png rename to src/main/resources/assets/atum/textures/items/FlaxSeeds.png diff --git a/resources/mods/Atum/textures/items/GebsBlessing.png b/src/main/resources/assets/atum/textures/items/GebsBlessing.png similarity index 100% rename from resources/mods/Atum/textures/items/GebsBlessing.png rename to src/main/resources/assets/atum/textures/items/GebsBlessing.png diff --git a/resources/mods/Atum/textures/items/GebsSolidarity.png b/src/main/resources/assets/atum/textures/items/GebsSolidarity.png similarity index 100% rename from resources/mods/Atum/textures/items/GebsSolidarity.png rename to src/main/resources/assets/atum/textures/items/GebsSolidarity.png diff --git a/resources/mods/Atum/textures/items/GoldBroach.png b/src/main/resources/assets/atum/textures/items/GoldBroach.png similarity index 100% rename from resources/mods/Atum/textures/items/GoldBroach.png rename to src/main/resources/assets/atum/textures/items/GoldBroach.png diff --git a/resources/mods/Atum/textures/items/GoldIdol.png b/src/main/resources/assets/atum/textures/items/GoldIdol.png similarity index 100% rename from resources/mods/Atum/textures/items/GoldIdol.png rename to src/main/resources/assets/atum/textures/items/GoldIdol.png diff --git a/resources/mods/Atum/textures/items/GoldNecklace.png b/src/main/resources/assets/atum/textures/items/GoldNecklace.png similarity index 100% rename from resources/mods/Atum/textures/items/GoldNecklace.png rename to src/main/resources/assets/atum/textures/items/GoldNecklace.png diff --git a/resources/mods/Atum/textures/items/GoldRing.png b/src/main/resources/assets/atum/textures/items/GoldRing.png similarity index 100% rename from resources/mods/Atum/textures/items/GoldRing.png rename to src/main/resources/assets/atum/textures/items/GoldRing.png diff --git a/resources/mods/Atum/textures/items/GoldScepter.png b/src/main/resources/assets/atum/textures/items/GoldScepter.png similarity index 100% rename from resources/mods/Atum/textures/items/GoldScepter.png rename to src/main/resources/assets/atum/textures/items/GoldScepter.png diff --git a/resources/mods/Atum/textures/items/Greatsword.png b/src/main/resources/assets/atum/textures/items/Greatsword.png similarity index 100% rename from resources/mods/Atum/textures/items/Greatsword.png rename to src/main/resources/assets/atum/textures/items/Greatsword.png diff --git a/resources/mods/Atum/textures/items/HedetetsSting.png b/src/main/resources/assets/atum/textures/items/HedetetsSting.png similarity index 100% rename from resources/mods/Atum/textures/items/HedetetsSting.png rename to src/main/resources/assets/atum/textures/items/HedetetsSting.png diff --git a/resources/mods/Atum/textures/items/HedetetsVenom.png b/src/main/resources/assets/atum/textures/items/HedetetsVenom.png similarity index 100% rename from resources/mods/Atum/textures/items/HedetetsVenom.png rename to src/main/resources/assets/atum/textures/items/HedetetsVenom.png diff --git a/resources/mods/Atum/textures/items/HedetetsVenom_pull_0.png b/src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_0.png similarity index 100% rename from resources/mods/Atum/textures/items/HedetetsVenom_pull_0.png rename to src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_0.png diff --git a/resources/mods/Atum/textures/items/HedetetsVenom_pull_1.png b/src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_1.png similarity index 100% rename from resources/mods/Atum/textures/items/HedetetsVenom_pull_1.png rename to src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_1.png diff --git a/resources/mods/Atum/textures/items/HedetetsVenom_pull_2.png b/src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_2.png similarity index 100% rename from resources/mods/Atum/textures/items/HedetetsVenom_pull_2.png rename to src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_2.png diff --git a/resources/mods/Atum/textures/items/HorusFlight.png b/src/main/resources/assets/atum/textures/items/HorusFlight.png similarity index 100% rename from resources/mods/Atum/textures/items/HorusFlight.png rename to src/main/resources/assets/atum/textures/items/HorusFlight.png diff --git a/resources/mods/Atum/textures/items/HorusSoaring.png b/src/main/resources/assets/atum/textures/items/HorusSoaring.png similarity index 100% rename from resources/mods/Atum/textures/items/HorusSoaring.png rename to src/main/resources/assets/atum/textures/items/HorusSoaring.png diff --git a/resources/mods/Atum/textures/items/HorusSoaring_pull_0.png b/src/main/resources/assets/atum/textures/items/HorusSoaring_pull_0.png similarity index 100% rename from resources/mods/Atum/textures/items/HorusSoaring_pull_0.png rename to src/main/resources/assets/atum/textures/items/HorusSoaring_pull_0.png diff --git a/resources/mods/Atum/textures/items/HorusSoaring_pull_1.png b/src/main/resources/assets/atum/textures/items/HorusSoaring_pull_1.png similarity index 100% rename from resources/mods/Atum/textures/items/HorusSoaring_pull_1.png rename to src/main/resources/assets/atum/textures/items/HorusSoaring_pull_1.png diff --git a/resources/mods/Atum/textures/items/HorusSoaring_pull_2.png b/src/main/resources/assets/atum/textures/items/HorusSoaring_pull_2.png similarity index 100% rename from resources/mods/Atum/textures/items/HorusSoaring_pull_2.png rename to src/main/resources/assets/atum/textures/items/HorusSoaring_pull_2.png diff --git a/resources/mods/Atum/textures/items/IsisEmbrace.png b/src/main/resources/assets/atum/textures/items/IsisEmbrace.png similarity index 100% rename from resources/mods/Atum/textures/items/IsisEmbrace.png rename to src/main/resources/assets/atum/textures/items/IsisEmbrace.png diff --git a/resources/mods/Atum/textures/items/IsisHealing.png b/src/main/resources/assets/atum/textures/items/IsisHealing.png similarity index 100% rename from resources/mods/Atum/textures/items/IsisHealing.png rename to src/main/resources/assets/atum/textures/items/IsisHealing.png diff --git a/resources/mods/Atum/textures/items/LimestoneAxe.png b/src/main/resources/assets/atum/textures/items/LimestoneAxe.png similarity index 100% rename from resources/mods/Atum/textures/items/LimestoneAxe.png rename to src/main/resources/assets/atum/textures/items/LimestoneAxe.png diff --git a/resources/mods/Atum/textures/items/LimestoneHoe.png b/src/main/resources/assets/atum/textures/items/LimestoneHoe.png similarity index 100% rename from resources/mods/Atum/textures/items/LimestoneHoe.png rename to src/main/resources/assets/atum/textures/items/LimestoneHoe.png diff --git a/resources/mods/Atum/textures/items/LimestonePickaxe.png b/src/main/resources/assets/atum/textures/items/LimestonePickaxe.png similarity index 100% rename from resources/mods/Atum/textures/items/LimestonePickaxe.png rename to src/main/resources/assets/atum/textures/items/LimestonePickaxe.png diff --git a/resources/mods/Atum/textures/items/LimestoneShovel.png b/src/main/resources/assets/atum/textures/items/LimestoneShovel.png similarity index 100% rename from resources/mods/Atum/textures/items/LimestoneShovel.png rename to src/main/resources/assets/atum/textures/items/LimestoneShovel.png diff --git a/resources/mods/Atum/textures/items/LimestoneSword.png b/src/main/resources/assets/atum/textures/items/LimestoneSword.png similarity index 100% rename from resources/mods/Atum/textures/items/LimestoneSword.png rename to src/main/resources/assets/atum/textures/items/LimestoneSword.png diff --git a/resources/mods/Atum/textures/items/Linen.png b/src/main/resources/assets/atum/textures/items/Linen.png similarity index 100% rename from resources/mods/Atum/textures/items/Linen.png rename to src/main/resources/assets/atum/textures/items/Linen.png diff --git a/resources/mods/Atum/textures/items/MaatsBalance.png b/src/main/resources/assets/atum/textures/items/MaatsBalance.png similarity index 100% rename from resources/mods/Atum/textures/items/MaatsBalance.png rename to src/main/resources/assets/atum/textures/items/MaatsBalance.png diff --git a/resources/mods/Atum/textures/items/MafdetsQuickness.png b/src/main/resources/assets/atum/textures/items/MafdetsQuickness.png similarity index 100% rename from resources/mods/Atum/textures/items/MafdetsQuickness.png rename to src/main/resources/assets/atum/textures/items/MafdetsQuickness.png diff --git a/resources/mods/Atum/textures/items/MnevisHorns.png b/src/main/resources/assets/atum/textures/items/MnevisHorns.png similarity index 100% rename from resources/mods/Atum/textures/items/MnevisHorns.png rename to src/main/resources/assets/atum/textures/items/MnevisHorns.png diff --git a/resources/mods/Atum/textures/items/MonthusBlast.png b/src/main/resources/assets/atum/textures/items/MonthusBlast.png similarity index 100% rename from resources/mods/Atum/textures/items/MonthusBlast.png rename to src/main/resources/assets/atum/textures/items/MonthusBlast.png diff --git a/resources/mods/Atum/textures/items/MonthusBlast_pull_0.png b/src/main/resources/assets/atum/textures/items/MonthusBlast_pull_0.png similarity index 100% rename from resources/mods/Atum/textures/items/MonthusBlast_pull_0.png rename to src/main/resources/assets/atum/textures/items/MonthusBlast_pull_0.png diff --git a/resources/mods/Atum/textures/items/MonthusBlast_pull_1.png b/src/main/resources/assets/atum/textures/items/MonthusBlast_pull_1.png similarity index 100% rename from resources/mods/Atum/textures/items/MonthusBlast_pull_1.png rename to src/main/resources/assets/atum/textures/items/MonthusBlast_pull_1.png diff --git a/resources/mods/Atum/textures/items/MonthusBlast_pull_2.png b/src/main/resources/assets/atum/textures/items/MonthusBlast_pull_2.png similarity index 100% rename from resources/mods/Atum/textures/items/MonthusBlast_pull_2.png rename to src/main/resources/assets/atum/textures/items/MonthusBlast_pull_2.png diff --git a/resources/mods/Atum/textures/items/MonthusStrike.png b/src/main/resources/assets/atum/textures/items/MonthusStrike.png similarity index 100% rename from resources/mods/Atum/textures/items/MonthusStrike.png rename to src/main/resources/assets/atum/textures/items/MonthusStrike.png diff --git a/resources/mods/Atum/textures/items/MummyBoots.png b/src/main/resources/assets/atum/textures/items/MummyBoots.png similarity index 100% rename from resources/mods/Atum/textures/items/MummyBoots.png rename to src/main/resources/assets/atum/textures/items/MummyBoots.png diff --git a/resources/mods/Atum/textures/items/MummyChest.png b/src/main/resources/assets/atum/textures/items/MummyChest.png similarity index 100% rename from resources/mods/Atum/textures/items/MummyChest.png rename to src/main/resources/assets/atum/textures/items/MummyChest.png diff --git a/resources/mods/Atum/textures/items/MummyHelmet.png b/src/main/resources/assets/atum/textures/items/MummyHelmet.png similarity index 100% rename from resources/mods/Atum/textures/items/MummyHelmet.png rename to src/main/resources/assets/atum/textures/items/MummyHelmet.png diff --git a/resources/mods/Atum/textures/items/MummyLegs.png b/src/main/resources/assets/atum/textures/items/MummyLegs.png similarity index 100% rename from resources/mods/Atum/textures/items/MummyLegs.png rename to src/main/resources/assets/atum/textures/items/MummyLegs.png diff --git a/resources/mods/Atum/textures/items/NeithsAudacity.png b/src/main/resources/assets/atum/textures/items/NeithsAudacity.png similarity index 100% rename from resources/mods/Atum/textures/items/NeithsAudacity.png rename to src/main/resources/assets/atum/textures/items/NeithsAudacity.png diff --git a/resources/mods/Atum/textures/items/NusFlux.png b/src/main/resources/assets/atum/textures/items/NusFlux.png similarity index 100% rename from resources/mods/Atum/textures/items/NusFlux.png rename to src/main/resources/assets/atum/textures/items/NusFlux.png diff --git a/resources/mods/Atum/textures/items/NutsAgility.png b/src/main/resources/assets/atum/textures/items/NutsAgility.png similarity index 100% rename from resources/mods/Atum/textures/items/NutsAgility.png rename to src/main/resources/assets/atum/textures/items/NutsAgility.png diff --git a/resources/mods/Atum/textures/items/NutsCall.png b/src/main/resources/assets/atum/textures/items/NutsCall.png similarity index 100% rename from resources/mods/Atum/textures/items/NutsCall.png rename to src/main/resources/assets/atum/textures/items/NutsCall.png diff --git a/resources/mods/Atum/textures/items/OsirisWill.png b/src/main/resources/assets/atum/textures/items/OsirisWill.png similarity index 100% rename from resources/mods/Atum/textures/items/OsirisWill.png rename to src/main/resources/assets/atum/textures/items/OsirisWill.png diff --git a/resources/mods/Atum/textures/items/PapyrusPlantItem.png b/src/main/resources/assets/atum/textures/items/PapyrusPlantItem.png similarity index 100% rename from resources/mods/Atum/textures/items/PapyrusPlantItem.png rename to src/main/resources/assets/atum/textures/items/PapyrusPlantItem.png diff --git a/resources/mods/Atum/textures/items/ptahsDecadence.png b/src/main/resources/assets/atum/textures/items/PtahsDecadence.png similarity index 100% rename from resources/mods/Atum/textures/items/ptahsDecadence.png rename to src/main/resources/assets/atum/textures/items/PtahsDecadence.png diff --git a/resources/mods/Atum/textures/items/PtahsDestruction.png b/src/main/resources/assets/atum/textures/items/PtahsDestruction.png similarity index 100% rename from resources/mods/Atum/textures/items/PtahsDestruction.png rename to src/main/resources/assets/atum/textures/items/PtahsDestruction.png diff --git a/resources/mods/Atum/textures/items/RasGlory.png b/src/main/resources/assets/atum/textures/items/RasGlory.png similarity index 100% rename from resources/mods/Atum/textures/items/RasGlory.png rename to src/main/resources/assets/atum/textures/items/RasGlory.png diff --git a/resources/mods/Atum/textures/items/RubyBroach.png b/src/main/resources/assets/atum/textures/items/RubyBroach.png similarity index 100% rename from resources/mods/Atum/textures/items/RubyBroach.png rename to src/main/resources/assets/atum/textures/items/RubyBroach.png diff --git a/resources/mods/Atum/textures/items/RubyIdol.png b/src/main/resources/assets/atum/textures/items/RubyIdol.png similarity index 100% rename from resources/mods/Atum/textures/items/RubyIdol.png rename to src/main/resources/assets/atum/textures/items/RubyIdol.png diff --git a/resources/mods/Atum/textures/items/RubyNecklace.png b/src/main/resources/assets/atum/textures/items/RubyNecklace.png similarity index 100% rename from resources/mods/Atum/textures/items/RubyNecklace.png rename to src/main/resources/assets/atum/textures/items/RubyNecklace.png diff --git a/resources/mods/Atum/textures/items/RubyRing.png b/src/main/resources/assets/atum/textures/items/RubyRing.png similarity index 100% rename from resources/mods/Atum/textures/items/RubyRing.png rename to src/main/resources/assets/atum/textures/items/RubyRing.png diff --git a/resources/mods/Atum/textures/items/RubyScepter.png b/src/main/resources/assets/atum/textures/items/RubyScepter.png similarity index 100% rename from resources/mods/Atum/textures/items/RubyScepter.png rename to src/main/resources/assets/atum/textures/items/RubyScepter.png diff --git a/resources/mods/Atum/textures/items/SapphireBroach.png b/src/main/resources/assets/atum/textures/items/SapphireBroach.png similarity index 100% rename from resources/mods/Atum/textures/items/SapphireBroach.png rename to src/main/resources/assets/atum/textures/items/SapphireBroach.png diff --git a/resources/mods/Atum/textures/items/SapphireIdol.png b/src/main/resources/assets/atum/textures/items/SapphireIdol.png similarity index 100% rename from resources/mods/Atum/textures/items/SapphireIdol.png rename to src/main/resources/assets/atum/textures/items/SapphireIdol.png diff --git a/resources/mods/Atum/textures/items/SapphireNecklace.png b/src/main/resources/assets/atum/textures/items/SapphireNecklace.png similarity index 100% rename from resources/mods/Atum/textures/items/SapphireNecklace.png rename to src/main/resources/assets/atum/textures/items/SapphireNecklace.png diff --git a/resources/mods/Atum/textures/items/SapphireRing.png b/src/main/resources/assets/atum/textures/items/SapphireRing.png similarity index 100% rename from resources/mods/Atum/textures/items/SapphireRing.png rename to src/main/resources/assets/atum/textures/items/SapphireRing.png diff --git a/resources/mods/Atum/textures/items/SapphireScepter.png b/src/main/resources/assets/atum/textures/items/SapphireScepter.png similarity index 100% rename from resources/mods/Atum/textures/items/SapphireScepter.png rename to src/main/resources/assets/atum/textures/items/SapphireScepter.png diff --git a/resources/mods/Atum/textures/items/Scarab.png b/src/main/resources/assets/atum/textures/items/Scarab.png similarity index 100% rename from resources/mods/Atum/textures/items/Scarab.png rename to src/main/resources/assets/atum/textures/items/Scarab.png diff --git a/resources/mods/Atum/textures/items/Scepter.png b/src/main/resources/assets/atum/textures/items/Scepter.png similarity index 100% rename from resources/mods/Atum/textures/items/Scepter.png rename to src/main/resources/assets/atum/textures/items/Scepter.png diff --git a/resources/mods/Atum/textures/items/Scimitar.png b/src/main/resources/assets/atum/textures/items/Scimitar.png similarity index 100% rename from resources/mods/Atum/textures/items/Scimitar.png rename to src/main/resources/assets/atum/textures/items/Scimitar.png diff --git a/resources/mods/Atum/textures/items/Scroll.png b/src/main/resources/assets/atum/textures/items/Scroll.png similarity index 100% rename from resources/mods/Atum/textures/items/Scroll.png rename to src/main/resources/assets/atum/textures/items/Scroll.png diff --git a/resources/mods/Atum/textures/items/SekhmetsWrath.png b/src/main/resources/assets/atum/textures/items/SekhmetsWrath.png similarity index 100% rename from resources/mods/Atum/textures/items/SekhmetsWrath.png rename to src/main/resources/assets/atum/textures/items/SekhmetsWrath.png diff --git a/resources/mods/Atum/textures/items/ShusBreath.png b/src/main/resources/assets/atum/textures/items/ShusBreath.png similarity index 100% rename from resources/mods/Atum/textures/items/ShusBreath.png rename to src/main/resources/assets/atum/textures/items/ShusBreath.png diff --git a/resources/mods/Atum/textures/items/ShusBreath_pull_0.png b/src/main/resources/assets/atum/textures/items/ShusBreath_pull_0.png similarity index 100% rename from resources/mods/Atum/textures/items/ShusBreath_pull_0.png rename to src/main/resources/assets/atum/textures/items/ShusBreath_pull_0.png diff --git a/resources/mods/Atum/textures/items/ShusBreath_pull_1.png b/src/main/resources/assets/atum/textures/items/ShusBreath_pull_1.png similarity index 100% rename from resources/mods/Atum/textures/items/ShusBreath_pull_1.png rename to src/main/resources/assets/atum/textures/items/ShusBreath_pull_1.png diff --git a/resources/mods/Atum/textures/items/ShusBreath_pull_2.png b/src/main/resources/assets/atum/textures/items/ShusBreath_pull_2.png similarity index 100% rename from resources/mods/Atum/textures/items/ShusBreath_pull_2.png rename to src/main/resources/assets/atum/textures/items/ShusBreath_pull_2.png diff --git a/resources/mods/Atum/textures/items/SilverBroach.png b/src/main/resources/assets/atum/textures/items/SilverBroach.png similarity index 100% rename from resources/mods/Atum/textures/items/SilverBroach.png rename to src/main/resources/assets/atum/textures/items/SilverBroach.png diff --git a/resources/mods/Atum/textures/items/SilverIdol.png b/src/main/resources/assets/atum/textures/items/SilverIdol.png similarity index 100% rename from resources/mods/Atum/textures/items/SilverIdol.png rename to src/main/resources/assets/atum/textures/items/SilverIdol.png diff --git a/resources/mods/Atum/textures/items/SilverNecklace.png b/src/main/resources/assets/atum/textures/items/SilverNecklace.png similarity index 100% rename from resources/mods/Atum/textures/items/SilverNecklace.png rename to src/main/resources/assets/atum/textures/items/SilverNecklace.png diff --git a/resources/mods/Atum/textures/items/SilverRing.png b/src/main/resources/assets/atum/textures/items/SilverRing.png similarity index 100% rename from resources/mods/Atum/textures/items/SilverRing.png rename to src/main/resources/assets/atum/textures/items/SilverRing.png diff --git a/resources/mods/Atum/textures/items/SilverScepter.png b/src/main/resources/assets/atum/textures/items/SilverScepter.png similarity index 100% rename from resources/mods/Atum/textures/items/SilverScepter.png rename to src/main/resources/assets/atum/textures/items/SilverScepter.png diff --git a/resources/mods/Atum/textures/items/SoteksRage.png b/src/main/resources/assets/atum/textures/items/SobeksRage.png similarity index 100% rename from resources/mods/Atum/textures/items/SoteksRage.png rename to src/main/resources/assets/atum/textures/items/SobeksRage.png diff --git a/resources/mods/Atum/textures/items/StoneChunk.png b/src/main/resources/assets/atum/textures/items/StoneChunk.png similarity index 100% rename from resources/mods/Atum/textures/items/StoneChunk.png rename to src/main/resources/assets/atum/textures/items/StoneChunk.png diff --git a/resources/mods/Atum/textures/items/StoneSoldierSword.png b/src/main/resources/assets/atum/textures/items/StoneSoldierSword.png similarity index 100% rename from resources/mods/Atum/textures/items/StoneSoldierSword.png rename to src/main/resources/assets/atum/textures/items/StoneSoldierSword.png diff --git a/resources/mods/Atum/textures/items/WandererBoots.png b/src/main/resources/assets/atum/textures/items/WandererBoots.png similarity index 100% rename from resources/mods/Atum/textures/items/WandererBoots.png rename to src/main/resources/assets/atum/textures/items/WandererBoots.png diff --git a/resources/mods/Atum/textures/items/WandererChest.png b/src/main/resources/assets/atum/textures/items/WandererChest.png similarity index 100% rename from resources/mods/Atum/textures/items/WandererChest.png rename to src/main/resources/assets/atum/textures/items/WandererChest.png diff --git a/resources/mods/Atum/textures/items/WandererHelmet.png b/src/main/resources/assets/atum/textures/items/WandererHelmet.png similarity index 100% rename from resources/mods/Atum/textures/items/WandererHelmet.png rename to src/main/resources/assets/atum/textures/items/WandererHelmet.png diff --git a/resources/mods/Atum/textures/items/WandererLegs.png b/src/main/resources/assets/atum/textures/items/WandererLegs.png similarity index 100% rename from resources/mods/Atum/textures/items/WandererLegs.png rename to src/main/resources/assets/atum/textures/items/WandererLegs.png diff --git a/resources/mods/Atum/textures/items/WolfPelt.png b/src/main/resources/assets/atum/textures/items/WolfPelt.png similarity index 100% rename from resources/mods/Atum/textures/items/WolfPelt.png rename to src/main/resources/assets/atum/textures/items/WolfPelt.png diff --git a/resources/mods/Atum/textures/items/atens_pull_0.png b/src/main/resources/assets/atum/textures/items/atens_pull_0.png similarity index 100% rename from resources/mods/Atum/textures/items/atens_pull_0.png rename to src/main/resources/assets/atum/textures/items/atens_pull_0.png diff --git a/resources/mods/Atum/textures/items/atens_pull_1.png b/src/main/resources/assets/atum/textures/items/atens_pull_1.png similarity index 100% rename from resources/mods/Atum/textures/items/atens_pull_1.png rename to src/main/resources/assets/atum/textures/items/atens_pull_1.png diff --git a/resources/mods/Atum/textures/items/atens_pull_2.png b/src/main/resources/assets/atum/textures/items/atens_pull_2.png similarity index 100% rename from resources/mods/Atum/textures/items/atens_pull_2.png rename to src/main/resources/assets/atum/textures/items/atens_pull_2.png diff --git a/resources/mods/Atum/textures/items/bow_pull_0.png b/src/main/resources/assets/atum/textures/items/bow_pull_0.png similarity index 100% rename from resources/mods/Atum/textures/items/bow_pull_0.png rename to src/main/resources/assets/atum/textures/items/bow_pull_0.png diff --git a/resources/mods/Atum/textures/items/bow_pull_1.png b/src/main/resources/assets/atum/textures/items/bow_pull_1.png similarity index 100% rename from resources/mods/Atum/textures/items/bow_pull_1.png rename to src/main/resources/assets/atum/textures/items/bow_pull_1.png diff --git a/resources/mods/Atum/textures/items/bow_pull_2.png b/src/main/resources/assets/atum/textures/items/bow_pull_2.png similarity index 100% rename from resources/mods/Atum/textures/items/bow_pull_2.png rename to src/main/resources/assets/atum/textures/items/bow_pull_2.png diff --git a/resources/mods/Atum/textures/items/neiths_pull_0.png b/src/main/resources/assets/atum/textures/items/neiths_pull_0.png similarity index 100% rename from resources/mods/Atum/textures/items/neiths_pull_0.png rename to src/main/resources/assets/atum/textures/items/neiths_pull_0.png diff --git a/resources/mods/Atum/textures/items/neiths_pull_1.png b/src/main/resources/assets/atum/textures/items/neiths_pull_1.png similarity index 100% rename from resources/mods/Atum/textures/items/neiths_pull_1.png rename to src/main/resources/assets/atum/textures/items/neiths_pull_1.png diff --git a/resources/mods/Atum/textures/items/neiths_pull_2.png b/src/main/resources/assets/atum/textures/items/neiths_pull_2.png similarity index 100% rename from resources/mods/Atum/textures/items/neiths_pull_2.png rename to src/main/resources/assets/atum/textures/items/neiths_pull_2.png diff --git a/resources/mods/Atum/textures/particles/Sand.png b/src/main/resources/assets/atum/textures/particles/Sand.png similarity index 100% rename from resources/mods/Atum/textures/particles/Sand.png rename to src/main/resources/assets/atum/textures/particles/Sand.png diff --git a/resources/mods/Atum/textures/projectiles/arrows_double.png b/src/main/resources/assets/atum/textures/projectiles/arrows_double.png similarity index 100% rename from resources/mods/Atum/textures/projectiles/arrows_double.png rename to src/main/resources/assets/atum/textures/projectiles/arrows_double.png diff --git a/resources/mods/Atum/textures/projectiles/arrows_exploding.png b/src/main/resources/assets/atum/textures/projectiles/arrows_exploding.png similarity index 100% rename from resources/mods/Atum/textures/projectiles/arrows_exploding.png rename to src/main/resources/assets/atum/textures/projectiles/arrows_exploding.png diff --git a/resources/mods/Atum/textures/projectiles/arrows_fire.png b/src/main/resources/assets/atum/textures/projectiles/arrows_fire.png similarity index 100% rename from resources/mods/Atum/textures/projectiles/arrows_fire.png rename to src/main/resources/assets/atum/textures/projectiles/arrows_fire.png diff --git a/resources/mods/Atum/textures/projectiles/arrows_poison.png b/src/main/resources/assets/atum/textures/projectiles/arrows_poison.png similarity index 100% rename from resources/mods/Atum/textures/projectiles/arrows_poison.png rename to src/main/resources/assets/atum/textures/projectiles/arrows_poison.png diff --git a/resources/mods/Atum/textures/projectiles/arrows_quickdraw.png b/src/main/resources/assets/atum/textures/projectiles/arrows_quickdraw.png similarity index 100% rename from resources/mods/Atum/textures/projectiles/arrows_quickdraw.png rename to src/main/resources/assets/atum/textures/projectiles/arrows_quickdraw.png diff --git a/resources/mods/Atum/textures/projectiles/arrows_velocity.png b/src/main/resources/assets/atum/textures/projectiles/arrows_velocity.png similarity index 100% rename from resources/mods/Atum/textures/projectiles/arrows_velocity.png rename to src/main/resources/assets/atum/textures/projectiles/arrows_velocity.png diff --git a/resources/mods/Atum/textures/projectiles/nutscall.png b/src/main/resources/assets/atum/textures/projectiles/nutscall.png similarity index 100% rename from resources/mods/Atum/textures/projectiles/nutscall.png rename to src/main/resources/assets/atum/textures/projectiles/nutscall.png diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info new file mode 100644 index 0000000..6f13678 --- /dev/null +++ b/src/main/resources/mcmod.info @@ -0,0 +1,16 @@ +[ +{ + "modid": "atum", + "name": "Atum", + "description": "Atum is a dimension mod that opens up a whole new desert dimension that contains an eternal world full of sand, temples, and tons of new foes. Journey into Atum and discover ancient artifacts as you battle your way through vicious new enemies!\nAtum is not for the faint of heart! Bring your best armor, weapon, and food/torches before you embark!", + "version": "${version}", + "mcversion": "${mcversion}", + "url": "http://minecraft.curseforge.com/mc-mods/59621-atum", + "updateUrl": "", + "authorList": ["Shadowclaimer", "lclc98", "RebelKeithy"], + "credits": "KanonBaum, Logomaster256, and DragonChef", + "logoFile": "", + "screenshots": [], + "dependencies": [] +} +] diff --git a/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta new file mode 100644 index 0000000..7022643 --- /dev/null +++ b/src/main/resources/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "pack_format": 1, + "description": "Resources used for Atum" + } +} \ No newline at end of file