diff options
Diffstat (limited to 'src/Java/gtPlusPlus')
7 files changed, 143 insertions, 17 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus_Secondary.java b/src/Java/gtPlusPlus/GTplusplus_Secondary.java index b71d770c0c..67914ad4e5 100644 --- a/src/Java/gtPlusPlus/GTplusplus_Secondary.java +++ b/src/Java/gtPlusPlus/GTplusplus_Secondary.java @@ -17,11 +17,19 @@ import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.world.darkworld.Dimension_DarkWorld; import gtPlusPlus.core.world.darkworld.biome.Biome_DarkWorld; +import gtPlusPlus.core.world.darkworld.block.blockDarkWorldGround; +import gtPlusPlus.core.world.darkworld.block.blockDarkWorldPollutedDirt; +import gtPlusPlus.core.world.darkworld.block.blockDarkWorldPortal; +import gtPlusPlus.core.world.darkworld.block.blockDarkWorldPortalFrame; +import gtPlusPlus.core.world.darkworld.item.itemDarkWorldPortalTrigger; import gtPlusPlus.xmod.gregtech.HANDLER_GT; import gtPlusPlus.xmod.gregtech.api.util.GTPP_Config; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; +import net.minecraftforge.common.DimensionManager; import net.minecraftforge.common.config.Configuration; @MCVersion(value = "1.7.10") @@ -63,6 +71,9 @@ public class GTplusplus_Secondary implements IFuelHandler, IWorldGenerator{ public void preInit(final FMLPreInitializationEvent event) { Utils.LOG_INFO("Loading " + MODID2 + " V" + VERSION2); + //Setup + setVars(); + // Load Dark World DarkWorld_Biome.instance = GTplusplus.instance; DarkWorld_Dimension.instance = GTplusplus.instance; @@ -73,6 +84,20 @@ public class GTplusplus_Secondary implements IFuelHandler, IWorldGenerator{ HANDLER_GT.sCustomWorldgenFile = new GTPP_Config(new Configuration(new File(new File(event.getModConfigurationDirectory(), "GTplusplus"), "WorldGeneration.cfg"))); } + + void setVars(){ + Dimension_DarkWorld.DIMID = DimensionManager.getNextFreeDimId(); + Dimension_DarkWorld.portalBlock = new blockDarkWorldPortal(); + Dimension_DarkWorld.portalItem = (itemDarkWorldPortalTrigger) (new itemDarkWorldPortalTrigger().setUnlocalizedName("dimensionDarkWorld_trigger")); + Item.itemRegistry.addObject(423, "dimensionDarkWorld_trigger", Dimension_DarkWorld.portalItem); + Dimension_DarkWorld.blockTopLayer = new blockDarkWorldGround(); + Dimension_DarkWorld.blockSecondLayer = new blockDarkWorldPollutedDirt(); + GameRegistry.registerBlock(Dimension_DarkWorld.blockTopLayer, "blockDarkWorldGround"); + GameRegistry.registerBlock(Dimension_DarkWorld.blockSecondLayer, "blockDarkWorldGround2"); + Blocks.fire.setFireInfo(Dimension_DarkWorld.blockTopLayer, 30, 20); + Dimension_DarkWorld.blockPortalFrame = new blockDarkWorldPortalFrame(); + GameRegistry.registerBlock(Dimension_DarkWorld.blockPortalFrame, "blockDarkWorldPortalFrame"); + } @EventHandler public void serverLoad(FMLServerStartingEvent event) { diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java index 30d85628b9..624edbe743 100644 --- a/src/Java/gtPlusPlus/core/item/ModItems.java +++ b/src/Java/gtPlusPlus/core/item/ModItems.java @@ -218,6 +218,8 @@ public final class ModItems { public static Item itemCoalCoke; public static CoreItem itemCircuitLFTR; + + public static Item itemDebugAreaClear; @@ -233,6 +235,8 @@ public final class ModItems { if (CORE.DEBUG){ DEBUG_INIT.registerItems(); } + + itemDebugAreaClear = new ItemAreaClear(); //Some Simple forms of materials diff --git a/src/Java/gtPlusPlus/core/item/general/ItemAreaClear.java b/src/Java/gtPlusPlus/core/item/general/ItemAreaClear.java new file mode 100644 index 0000000000..8e841aa284 --- /dev/null +++ b/src/Java/gtPlusPlus/core/item/general/ItemAreaClear.java @@ -0,0 +1,90 @@ +package gtPlusPlus.core.item.general; + +import com.mojang.realmsclient.gui.ChatFormatting; + +import gtPlusPlus.core.creative.AddToCreativeTab; +import gtPlusPlus.core.item.base.CoreItem; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.util.array.BlockPos; +import gtPlusPlus.core.util.entity.EntityUtils; +import gtPlusPlus.core.util.math.MathUtils; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class ItemAreaClear extends CoreItem { + + public IIcon[] mIcon = new IIcon[1]; + + public ItemAreaClear() { + super("itemDebugClearing", AddToCreativeTab.tabMachines, 1, 100, ChatFormatting.OBFUSCATED+"F A M C Y N A M E", EnumRarity.rare, + EnumChatFormatting.BOLD, false, null); + } + + @Override + public void registerIcons(IIconRegister reg) { + this.mIcon[0] = reg.registerIcon(CORE.MODID + ":" + "itemLavaFilter"); + } + + @Override + public IIcon getIconFromDamage(int meta) { + return this.mIcon[0]; + } + + @Override + public String getItemStackDisplayName(ItemStack tItem) { + return "Debug Square"; + } + + public boolean removeBlocks(World world, BlockPos pos){ + int x1 = pos.xPos; + int y1 = pos.yPos; + int z1 = pos.zPos; + + int x2 = (x1-12); + int y2 = (y1-5); + int z2 = (z1-12); + + removeBlockColumn(world, new BlockPos(x2, y2, z2)); + return true; + } + + public boolean removeBlockColumn(World world, BlockPos pos){ + for (int i=0; i<25; i++){ + removeBlockRow(world, new BlockPos(pos.xPos, pos.yPos, pos.zPos+i)); + } + return true; + } + + public boolean removeBlockRow(World world, BlockPos pos){ + for (int j=0; j<10; j++){ + for (int i=0; i<25; i++){ + if (!world.isAirBlock(pos.xPos+i, pos.yPos+j, pos.zPos) && + world.getBlock(pos.xPos+i, pos.yPos+j, pos.zPos) != Blocks.bedrock && + world.getBlock(pos.xPos+i, pos.yPos+j, pos.zPos) != Blocks.glowstone){ + int chance = MathUtils.randInt(0, 100); + if (chance <= 0){ + world.setBlock(pos.xPos+i, pos.yPos+j, pos.zPos, Blocks.glowstone); + } + else { + world.setBlock(pos.xPos+i, pos.yPos+j, pos.zPos, Blocks.air); + } + } + } + } + return true; + } + + @Override + public ItemStack onItemRightClick(ItemStack thisItem, World world, EntityPlayer parEntity) { + BlockPos groundBlock = EntityUtils.findBlockPosUnderEntity(parEntity); + removeBlocks(world, groundBlock); + return super.onItemRightClick(thisItem, world, parEntity); + } + +} diff --git a/src/Java/gtPlusPlus/core/lib/CORE.java b/src/Java/gtPlusPlus/core/lib/CORE.java index 37f9894e05..1381afb9e9 100644 --- a/src/Java/gtPlusPlus/core/lib/CORE.java +++ b/src/Java/gtPlusPlus/core/lib/CORE.java @@ -32,7 +32,7 @@ public class CORE { public static final String name = "GT++"; public static final String MODID = "miscutils"; - public static final String VERSION = "1.5.9-release"; + public static final String VERSION = "1.6.0-release"; public static String MASTER_VERSION = NetworkUtils.getContentFromURL("https://raw.githubusercontent.com/draknyte1/GTplusplus/master/Recommended.txt").toLowerCase(); public static String USER_COUNTRY = GeoUtils.determineUsersCountry(); public static boolean isModUpToDate = Utils.isModUpToDate(); diff --git a/src/Java/gtPlusPlus/core/util/array/BlockPos.java b/src/Java/gtPlusPlus/core/util/array/BlockPos.java new file mode 100644 index 0000000000..32f74ff514 --- /dev/null +++ b/src/Java/gtPlusPlus/core/util/array/BlockPos.java @@ -0,0 +1,15 @@ +package gtPlusPlus.core.util.array; + +public class BlockPos { + + public final int xPos; + public final int yPos; + public final int zPos; + + public BlockPos(int x, int y, int z){ + this.xPos = x; + this.yPos = y; + this.zPos = z; + } + +} diff --git a/src/Java/gtPlusPlus/core/util/entity/EntityUtils.java b/src/Java/gtPlusPlus/core/util/entity/EntityUtils.java index a10c0ce4d1..60b05a308f 100644 --- a/src/Java/gtPlusPlus/core/util/entity/EntityUtils.java +++ b/src/Java/gtPlusPlus/core/util/entity/EntityUtils.java @@ -2,6 +2,7 @@ package gtPlusPlus.core.util.entity; import cpw.mods.fml.common.registry.EntityRegistry; import gregtech.api.util.GT_Utility; +import gtPlusPlus.core.util.array.BlockPos; import ic2.core.IC2Potion; import ic2.core.item.armor.ItemArmorHazmat; import net.minecraft.block.Block; @@ -35,6 +36,13 @@ public class EntityUtils { final int blockZ = MathHelper.floor_double(parEntity.posZ); return parEntity.worldObj.getBlock(blockX, blockY, blockZ); } + + public static BlockPos findBlockPosUnderEntity(final Entity parEntity){ + final int blockX = MathHelper.floor_double(parEntity.posX); + final int blockY = MathHelper.floor_double(parEntity.boundingBox.minY)-1; + final int blockZ = MathHelper.floor_double(parEntity.posZ); + return new BlockPos(blockX, blockY, blockZ); + } //TODO public static void registerEntityToBiomeSpawns(final Class<EntityLiving> classy, final EnumCreatureType EntityType, final BiomeGenBase baseBiomeGen){ diff --git a/src/Java/gtPlusPlus/core/world/darkworld/Dimension_DarkWorld.java b/src/Java/gtPlusPlus/core/world/darkworld/Dimension_DarkWorld.java index bcaeccafc1..71d0e59492 100644 --- a/src/Java/gtPlusPlus/core/world/darkworld/Dimension_DarkWorld.java +++ b/src/Java/gtPlusPlus/core/world/darkworld/Dimension_DarkWorld.java @@ -34,22 +34,6 @@ public class Dimension_DarkWorld { public static Block blockPortalFrame; static { - - DIMID = DimensionManager.getNextFreeDimId(); - portalBlock = new blockDarkWorldPortal(); - portalItem = (itemDarkWorldPortalTrigger) (new itemDarkWorldPortalTrigger().setUnlocalizedName("dimensionDarkWorld_trigger")); - Item.itemRegistry.addObject(423, "dimensionDarkWorld_trigger", portalItem); - blockTopLayer = new blockDarkWorldGround(); - blockSecondLayer = new blockDarkWorldPollutedDirt(); - GameRegistry.registerBlock(blockTopLayer, "blockDarkWorldGround"); - GameRegistry.registerBlock(blockSecondLayer, "blockDarkWorldGround2"); - Blocks.fire.setFireInfo(blockTopLayer, 30, 20); - blockPortalFrame = new blockDarkWorldPortalFrame(); - GameRegistry.registerBlock(blockPortalFrame, "blockDarkWorldPortalFrame"); - - if (LoadedMods.BuildCraft){ - //blockFluidLakes = - } } |