From c41fb8f7959e70a46c1a5c0144f66ffc17400c66 Mon Sep 17 00:00:00 2001 From: Timo Ley Date: Sat, 3 Apr 2021 12:02:52 +0200 Subject: [PATCH] Added Legacy Controller textures and recipe --- .../block/legacy/BlockLegacyController.java | 25 ++++++++++++++++++ .../client/texture/ExtraBlockTextures.java | 5 +++- .../tile/legacy/TileLegacyController.java | 24 ++++++++++++++--- .../recipes/legacy/index.recipe | 6 +++++ .../textures/blocks/BlockLegacyController.png | Bin 0 -> 398 bytes .../blocks/BlockLegacyControllerBottom.png | Bin 0 -> 398 bytes .../blocks/BlockLegacyControllerFront.png | Bin 0 -> 6056 bytes .../blocks/BlockLegacyControllerSide.png | Bin 0 -> 438 bytes .../textures/blocks/Controller0.png | Bin 0 -> 5922 bytes .../textures/blocks/Controller1.png | Bin 0 -> 5953 bytes .../textures/blocks/Controller2.png | Bin 0 -> 5980 bytes .../textures/blocks/Controller3.png | Bin 0 -> 6019 bytes .../textures/blocks/Controller4.png | Bin 0 -> 6047 bytes .../textures/blocks/ControllerLinked.png | Bin 0 -> 6188 bytes 14 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 src/main/resources/assets/appliedenergistics2/textures/blocks/BlockLegacyController.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/blocks/BlockLegacyControllerBottom.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/blocks/BlockLegacyControllerFront.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/blocks/BlockLegacyControllerSide.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/blocks/Controller0.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/blocks/Controller1.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/blocks/Controller2.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/blocks/Controller3.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/blocks/Controller4.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/blocks/ControllerLinked.png diff --git a/src/main/java/appeng/block/legacy/BlockLegacyController.java b/src/main/java/appeng/block/legacy/BlockLegacyController.java index d9474581..8dcb4bfa 100644 --- a/src/main/java/appeng/block/legacy/BlockLegacyController.java +++ b/src/main/java/appeng/block/legacy/BlockLegacyController.java @@ -1,12 +1,14 @@ package appeng.block.legacy; import appeng.block.AEBaseTileBlock; +import appeng.client.texture.ExtraBlockTextures; import appeng.core.features.AEFeature; import appeng.core.sync.GuiBridge; import appeng.tile.legacy.TileLegacyController; import appeng.util.Platform; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -26,4 +28,27 @@ public class BlockLegacyController extends AEBaseTileBlock { return true; } + @Override + public IIcon getIcon(int direction, int metadata) { + if (direction == 3) { + switch (metadata) { + case 0: + return ExtraBlockTextures.Controller0.getIcon(); + case 1: + return ExtraBlockTextures.Controller1.getIcon(); + case 2: + return ExtraBlockTextures.Controller2.getIcon(); + case 3: + return ExtraBlockTextures.Controller3.getIcon(); + case 4: + return ExtraBlockTextures.Controller4.getIcon(); + case 5: + return ExtraBlockTextures.Controller5.getIcon(); + case 6: + return ExtraBlockTextures.ControllerLinked.getIcon(); + } + } + return super.getIcon(direction, metadata); + } + } diff --git a/src/main/java/appeng/client/texture/ExtraBlockTextures.java b/src/main/java/appeng/client/texture/ExtraBlockTextures.java index 22fc16b5..83463abb 100644 --- a/src/main/java/appeng/client/texture/ExtraBlockTextures.java +++ b/src/main/java/appeng/client/texture/ExtraBlockTextures.java @@ -21,6 +21,7 @@ package appeng.client.texture; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import jdk.nashorn.internal.ir.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.util.IIcon; @@ -85,7 +86,9 @@ public enum ExtraBlockTextures BlockCraftingMonitorOuter( "BlockCraftingMonitorOuter" ), BlockCraftingFitSolid( "BlockCraftingFitSolid" ), - BlockPaint2( "BlockPaint2" ), BlockPaint3( "BlockPaint3" ); + BlockPaint2( "BlockPaint2" ), BlockPaint3( "BlockPaint3" ), + + Controller0("Controller0"), Controller1("Controller1"), Controller2("Controller2"), Controller3("Controller3"), Controller4("Controller4"), Controller5("BlockLegacyControllerFront"), ControllerLinked("ControllerLinked"); private final String name; private IIcon IIcon; diff --git a/src/main/java/appeng/tile/legacy/TileLegacyController.java b/src/main/java/appeng/tile/legacy/TileLegacyController.java index fcfb15bc..b74b1e0b 100644 --- a/src/main/java/appeng/tile/legacy/TileLegacyController.java +++ b/src/main/java/appeng/tile/legacy/TileLegacyController.java @@ -14,9 +14,10 @@ public class TileLegacyController extends AENetworkPowerTile { private static final IInventory NULL_INVENTORY = new AppEngInternalInventory( null, 0 ); private static final int[] ACCESSIBLE_SLOTS_BY_SIDE = {}; - public TileLegacyController() { - this.setInternalMaxPower( 8000 ); + public TileLegacyController() { //TODO Fix power storage + this.setInternalMaxPower( 10000 ); this.setInternalPublicPowerStorage( true ); + this.getProxy().setIdlePowerUsage(6.0); } @Override @@ -37,9 +38,10 @@ public class TileLegacyController extends AENetworkPowerTile { @Override protected double getFunnelPowerDemand( final double maxReceived ) { + updateMeta(); try { - return this.getProxy().getEnergy().getEnergyDemand( 8000 ); + return this.getProxy().getEnergy().getEnergyDemand( 10000 ); } catch( final GridAccessException e ) { @@ -51,6 +53,7 @@ public class TileLegacyController extends AENetworkPowerTile { @Override protected double funnelPowerIntoStorage( final double power, final Actionable mode ) { + updateMeta(); try { final double ret = this.getProxy().getEnergy().injectPower( power, mode ); @@ -67,4 +70,19 @@ public class TileLegacyController extends AENetworkPowerTile { } } + public void updateMeta() { + int meta = (int) Math.ceil((5.0 * this.getInternalCurrentPower() / this.getInternalMaxPower())); + if (meta < 0) { + meta = 0; + } else if (meta > 5) { + meta = 5; + } + if (getProxy().isActive() && getInternalCurrentPower() == 0.0) { + meta = 6; + } + this.worldObj.setBlockMetadataWithNotify(this.xCoord, this.yCoord, this.zCoord, meta, 2); + } + + + } diff --git a/src/main/resources/assets/appliedenergistics2/recipes/legacy/index.recipe b/src/main/resources/assets/appliedenergistics2/recipes/legacy/index.recipe index d2d502c2..6fb58e26 100644 --- a/src/main/resources/assets/appliedenergistics2/recipes/legacy/index.recipe +++ b/src/main/resources/assets/appliedenergistics2/recipes/legacy/index.recipe @@ -27,3 +27,9 @@ shaped= ae2:CableGlass.Fluix ae2:ItemMaterial.LogicProcessor glass, oredictionary:ingotIron oredictionary:ingotIron glass -> ae2:BlockCraftMonitor + +shaped= + oredictionary:ingotIron fluixCrystal oredictionary:ingotIron, + fluixCrystal ae2:ItemMaterial.EngProcessor fluixCrystal, + oredictionary:ingotIron fluixCrystal oredictionary:ingotIron + -> ae2:BlockLegacyController diff --git a/src/main/resources/assets/appliedenergistics2/textures/blocks/BlockLegacyController.png b/src/main/resources/assets/appliedenergistics2/textures/blocks/BlockLegacyController.png new file mode 100644 index 0000000000000000000000000000000000000000..7ec66578158e7a321dc0d6e99aeaeb072c4130f4 GIT binary patch literal 398 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF8om~%3A2F8tJP2|NnnClN={dJ!6u$y9>Ac^&9L@rd$YKTt zzGWcH*nVeaK2Xr!)5S4_<9c#}NJvl+5TykaGBUfjO)xPiNDpW2OC7#SEE z>lzsA8XAQdSXdbwTNzsD8kkxc7+iBbxgSMCZhlH;S|wbAfk}vwv6TT3ndlmr0X2NR z%Do<_K?-C;aDG}zd16s2LqK9?UWuNcYluRbv7V`(p@G4dqJ=eN`=0SqpttBVD!s|NqYv?RyDS&zR)x?!qm9{m20zhqJ&VvY3H^ zZy5+Pw%=Kq4-~Zbba4#fxSpIK5)u>yL}>wqjLhzB6HE*W(gPX|=190G@VK{laL$ra z(VVkO#<0ZlpiXI0#(XKsC2?}191KoVwPdSO8NLFIQY~?fC`m~yNwrEYN(E93Mh1q) zx(3F&hDIR<7FNc_R)!Y32Bua92G?9q?nlv(o1c=IRteW&U=m_vY-IpMCb|Y@Kn-87 za<2z!kOJ8doS#-wo>-L15RjOeSEA?V8lq5UtY@lcXkhTAXdzG)gQu&X%Q~loCIDqY BYh3^U literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/appliedenergistics2/textures/blocks/BlockLegacyControllerFront.png b/src/main/resources/assets/appliedenergistics2/textures/blocks/BlockLegacyControllerFront.png new file mode 100644 index 0000000000000000000000000000000000000000..191814bd191cab9c9ac4a83100fbbf9acf742ce9 GIT binary patch literal 6056 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/appliedenergistics2/textures/blocks/Controller0.png b/src/main/resources/assets/appliedenergistics2/textures/blocks/Controller0.png new file mode 100644 index 0000000000000000000000000000000000000000..f4ade88c00351da8035e0e3562ce3dcadf83f18d GIT binary patch literal 5922 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/appliedenergistics2/textures/blocks/Controller3.png b/src/main/resources/assets/appliedenergistics2/textures/blocks/Controller3.png new file mode 100644 index 0000000000000000000000000000000000000000..9bff85925a43ffa4f2a8e3c0afb59091f295ccc1 GIT binary patch literal 6019 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 Gn*48>W*?mZ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/appliedenergistics2/textures/blocks/ControllerLinked.png b/src/main/resources/assets/appliedenergistics2/textures/blocks/ControllerLinked.png new file mode 100644 index 0000000000000000000000000000000000000000..c8b0528b4f2df2fbc1103d93832db03b88e53fb3 GIT binary patch literal 6188 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 F{{W@7Yo`DJ literal 0 HcmV?d00001