diff options
| author | Martin Robertz <dream-master@gmx.net> | 2021-12-15 16:11:54 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-15 16:11:54 +0100 |
| commit | 128c74faa99dfef8d056c1d82c6e4388b9d470e8 (patch) | |
| tree | 2c84162154ba681232f86dffd4106db530236814 /src/Java/gtPlusPlus/core/block | |
| parent | 47ce336f288a45aa3244c8ae1177499fa5080942 (diff) | |
| parent | ff4b8c7068c2ea7d654e9beda00646d23e62b314 (diff) | |
| download | GT5-Unofficial-128c74faa99dfef8d056c1d82c6e4388b9d470e8.tar.gz GT5-Unofficial-128c74faa99dfef8d056c1d82c6e4388b9d470e8.tar.bz2 GT5-Unofficial-128c74faa99dfef8d056c1d82c6e4388b9d470e8.zip | |
Merge pull request #65 from GTNewHorizons/unified-build-script2
Move sources and resources
Diffstat (limited to 'src/Java/gtPlusPlus/core/block')
46 files changed, 0 insertions, 7744 deletions
diff --git a/src/Java/gtPlusPlus/core/block/ModBlocks.java b/src/Java/gtPlusPlus/core/block/ModBlocks.java deleted file mode 100644 index b51915bb7b..0000000000 --- a/src/Java/gtPlusPlus/core/block/ModBlocks.java +++ /dev/null @@ -1,162 +0,0 @@ -package gtPlusPlus.core.block; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.block.general.BlockCompressedObsidian; -import gtPlusPlus.core.block.general.BlockNet; -import gtPlusPlus.core.block.general.BlockTankXpConverter; -import gtPlusPlus.core.block.general.FirePit; -import gtPlusPlus.core.block.general.FluidTankInfinite; -import gtPlusPlus.core.block.general.HellFire; -import gtPlusPlus.core.block.general.LightGlass; -import gtPlusPlus.core.block.general.MiningExplosives; -import gtPlusPlus.core.block.general.PlayerDoors; -import gtPlusPlus.core.block.general.antigrief.BlockWitherProof; -import gtPlusPlus.core.block.general.redstone.BlockGenericRedstoneDetector; -import gtPlusPlus.core.block.general.redstone.BlockGenericRedstoneTest; -import gtPlusPlus.core.block.machine.*; -import gtPlusPlus.core.block.machine.bedrock.Mining_Head_Fake; -import gtPlusPlus.core.block.machine.bedrock.Mining_Pipe_Fake; -import gtPlusPlus.core.fluids.FluidRegistryHandler; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraftforge.fluids.Fluid; - -public final class ModBlocks { - - public static Block blockRoundRobinator; - public static Block blockCircuitProgrammer; - public static Block blockVolumetricFlaskSetter; - public static Block blockFakeMiningPipe; - public static Block blockFakeMiningHead; - - public static Block blockFishTrap; - public static Block blockWorkbench; - public static Block blockWorkbenchAdvanced; - public static Block blockDecayablesChest; - public static Block blockEggBox; - - //Blocks - //public static Block blockBloodSteel; - //public static Block blockStaballoy; - // WIP TODO public static Block blockToolBuilder; - public static Block blockGriefSaver; - - public static Block blockCasingsMisc; - public static Block blockCasings2Misc; - public static Block blockCasings3Misc; - public static Block blockCasings4Misc; - public static Block blockCasings5Misc; - public static Block blockCasingsTieredGTPP; - public static Block blockSpecialMultiCasings; - public static Block blockCustomMachineCasings; - - public static Block blockMetaTileEntity; - public static Block blockHeliumGenerator; - public static Block blockNHG; - public static Block blockCharger; - - public static Block MatterFabricatorEffectBlock; - - public static Fluid fluidSludge = new Fluid("fluid.sludge"); - public static Block blockFluidSludge; - - public static Block blockFirePit; - - public static Block blockOreFluorite; - - public static Block blockMiningExplosive; - - public static Block blockHellfire; - public static Block blockInfiniteFLuidTank; - public static Block blockProjectTable; - public static Block blockTradeTable; - public static Block blockModularTable; - - public static Block blockWitherGuard; - public static Block blockXpConverter; - public static Block blockCompressedObsidian; - public static Block blockNet; - - public static Block blockPlayerDoorWooden; - public static Block blockPlayerDoorIron; - public static Block blockPlayerDoorCustom_Glass; - public static Block blockPlayerDoorCustom_Ice; - public static Block blockPlayerDoorCustom_Cactus; - - public static Block blockCustomMobSpawner; - public static Block blockCustomSuperLight; - public static Block blockCustomJukebox; - - public static Block blockPooCollector; - - public static Block blockPestKiller; - - public static void init() { - Logger.INFO("Initializing Blocks."); - //blockGriefSaver = new TowerDevice().setBlockName("blockGriefSaver").setCreativeTab(AddToCreativeTab.tabBlock).setBlockTextureName("blockDefault"); - - registerBlocks(); - } - - public static void registerBlocks(){ - - Logger.INFO("Registering Blocks."); - MatterFabricatorEffectBlock = new LightGlass(false); - - //Fluids - FluidRegistryHandler.registerFluids(); - - //Workbench - blockWorkbench = new Machine_Workbench().setHardness(1.5F); - blockWorkbenchAdvanced = new Machine_WorkbenchAdvanced().setHardness(2.5F); - blockHeliumGenerator = new HeliumGenerator(); - blockFirePit = new FirePit(); - blockFishTrap = new FishTrap(); - blockInfiniteFLuidTank = new FluidTankInfinite(); - //blockOreFluorite = new BlockBaseOre.oldOreBlock("oreFluorite", "Fluorite", Material.rock, BlockTypes.ORE, Utils.rgbtoHexValue(120, 120, 30), 3); - blockMiningExplosive = new MiningExplosives(); - blockHellfire = new HellFire(); - blockProjectTable = new Machine_ProjectTable(); - blockTradeTable = new Machine_TradeTable(); - blockModularTable = new Machine_ModularityTable(); - blockWitherGuard = new BlockWitherProof(); - blockXpConverter = new BlockTankXpConverter(); - blockCompressedObsidian = new BlockCompressedObsidian(); - blockNet = new BlockNet(); - - blockFakeMiningPipe = new Mining_Pipe_Fake(); - blockFakeMiningHead = new Mining_Head_Fake(); - - blockCircuitProgrammer = new CircuitProgrammer(); - - blockDecayablesChest = new DecayablesChest(); - blockEggBox = new EggBox(); - - blockPlayerDoorWooden = new PlayerDoors(Material.wood, "door_wood", true); - blockPlayerDoorIron = new PlayerDoors(Material.iron, "door_iron", true); - blockPlayerDoorCustom_Glass = new PlayerDoors(Material.glass, "door_glass", false); - blockPlayerDoorCustom_Ice = new PlayerDoors(Material.ice, "door_ice", false); - blockPlayerDoorCustom_Cactus = new PlayerDoors(Material.cactus, "door_cactus", false, 0.6f, Block.soundTypeGrass, "Cactus"); - - //blockCustomSuperLight = new BlockSuperLight(); - blockCustomJukebox = new Machine_SuperJukebox(); - - blockPooCollector = new Machine_PooCollector(); - - blockPestKiller = new Machine_PestKiller(); - - blockRoundRobinator = new Machine_RoundRobinator(); - - if (Meta_GT_Proxy.sDoesVolumetricFlaskExist) { - blockVolumetricFlaskSetter = new VolumetricFlaskSetter(); - } - - new BlockGenericRedstoneDetector(); - new BlockGenericRedstoneTest(); - - } - - -}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/block/base/AdvancedBlock.java b/src/Java/gtPlusPlus/core/block/base/AdvancedBlock.java deleted file mode 100644 index f63762a2d7..0000000000 --- a/src/Java/gtPlusPlus/core/block/base/AdvancedBlock.java +++ /dev/null @@ -1,39 +0,0 @@ -package gtPlusPlus.core.block.base; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; - -import gtPlusPlus.core.lib.CORE; - -public class AdvancedBlock extends Block { - - protected AdvancedBlock(final String unlocalizedName, final Material material, final CreativeTabs x, final float blockHardness, final float blockResistance, final float blockLightLevel, - final String blockHarvestTool, final int blockHarvestLevel, final SoundType BlockSound) { - super(material); - this.setBlockName(unlocalizedName); - this.setBlockTextureName(CORE.MODID + ":" + unlocalizedName); - this.setCreativeTab(x); - this.setHardness(blockHardness); //block Hardness - this.setResistance(blockResistance); - this.setLightLevel(blockLightLevel); - this.setHarvestLevel(blockHarvestTool, blockHarvestLevel); - this.setStepSound(BlockSound); - } - - @Override - public boolean onBlockActivated(final World p_149727_1_, final int p_149727_2_, final int p_149727_3_, final int p_149727_4_, final EntityPlayer p_149727_5_, final int p_149727_6_, final float p_149727_7_, final float p_149727_8_, final float p_149727_9_) - { - return false; - } - - @Override - public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, final int z) { - return false; - } - -} diff --git a/src/Java/gtPlusPlus/core/block/base/BasicBlock.java b/src/Java/gtPlusPlus/core/block/base/BasicBlock.java deleted file mode 100644 index 6014388cda..0000000000 --- a/src/Java/gtPlusPlus/core/block/base/BasicBlock.java +++ /dev/null @@ -1,81 +0,0 @@ -package gtPlusPlus.core.block.base; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; - -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.Utils; - -public class BasicBlock extends BlockContainer { - - public BasicBlock(final String unlocalizedName, final Material material) { - this(BlockTypes.STANDARD, unlocalizedName, material, 2); - } - - public BasicBlock(final BlockTypes type, final String unlocalizedName, final Material material) { - this(type, unlocalizedName, material, 2); - } - - public BasicBlock(BlockTypes type, final String unlocalizedName, final Material material, final int harvestLevel) { - super(material); - this.setBlockName(Utils.sanitizeString(unlocalizedName)); - - if (type != BlockTypes.ORE && !unlocalizedName.toLowerCase().contains("ore")) { - this.setBlockTextureName(CORE.MODID + ":" + unlocalizedName); - } - - this.setCreativeTab(AddToCreativeTab.tabBlock); - this.setResistance(6.0F); - this.setLightLevel(0.0F); - this.setHardness(1.0f*harvestLevel); - this.setHarvestLevel("pickaxe", harvestLevel); - this.setStepSound(soundTypeMetal); - } - - - public static enum BlockTypes { - STANDARD("blockBlock", "pickaxe", soundTypeMetal), - FRAME("blockFrameGt", "wrench", soundTypeMetal), - ORE("blockStone", "pickaxe", soundTypeStone); - - private String TEXTURE_NAME; - private String HARVEST_TOOL; - private SoundType soundOfBlock; - private BlockTypes (final String textureName, final String harvestTool, final SoundType blockSound) - { - this.TEXTURE_NAME = textureName; - this.HARVEST_TOOL = harvestTool; - this.soundOfBlock = blockSound; - } - - public String getTexture() { - return this.TEXTURE_NAME; - } - - public String getHarvestTool(){ - return this.HARVEST_TOOL; - } - - public SoundType getBlockSoundType(){ - return this.soundOfBlock; - } - - } - - - @Override - public TileEntity createNewTileEntity(final World p_149915_1_, final int p_149915_2_) { - return null; - } - - @Override - public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, final int z) { - return false; - } - -} diff --git a/src/Java/gtPlusPlus/core/block/base/BasicTileBlockWithTooltip.java b/src/Java/gtPlusPlus/core/block/base/BasicTileBlockWithTooltip.java deleted file mode 100644 index 2bfd09d848..0000000000 --- a/src/Java/gtPlusPlus/core/block/base/BasicTileBlockWithTooltip.java +++ /dev/null @@ -1,328 +0,0 @@ -package gtPlusPlus.core.block.base; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.api.interfaces.ITileTooltip; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.objects.minecraft.CubicObject; -import gtPlusPlus.api.objects.minecraft.SafeTexture; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.minecraft.InventoryUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -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.creativetab.CreativeTabs; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; - -public abstract class BasicTileBlockWithTooltip extends BlockContainer implements ITileTooltip { - - /** - * Each mapped object holds the data for the six sides. - */ - @SideOnly(Side.CLIENT) - private AutoMap<CubicObject<SafeTexture>> mSidedTextureArray; - - /** - * Holds the data for the six sides, each side holds an array of data for each respective meta. - */ - @SideOnly(Side.CLIENT) - private AutoMap<CubicObject<String>> mSidedTexturePathArray; - - /** - * Does this block have any meta at all? - * @return - */ - public final boolean hasMeta() { - return getMetaCount() > 0; - } - - /** - * The amount of meta this block has. - * @return - */ - public abstract int getMetaCount(); - - /** - * Does this {@link Block} require special {@link ItemBlock} handling? - * @return The {@link Class} that will be used for this {@link Block}. - */ - public Class<? extends ItemBlock> getItemBlockClass() { - return ItemBlock.class; - } - - /** - * A lazy way to declare the unlocal name for the block, makes boilerplating easy. - * @return The internal name for this block. - */ - public abstract String getUnlocalBlockName(); - - /** - * Does this Block have {@link ITileTooltip} support? - * @return {@link boolean} that represents if this block supports {@link ITileTooltip} or not. - */ - public final boolean hasTooltip() { - return getTooltipID() >= -1; - } - - /** - * Lazy Boilerplating. - * @return Block Hardness. - */ - protected abstract float initBlockHardness(); - - /** - * Lazy Boilerplating. - * @return Block Resistance. - */ - protected abstract float initBlockResistance(); - - /** - * Lazy Boilerplating. - * @return The {@link CreativeTab} this Block is shown on. - */ - protected abstract CreativeTabs initCreativeTab(); - - /** - * The ID used by the {@link ITileTooltip} handler. Return -1 if you are not providing a custom {@link ItemBlock} in {@link #getItemBlockClass}(). - * @return - */ - @Override - public abstract int getTooltipID(); - - public BasicTileBlockWithTooltip(Material aBlockMat){ - super(aBlockMat); - //Use Abstract method values - this.setHardness(initBlockHardness()); - this.setResistance(initBlockResistance()); - this.setBlockName(getUnlocalBlockName()); - this.setCreativeTab(initCreativeTab()); - // Register the block last. - GameRegistry.registerBlock(this, getItemBlockClass(), getUnlocalBlockName()); - Logger.INFO("Registered "+getTileEntityName()+"."); - if (Utils.isClient()) { - // Handle Textures - handleTextures(); - } - } - - /** - * The name of the Tile Entity. - * @return - */ - protected abstract String getTileEntityName(); - - /** - * The String used for texture pathing. - * @return Sanitized {@link String}, containing no spaces or illegal characters. - */ - private final String getTileEntityNameForTexturePathing() { - return Utils.sanitizeString(getTileEntityName().replace(" ", "")); - } - - /** - * An array of CubicObjects, one for each meta, else just a single cell array. - * Expected to be null regularly, as the default texture handling should suffice. - * Handy if re-using textures or using a non-standard structure for them. FULL texture path must be used, - * inclusive of the MODID and a colon. - * @return - */ - public CubicObject<String>[] getCustomTextureDirectoryObject(){ - return null; - } - - @Override - @SideOnly(Side.CLIENT) - public final IIcon getIcon(final int aSide, final int aMeta) { - return mSidedTextureArray.get(aMeta).get(aSide).getIcon(); - } - - @Override - public IIcon getIcon(IBlockAccess aWorld, int aX, int aY, int aZ, int aSide) { - return super.getIcon(aWorld, aX, aY, aZ, aSide); - } - - @SideOnly(Side.CLIENT) - private final void handleTextures() { - - Logger.INFO("[TeTexture] Building Texture Maps for "+getTileEntityName()+"."); - - // Init on the Client side only, to prevent Field initialisers existing in the Server side bytecode. - mSidedTextureArray = new AutoMap<CubicObject<SafeTexture>>(); - mSidedTexturePathArray = new AutoMap<CubicObject<String>>(); - - - //Store them in forge order - //DOWN, UP, NORTH, SOUTH, WEST, EAST - - // Default Path Name, this will make us look inside 'miscutils\textures\blocks' - final String aPrefixTexPath = CORE.MODID + ":"; - // Default Path Name, this will make us look in the sub-directory for this Tile Entity. - final String aTexPathMid = "TileEntities"+CORE.SEPERATOR+getTileEntityNameForTexturePathing()+CORE.SEPERATOR; - // Construct a full path - String aTexPathBuilt = aPrefixTexPath + aTexPathMid; - // File Name Suffixes, without meta tags - String aStringBot; - String aStringTop; - String aStringBack; - String aStringFront; - String aStringLeft; - String aStringRight; - // Do we provide a matrix of custom data to be used for texture processing instead? - if (getCustomTextureDirectoryObject() != null) { - // Get custom provided texture data. - CubicObject<String>[] aDataMap = getCustomTextureDirectoryObject(); - Logger.INFO("[TeTexture] Found custom texture data, using this instead. Size: "+aDataMap.length); - // Map each meta string data to the main map. - for (int i=0;i<aDataMap.length;i++) { - mSidedTexturePathArray.put(aDataMap[i]); - Logger.INFO("Mapped value for meta "+i+"."); - } - } - else { - Logger.INFO("[TeTexture] Processing "+(1+getMetaCount())+" sets."); - // Iterate once for each meta - for (int i=0;i<(1+getMetaCount());i++) { - - // File Name Suffixes, without meta tags - aStringBot = "Bottom"; - aStringTop = "Top"; - aStringBack = "Back"; - aStringFront = "Front"; - aStringLeft = "Left"; - aStringRight = "Right"; - - // Add tails if we have meta - if (hasMeta()) { - aStringBot = aStringBot + "_"+i; - aStringTop = aStringTop + "_"+i; - aStringBack = aStringBack + "_"+i; - aStringFront = aStringFront + "_"+i; - aStringLeft = aStringLeft + "_"+i; - aStringRight = aStringRight + "_"+i; - } - // Append the full path - aStringBot = aTexPathBuilt + aStringBot; - aStringTop = aTexPathBuilt + aStringTop; - aStringBack = aTexPathBuilt + aStringBack; - aStringFront = aTexPathBuilt + aStringFront; - aStringLeft = aTexPathBuilt + aStringLeft; - aStringRight = aTexPathBuilt + aStringRight; - // Convenience Blob - CubicObject<String> aMetaBlob = new CubicObject<String>(aStringBot, aStringTop, aStringBack, aStringFront, aStringLeft, aStringRight); - mSidedTexturePathArray.put(aMetaBlob); - Logger.INFO("[TeTexture] Added Texture Path data to map for meta "+i); - } - } - Logger.INFO("[TeTexture] Map size for pathing: "+mSidedTexturePathArray.size()); - - // Iteration Index - int aIndex = 0; - - // Iterate each CubicObject, holding the six texture paths for each meta. - for (CubicObject<String> aMetaBlob : mSidedTexturePathArray) { - // Make a Safe Texture for each side - SafeTexture aBottom = SafeTexture.register(aMetaBlob.DOWN); - SafeTexture aTop = SafeTexture.register(aMetaBlob.UP); - SafeTexture aBack = SafeTexture.register(aMetaBlob.NORTH); - SafeTexture aFont = SafeTexture.register(aMetaBlob.SOUTH); - SafeTexture aWest = SafeTexture.register(aMetaBlob.WEST); - SafeTexture aEast = SafeTexture.register(aMetaBlob.EAST); - // Store them in an Array - SafeTexture[] aInjectBlob = new SafeTexture[] { - aBottom, - aTop, - aBack, - aFont, - aWest, - aEast - }; - // Convenience Blob - CubicObject<SafeTexture> aMetaBlob2 = new CubicObject<SafeTexture>(aInjectBlob); - // Store this Blob into - mSidedTextureArray.put(aMetaBlob2); - Logger.INFO("[TeTexture] Added SafeTexture data to map for meta "+(aIndex++)); - } - Logger.INFO("[TeTexture] Map size for registration: "+mSidedTextureArray.size()); - - - } - - @Override - @SideOnly(Side.CLIENT) - public final void registerBlockIcons(final IIconRegister aRegisterer){ - this.blockIcon = aRegisterer.registerIcon(CORE.MODID + ":" + "net"); - } - - @Override - public abstract TileEntity createNewTileEntity(final World world, final int p_149915_2_); - - /** - * Called when {@link #breakBlock}() is called, but before {@link InventoryUtils#dropInventoryItems} and the super call. - */ - public void onBlockBreak() { - - } - - @Override - public final void breakBlock(final World world, final int x, final int y, final int z, final Block block, final int number) { - onBlockBreak(); - InventoryUtils.dropInventoryItems(world, x, y, z, block); - super.breakBlock(world, x, y, z, block, number); - } - - @SuppressWarnings({"unchecked", "rawtypes"}) - @Override - public final void getSubBlocks(Item aItem, CreativeTabs p_149666_2_, List aList) { - if (hasMeta()) { - for (int i=0;i<getMetaCount();i++) {< |
