diff options
| author | NotAPenguin <michiel.vandeginste@gmail.com> | 2024-09-02 23:17:17 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-02 23:17:17 +0200 |
| commit | 1b820de08a05070909a267e17f033fcf58ac8710 (patch) | |
| tree | 02831a025986a06b20f87e5bcc69d1e0c639a342 /src/main/java/kekztech | |
| parent | afd3fd92b6a6ab9ab0d0dc3214e6bc8ff7a86c9b (diff) | |
| download | GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.gz GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.bz2 GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.zip | |
The Great Renaming (#3014)
* move kekztech to a single root dir
* move detrav to a single root dir
* move gtnh-lanthanides to a single root dir
* move tectech and delete some gross reflection in gt++
* remove more reflection inside gt5u
* delete more reflection in gt++
* fix imports
* move bartworks and bwcrossmod
* fix proxies
* move galactigreg and ggfab
* move gtneioreplugin
* try to fix gt++ bee loader
* apply the rename rules to BW
* apply rename rules to bwcrossmod
* apply rename rules to detrav scanner mod
* apply rename rules to galacticgreg
* apply rename rules to ggfab
* apply rename rules to goodgenerator
* apply rename rules to gtnh-lanthanides
* apply rename rules to gt++
* apply rename rules to kekztech
* apply rename rules to kubatech
* apply rename rules to tectech
* apply rename rules to gt
apply the rename rules to gt
* fix tt import
* fix mui hopefully
* fix coremod except intergalactic
* rename assline recipe class
* fix a class name i stumbled on
* rename StructureUtility to GTStructureUtility to prevent conflict with structurelib
* temporary rename of GTTooltipDataCache to old name
* fix gt client/server proxy names
Diffstat (limited to 'src/main/java/kekztech')
43 files changed, 5692 insertions, 8 deletions
diff --git a/src/main/java/kekztech/Items.java b/src/main/java/kekztech/Items.java index 426dfb7f58..800f69c77e 100644 --- a/src/main/java/kekztech/Items.java +++ b/src/main/java/kekztech/Items.java @@ -5,9 +5,8 @@ import java.util.Arrays; import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; -import common.items.MetaItem_CraftingComponent; - -import util.Util; +import kekztech.common.items.MetaItemCraftingComponent; +import kekztech.util.Util; public enum Items { @@ -52,12 +51,12 @@ public enum Items { } public ItemStack getNonOreDictedItemStack(int amount) { - return new ItemStack(MetaItem_CraftingComponent.getInstance(), amount, this.getMetaID()); + return new ItemStack(MetaItemCraftingComponent.getInstance(), amount, this.getMetaID()); } public ItemStack getOreDictedItemStack(int amount) { return this.getOreDictName() != null ? Util.getStackofAmountFromOreDict(this.getOreDictName(), amount) - : new ItemStack(MetaItem_CraftingComponent.getInstance(), amount, this.getMetaID()); + : new ItemStack(MetaItemCraftingComponent.getInstance(), amount, this.getMetaID()); } public String getOreDictName() { diff --git a/src/main/java/kekztech/KekzCore.java b/src/main/java/kekztech/KekzCore.java index 3962faccf2..02ed1febd9 100644 --- a/src/main/java/kekztech/KekzCore.java +++ b/src/main/java/kekztech/KekzCore.java @@ -7,7 +7,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import com.google.common.collect.ImmutableSet; -import common.CommonProxy; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.SidedProxy; @@ -17,6 +16,7 @@ import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import gregtech.GT_Version; import gregtech.api.enums.Mods; +import kekztech.common.CommonProxy; /** * My GT-Meta-IDs are: 13101 - 13500 @@ -47,7 +47,7 @@ public class KekzCore { @Mod.Instance(Mods.Names.KEKZ_TECH) public static KekzCore instance; - @SidedProxy(clientSide = "client.ClientProxy", serverSide = "kekztech.ServerProxy") + @SidedProxy(clientSide = "kekztech.client.ClientProxy", serverSide = "kekztech.ServerProxy") public static CommonProxy proxy; @Mod.EventHandler diff --git a/src/main/java/kekztech/ServerProxy.java b/src/main/java/kekztech/ServerProxy.java index e509ab1722..7453b44b3f 100644 --- a/src/main/java/kekztech/ServerProxy.java +++ b/src/main/java/kekztech/ServerProxy.java @@ -1,6 +1,6 @@ package kekztech; -import common.CommonProxy; +import kekztech.common.CommonProxy; public class ServerProxy extends CommonProxy { } diff --git a/src/main/java/kekztech/client/ClientProxy.java b/src/main/java/kekztech/client/ClientProxy.java new file mode 100644 index 0000000000..8ac8bbd710 --- /dev/null +++ b/src/main/java/kekztech/client/ClientProxy.java @@ -0,0 +1,18 @@ +package kekztech.client; + +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import kekztech.common.CommonProxy; + +public class ClientProxy extends CommonProxy { + + @Override + public void preInit(final FMLPreInitializationEvent e) { + super.preInit(e); + } + + @Override + public void init(final FMLInitializationEvent e) { + super.init(e); + } +} diff --git a/src/main/java/kekztech/client/gui/KTUITextures.java b/src/main/java/kekztech/client/gui/KTUITextures.java new file mode 100644 index 0000000000..c502646b5a --- /dev/null +++ b/src/main/java/kekztech/client/gui/KTUITextures.java @@ -0,0 +1,21 @@ +package kekztech.client.gui; + +import com.gtnewhorizons.modularui.api.drawable.UITexture; + +import kekztech.KekzCore; + +public class KTUITextures { + + public static final UITexture OVERLAY_BUTTON_WIRELESS_ON = UITexture + .fullImage(KekzCore.MODID, "gui/overlay_button/wireless_on"); + + public static final UITexture OVERLAY_BUTTON_WIRELESS_OFF = UITexture + .fullImage(KekzCore.MODID, "gui/overlay_button/wireless_off"); + + public static final UITexture OVERLAY_BUTTON_WIRELESS_OFF_DISABLED = UITexture + .fullImage(KekzCore.MODID, "gui/overlay_button/wireless_off_disabled"); + + public static final UITexture OVERLAY_BUTTON_WIRELESS_REBALANCE = UITexture + .fullImage(KekzCore.MODID, "gui/overlay_button/wireless_rebalance"); + +} diff --git a/src/main/java/kekztech/common/Blocks.java b/src/main/java/kekztech/common/Blocks.java new file mode 100644 index 0000000000..013bcf54d5 --- /dev/null +++ b/src/main/java/kekztech/common/Blocks.java @@ -0,0 +1,61 @@ +package kekztech.common; + +import net.minecraft.block.Block; + +import gregtech.api.enums.Mods; +import kekztech.KekzCore; +import kekztech.common.blocks.BlockGDCUnit; +import kekztech.common.blocks.BlockIchorJar; +import kekztech.common.blocks.BlockLapotronicEnergyUnit; +import kekztech.common.blocks.BlockLargeHexPlate; +import kekztech.common.blocks.BlockTFFTStorageField; +import kekztech.common.blocks.BlockThaumiumReinforcedJar; +import kekztech.common.blocks.BlockYSZUnit; + +public class Blocks { + + public static Block yszUnit; + public static Block gdcUnit; + public static Block tfftStorageField; + public static Block jarThaumiumReinforced; + public static Block jarIchor; + public static Block lscLapotronicEnergyUnit; + + public static Block largeHexPlate; + + public static void preInit() { + KekzCore.LOGGER.info("Registering blocks..."); + + registerBlocks_SOFC(); + registerBlocks_TFFT(); + if (Mods.Thaumcraft.isModLoaded()) { + registerBlocks_Jars(); + } + registerBlocks_LSC(); + registerBlocks_Cosmetics(); + + KekzCore.LOGGER.info("Finished registering blocks"); + } + + private static void registerBlocks_SOFC() { + yszUnit = BlockYSZUnit.registerBlock(); + gdcUnit = BlockGDCUnit.registerBlock(); + } + + private static void registerBlocks_TFFT() { + tfftStorageField = BlockTFFTStorageField.registerBlock(); + } + + private static void registerBlocks_Jars() { + jarThaumiumReinforced = BlockThaumiumReinforcedJar.registerBlock(); + jarIchor = BlockIchorJar.registerBlock(); + } + + private static void registerBlocks_LSC() { + lscLapotronicEnergyUnit = BlockLapotronicEnergyUnit.registerBlock(); + } + + private static void registerBlocks_Cosmetics() { + largeHexPlate = BlockLargeHexPlate.registerBlock(); + } +} diff --git a/src/main/java/kekztech/common/CommonProxy.java b/src/main/java/kekztech/common/CommonProxy.java new file mode 100644 index 0000000000..1baa4e5c69 --- /dev/null +++ b/src/main/java/kekztech/common/CommonProxy.java @@ -0,0 +1,46 @@ +package kekztech.common; + +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLPostInitializationEvent; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import gregtech.api.enums.Mods; +import kekztech.Items; +import kekztech.common.items.ErrorItem; +import kekztech.common.items.MetaItemCraftingComponent; +import kekztech.common.tileentities.MTEHatchTFFT; + +public class CommonProxy { + + public void preInit(final FMLPreInitializationEvent e) { + // Items + ErrorItem.getInstance() + .registerItem(); + MetaItemCraftingComponent.getInstance() + .registerItem(); + Items.registerOreDictNames(); + // Blocks + Blocks.preInit(); + // TileEntities + TileEntities.preInit(); + if (Mods.Thaumcraft.isModLoaded() && Mods.ThaumicTinkerer.isModLoaded()) { + // TC Research + Researches.preInit(); + } + } + + public void init(final FMLInitializationEvent e) { + // GregTech Meta TileEntities + TileEntities.init(); + } + + public void postInit(final FMLPostInitializationEvent e) { + // Recipes + Recipes.postInit(); + if (Mods.Thaumcraft.isModLoaded() && Mods.ThaumicTinkerer.isModLoaded()) { + // Research + Researches.postInit(); + } + + MTEHatchTFFT.registerAEIntegration(); + } +} diff --git a/src/main/java/kekztech/common/Recipes.java b/src/main/java/kekztech/common/Recipes.java new file mode 100644 index 0000000000..e6472c23a3 --- /dev/null +++ b/src/main/java/kekztech/common/Recipes.java @@ -0,0 +1,143 @@ +package kekztech.common; + +import static gregtech.api.enums.Mods.ThaumicTinkerer; + +import java.util.HashMap; + +import net.minecraft.item.ItemStack; + +import cpw.mods.fml.common.registry.GameRegistry; +import gregtech.api.enums.Materials; +import gregtech.api.enums.Mods; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GTModHandler; +import gregtech.api.util.GTOreDictUnificator; +import kekztech.KekzCore; +import kekztech.common.recipeLoaders.AlloySmelter; +import kekztech.common.recipeLoaders.Assembler; +import kekztech.common.recipeLoaders.AssemblyLine; +import kekztech.common.recipeLoaders.ChemicalReactor; +import kekztech.common.recipeLoaders.Crafting; +import kekztech.common.recipeLoaders.FormingPress; +import kekztech.common.recipeLoaders.Mixer; +import kekztech.common.recipeLoaders.ResearchableAssemblyLine; +import kekztech.common.recipeLoaders.Unpackager; +import thaumcraft.api.ItemApi; +import thaumcraft.api.ThaumcraftApi; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.aspects.AspectList; +import thaumcraft.api.crafting.InfusionRecipe; + +public class Recipes { + + public static final HashMap<String, InfusionRecipe> infusionRecipes = new HashMap<>(); + + public static void postInit() { + KekzCore.LOGGER.info("Registering recipes..."); + + new AlloySmelter().run(); + new Assembler().run(); + new AssemblyLine().run(); + new ChemicalReactor().run(); + new Crafting().run(); + new FormingPress().run(); + new Mixer().run(); + new ResearchableAssemblyLine().run(); + new Unpackager().run(); + + if (Mods.Thaumcraft.isModLoaded()) { + registerRecipes_Jars(); + } + + KekzCore.LOGGER.info("Finished registering recipes"); + } + + private static void registerRecipes_Jars() { + + // Thaumium Reinforced Jar + final ItemStack[] recipe_jarthaumiumreinforced = { + GameRegistry.makeItemStack("Thaumcraft:ItemResource", 15, 1, null), + GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Thaumium, 1), + new ItemStack(net.minecraft.init.Blocks.glass_pane), + GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Thaumium, 1), + new ItemStack(net.minecraft.init.Blocks.glass_pane), + GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Titanium, 1), + GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Thaumium, 1), + new ItemStack(net.minecraft.init.Blocks.glass_pane), + GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Thaumium, 1), + new ItemStack(net.minecraft.init.Blocks.glass_pane), }; + final AspectList aspects_jarthaumiumreinforced = new AspectList().add(Aspect.ARMOR, 64) + .add(Aspect.ORDER, 32) + .add(Aspect.WATER, 32) + .add(Aspect.GREED, 16) + .add(Aspect.VOID, 16) + .add(Aspect.AIR, 8); + infusionRecipes.put( + "THAUMIUMREINFORCEDJAR", + ThaumcraftApi.addInfusionCraftingRecipe( + "THAUMIUMREINFORCEDJAR", + new ItemStack(Blocks.jarThaumiumReinforced, 1, 0), + 5, + aspects_jarthaumiumreinforced, + ItemApi.getBlock("blockJar", 0), + recipe_jarthaumiumreinforced)); + // Thaumium Reinforced Void Jar + final ItemStack[] recipe_voidjarupgrade = { + GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Obsidian, 1), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Blaze, 1), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.EnderEye, 1), ItemApi.getItem("itemNugget", 5) }; + final AspectList aspects_voidjarupgrade = new AspectList().add(Aspect.VOID, 14) + .add(Aspect.MAGIC, 14) + .add(Aspect.ENTROPY, 14) + .add(Aspect.WATER, 14); + infusionRecipes.put( + "THAUMIUMREINFORCEDVOIDJAR", + ThaumcraftApi.addInfusionCraftingRecipe( + "THAUMIUMREINFORCEDJAR", + new ItemStack(Blocks.jarThaumiumReinforced, 1, 3), + 2, + aspects_voidjarupgrade, + new ItemStack(Blocks.jarThaumiumReinforced, 1, 0), + recipe_voidjarupgrade)); + + final ItemStack[] recipe_jarichor = { GTModHandler.getModItem(ThaumicTinkerer.ID, "kamiResource", 1, 0), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.Diamond, 1), + new ItemStack(net.minecraft.init.Blocks.glass_pane), + GTOreDictUnificator.get(OrePrefixes.foil, Materials.Osmiridium, 1), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.Diamond, 1), + new ItemStack(net.minecraft.init.Blocks.glass_pane), + GTOreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Diamond, 1), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.Diamond, 1), + new ItemStack(net.minecraft.init.Blocks.glass_pane), + GTOreDictUnificator.get(OrePrefixes.foil, Materials.Osmiridium, 1), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.Diamond, 1), + new ItemStack(net.minecraft.init.Blocks.glass_pane), }; + final AspectList aspects_jarichor = new AspectList().add(Aspect.ARMOR, 256) + .add(Aspect.ELDRITCH, 128) + .add(Aspect.ORDER, 128) + .add(Aspect.WATER, 128) + .add(Aspect.GREED, 64) + .add(Aspect.VOID, 64) + .add(Aspect.AIR, 32); + infusionRecipes.put( + "ICHORJAR", + ThaumcraftApi.addInfusionCraftingRecipe( + "ICHORJAR", + new ItemStack(Blocks.jarIchor, 1, 0), + 15, + aspects_jarichor, + ItemApi.getBlock("blockJar", 0), + recipe_jarichor)); + // Ichor Void Jar + infusionRecipes.put( + "ICHORVOIDJAR", + ThaumcraftApi.addInfusionCraftingRecipe( + "ICHORJAR", + new ItemStack(Blocks.jarIchor, 1, 3), + 5, + aspects_voidjarupgrade, + new ItemStack(Blocks.jarIchor, 1, 0), + recipe_voidjarupgrade)); + } + +} diff --git a/src/main/java/kekztech/common/Researches.java b/src/main/java/kekztech/common/Researches.java new file mode 100644 index 0000000000..8944f7a486 --- /dev/null +++ b/src/main/java/kekztech/common/Researches.java @@ -0,0 +1,71 @@ +package kekztech.common; + +import net.minecraft.item.ItemStack; + +import kekztech.KekzCore; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.aspects.AspectList; +import thaumcraft.api.research.ResearchItem; +import thaumcraft.api.research.ResearchPage; +import thaumic.tinkerer.common.research.KamiResearchItem; + +public class Researches { + + public static final String THAUMIUMREINFORCEDJAR = "THAUMIUMREINFORCEDJAR"; + public static final String ICHORJAR = "ICHORJAR"; + + public static void preInit() { + // Blacklist these researches from being a requirement to unlock TTKami + KekzCore.LOGGER.info("Blacklisting research " + THAUMIUMREINFORCEDJAR + " from /iskamiunlocked"); + KamiResearchItem.Blacklist.add(ICHORJAR); + KekzCore.LOGGER.info("Blacklisting research" + ICHORJAR + "from /iskamiunlocked"); + KamiResearchItem.Blacklist.add(ICHORJAR); + } + + public static void postInit() { + final AspectList aspects_jarthaumiumreinforced = new AspectList().add(Aspect.ARMOR, 3) + .add(Aspect.WATER, 3) + .add(Aspect.GREED, 3) + .add(Aspect.VOID, 3); + @SuppressWarnings("unused") + final ResearchItem jar_thaumiumreinforced = new ResearchItem( + "THAUMIUMREINFORCEDJAR", + "ALCHEMY", + aspects_jarthaumiumreinforced, + 3, + -4, + 2, + new ItemStack(Blocks.jarThaumiumReinforced, 1)) + .setPages( + new ResearchPage("kekztech.research_page.THAUMIUMREINFORCEDJAR.0"), + new ResearchPage(Recipes.infusionRecipes.get("THAUMIUMREINFORCEDJAR")), + new ResearchPage(Recipes.infusionRecipes.get("THAUMIUMREINFORCEDVOIDJAR")), + new ResearchPage("kekztech.research_page.THAUMIUMREINFORCEDJAR.1")) + .setConcealed() + .setParents("JARLABEL") + .registerResearchItem(); + + final AspectList aspects_jarichor = new AspectList().add(Aspect.ARMOR, 3) + .add(Aspect.ELDRITCH, 3) + .add(Aspect.WATER, 3) + .add(Aspect.GREED, 5) + .add(Aspect.VOID, 5); + @SuppressWarnings("unused") + final ResearchItem jar_ichor = new ResearchItem( + "ICHORJAR", + "ALCHEMY", + aspects_jarichor, + 2, + -5, + 3, + new ItemStack(Blocks.jarIchor, 1)) + .setPages( + new ResearchPage("kekztech.research_page.ICHORJAR.0"), + new ResearchPage(Recipes.infusionRecipes.get("ICHORJAR")), + new ResearchPage(Recipes.infusionRecipes.get("ICHORVOIDJAR"))) + .setConcealed() + .setParents("THAUMIUMREINFORCEDJAR") + .setParentsHidden("ICHOR") + .registerResearchItem(); + } +} diff --git a/src/main/java/kekztech/common/TileEntities.java b/src/main/java/kekztech/common/TileEntities.java new file mode 100644 index 0000000000..f510b481f9 --- /dev/null +++ b/src/main/java/kekztech/common/TileEntities.java @@ -0,0 +1,56 @@ +package kekztech.common; + +import cpw.mods.fml.common.registry.GameRegistry; +import gregtech.api.enums.MetaTileEntityIDs; +import gregtech.api.enums.Mods; +import kekztech.common.tileentities.MTEHatchTFFT; +import kekztech.common.tileentities.MTELapotronicSuperCapacitor; +import kekztech.common.tileentities.MTESOFuelCellMK1; +import kekztech.common.tileentities.MTESOFuelCellMK2; +import kekztech.common.tileentities.MTETankTFFT; +import kekztech.common.tileentities.TileEntityIchorJar; +import kekztech.common.tileentities.TileEntityIchorVoidJar; +import kekztech.common.tileentities.TileEntityThaumiumReinforcedJar; +import kekztech.common.tileentities.TileEntityThaumiumReinforcedVoidJar; + +public class TileEntities { + + // Multiblock controllers + public static MTESOFuelCellMK1 sofc1; + public static MTESOFuelCellMK2 sofc2; + public static MTETankTFFT tfft; + public static MTELapotronicSuperCapacitor lsc; + + // Singleblocks + public static MTEHatchTFFT tfftHatch; + + public static void preInit() { + if (Mods.Thaumcraft.isModLoaded()) { + GameRegistry.registerTileEntity(TileEntityThaumiumReinforcedJar.class, "kekztech_thaumiumreinforcedjar"); + GameRegistry + .registerTileEntity(TileEntityThaumiumReinforcedVoidJar.class, "kekztech_thaumiumreinforcedvoidjar"); + GameRegistry.registerTileEntity(TileEntityIchorJar.class, "kekztech_ichorjar"); + GameRegistry.registerTileEntity(TileEntityIchorVoidJar.class, "kekztech_ichorvoidjar"); + } + } + + public static void init() { + // Multiblock controllers + sofc1 = new MTESOFuelCellMK1( + MetaTileEntityIDs.sofc1.ID, + "multimachine.fuelcellmk1", + "Solid-Oxide Fuel Cell Mk I"); + sofc2 = new MTESOFuelCellMK2( + MetaTileEntityIDs.sofc2.ID, + "multimachine.fuelcellmk2", + "Solid-Oxide Fuel Cell Mk II"); + tfft = new MTETankTFFT(MetaTileEntityIDs.tfft.ID, "multimachine.tfft", "T.F.F.T"); + lsc = new MTELapotronicSuperCapacitor( + MetaTileEntityIDs.lsc.ID, + "multimachine.supercapacitor", + "Lapotronic Supercapacitor"); + + // Singleblocks + tfftHatch = new MTEHatchTFFT(MetaTileEntityIDs.tfftHatch.ID, "machine.tffthatch", "T.F.F.T Multi I/O Hatch"); + } +} diff --git a/src/main/java/kekztech/common/blocks/BaseGTUpdateableBlock.java b/src/main/java/kekztech/common/blocks/BaseGTUpdateableBlock.java new file mode 100644 index 0000000000..6c81807a82 --- /dev/null +++ b/src/main/java/kekztech/common/blocks/BaseGTUpdateableBlock.java @@ -0,0 +1,57 @@ +package kekztech.common.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EnumCreatureType; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +import gregtech.api.GregTechAPI; + +/** + * Any blocks that are used as structure parts for GregTech multi machines have to inherit from this class. Otherwise + * the checkMachine() method that verifies a machine's structure won't be called correctly. + */ +public abstract class BaseGTUpdateableBlock extends Block { + + protected BaseGTUpdateableBlock(Material material) { + super(material); + GregTechAPI.registerMachineBlock(this, -1); + super.setHarvestLevel("wrench", 2); + } + + @Override + public int damageDropped(int meta) { + return meta; + } + + @Override + public boolean canBeReplacedByLeaves(IBlockAccess world, int x, int y, int z) { + return false; + } + + @Override + public boolean canEntityDestroy(IBlockAccess world, int x, int y, int z, Entity entity) { + return false; + } + |
