From c2faa68ac8369db571e8136962b1cac5db206dd0 Mon Sep 17 00:00:00 2001 From: Sampsa <69092953+S4mpsa@users.noreply.github.com> Date: Thu, 12 Sep 2024 15:03:41 +0300 Subject: Add Antimatter Power Generation (#3117) Co-authored-by: BlueWeabo Co-authored-by: Mary <33456283+FourIsTheNumber@users.noreply.github.com> Co-authored-by: BucketBrigade <138534411+CookieBrigade@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Martin Robertz --- .../blocks/regularBlock/AntimatterRenderBlock.java | 62 + .../blocks/structures/AntimatterStructures.java | 3834 ++++++++++++++++++++ .../blocks/tileEntity/AntimatterForge.java | 978 +++++ .../blocks/tileEntity/AntimatterGenerator.java | 572 +++ .../blocks/tileEntity/AntimatterOutputHatch.java | 74 + .../blocks/tileEntity/render/TileAntimatter.java | 130 + .../java/goodgenerator/client/ClientProxy.java | 4 + .../client/render/AntimatterRenderer.java | 253 ++ .../java/goodgenerator/common/CommonProxy.java | 1 + .../goodgenerator/loader/IDs_GoodGenerator.java | 49 + src/main/java/goodgenerator/loader/Loaders.java | 49 +- src/main/java/gregtech/api/enums/ItemList.java | 2 + src/main/java/gregtech/api/enums/Materials.java | 1 + .../java/gregtech/api/enums/MaterialsUEVplus.java | 48 + .../java/gregtech/api/enums/MetaTileEntityIDs.java | 1 + src/main/java/gregtech/api/enums/Textures.java | 2 + .../loaders/preload/LoaderGTBlockFluid.java | 18 + 17 files changed, 6077 insertions(+), 1 deletion(-) create mode 100644 src/main/java/goodgenerator/blocks/regularBlock/AntimatterRenderBlock.java create mode 100644 src/main/java/goodgenerator/blocks/structures/AntimatterStructures.java create mode 100644 src/main/java/goodgenerator/blocks/tileEntity/AntimatterForge.java create mode 100644 src/main/java/goodgenerator/blocks/tileEntity/AntimatterGenerator.java create mode 100644 src/main/java/goodgenerator/blocks/tileEntity/AntimatterOutputHatch.java create mode 100644 src/main/java/goodgenerator/blocks/tileEntity/render/TileAntimatter.java create mode 100644 src/main/java/goodgenerator/client/render/AntimatterRenderer.java create mode 100644 src/main/java/goodgenerator/loader/IDs_GoodGenerator.java (limited to 'src/main/java') diff --git a/src/main/java/goodgenerator/blocks/regularBlock/AntimatterRenderBlock.java b/src/main/java/goodgenerator/blocks/regularBlock/AntimatterRenderBlock.java new file mode 100644 index 0000000000..baa06f70dc --- /dev/null +++ b/src/main/java/goodgenerator/blocks/regularBlock/AntimatterRenderBlock.java @@ -0,0 +1,62 @@ +package goodgenerator.blocks.regularBlock; + +import java.util.ArrayList; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import goodgenerator.blocks.tileEntity.render.TileAntimatter; + +public class AntimatterRenderBlock extends Block { + + public AntimatterRenderBlock() { + super(Material.iron); + this.setResistance(20f); + this.setHardness(-1.0f); + this.setLightLevel(100.0f); + this.setBlockName("gg.antimatterRender"); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + blockIcon = iconRegister.registerIcon("gregtech:iconsets/TRANSPARENT"); + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean canRenderInPass(int a) { + return true; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public boolean hasTileEntity(int metadata) { + return true; + } + + @Override + public TileEntity createTileEntity(World world, int metadata) { + return new TileAntimatter(); + } + + @Override + public ArrayList getDrops(World world, int x, int y, int z, int meta, int fortune) { + return new ArrayList<>(); + } + +} diff --git a/src/main/java/goodgenerator/blocks/structures/AntimatterStructures.java b/src/main/java/goodgenerator/blocks/structures/AntimatterStructures.java new file mode 100644 index 0000000000..e199e680cc --- /dev/null +++ b/src/main/java/goodgenerator/blocks/structures/AntimatterStructures.java @@ -0,0 +1,3834 @@ +package goodgenerator.blocks.structures; + +public class AntimatterStructures { + + public static final String[][] ANTIMATTER_FORGE = new String[][] { + { " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D D ", + " ", + " D D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " }, + { " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D D ", + " DAD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DD DD ", + " A A ", + " DD DD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DAD ", + " D D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " }, + { " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D D ", + " DAD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DD DD ", + " A A ", + " DD DD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DAD ", + " D D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " }, + { " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D D ", + " DAD ", + " DAD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DDD DDD ", + " AA AA ", + " DDD DDD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DAD ", + " DAD ", + " D D ", + " ", + " ", + " ", + " ", + " ", + " ", + " " }, + { " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D D ", + " DAD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D D ", + " DD D D DD ", + " A DD~DD A ", + " DD D D DD ", + " D D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DAD ", + " D D ", + " ", + " ", + " ", + " ", + " ", + " ", + " " }, + { " ", + " ", + " ", + " ", + " ", + " ", + " D D ", + " DCD ", + " DAD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D D ", + " DDD DDDDDDD DDD ", + " CA AC ", + " DDD DDDDDDD DDD ", + " D D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DAD ", + " DCD ", + " D D ", + " ", + " ", + " ", + " ", + " ", + " " }, + { " ", + " ", + " ", + " ", + " ", + " D D ", + " DCD ", + " DAD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D D ", + " DDD DDDCCCCCCCDDD DDD ", + " CA CCCCCCC AC ", + " DDD DDDCCCCCCCDDD DDD ", + " D D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DAD ", + " DCD ", + " D D ", + " ", + " ", + " ", + " ", + " " }, + { " ", + " ", + " ", + " ", + " ", + " D D ", + " DCD ", + " DAD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D D ", + " DDD DDCCDCAAAAACDCCDD DDD ", + " CA CCCBBBBBBBCCC AC ", + " DDD DDCCCAAAAAAACCCDD DDD ", + " D D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DAD ", + " DCD ", + " D D ", + " ", + " ", + " ", + " ", + " " }, + { " ", + " ", + " ", + " ", + " D D ", + " DCD ", + " DAD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D D ", + " DDD DCCACDCCCCCCCDCACCD DDD ", + " CA CCBBBCCCCCCCBBBCC AC ", + " DDD DCCAAACCCCCCCAAACCD DDD ", + " D D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DAD ", + " DCD ", + " D D ", + " ", + " ", + " ", + " " }, + { " ", + " ", + " ", + " D D ", + " DDCDD ", + " DAD ", + " DAD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D DD DD D ", + " DDDD DCAAACDDDDDDDDDCAAACD DDDD ", + " CAA CBBBCC CCBBBC AAC ", + " DDDD DCAAACCDDDDDDDCCAAACD DDDD ", + " D DD DD D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DAD ", + " DAD ", + " DDCDD ", + " D D ", + " ", + " ", + " " }, + { " ", + " ", + " ", + " D D ", + " DDCDD ", + " DAD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D DD DD D ", + " DDD DCAACCDD E E DDCCAACD DDD ", + " CA CBBCC D D CCBBC AC ", + " DDD DCAACCDD E E DDCCAACD DDD ", + " D DD DD D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DAD ", + " DDCDD ", + " D D ", + " ", + " ", + " " }, + { " ", + " ", + " ", + " D D ", + " DDCDD ", + " DAD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D DD DD D ", + " DDD DCAACDD DDCAACD DDD ", + " CA CBBC CBBC AC ", + " DDD DCAACDD DDCAACD DDD ", + " D DD DD D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DAD ", + " DDCDD ", + " D D ", + " ", + " ", + " " }, + { " ", + " ", + " D D ", + " DDCDD ", + " DAD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D D D D ", + " DDD DCAACD DCAACD DDD ", + " CA CBBC CBBC AC ", + " DDD DCAACD DCAACD DDD ", + " D D D D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DAD ", + " DDCDD ", + " D D ", + " ", + " " }, + { " ", + " ", + " D D ", + " DDCDD ", + " DAD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D D D D ", + " DDD DCACD DCACD DDD ", + " CA CBC CBC AC ", + " DDD DCACD DCACD DDD ", + " D D D D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DAD ", + " DDCDD ", + " D D ", + " ", + " " }, + { " ", + " ", + " D D ", + " DDCDD ", + " DAD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D D D D ", + " DDD DCAACD DCAACD DDD ", + " CA CBBC CBBC AC ", + " DDD DCAACD DCAACD DDD ", + " D D D D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DAD ", + " DDCDD ", + " D D ", + " ", + " " }, + { " ", + " D D ", + " DDCDD ", + " DAD ", + " DAD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D D D D ", + " DDDD DCCCD DCCCD DDDD ", + " CAA CBC CBC AAC ", + " DDDD DCACD DCACD DDDD ", + " D D D D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DAD ", + " DAD ", + " DDCDD ", + " D D ", + " " }, + { " ", + " D D ", + " DDCDD ", + " DAD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "