From bc69f1a70cb6f5fe015ac96b4be373583d38783b Mon Sep 17 00:00:00 2001 From: Prometheus0000000 Date: Sat, 26 Dec 2020 20:13:33 -0500 Subject: Fixes chest buffers at higher tiers not working --- .../common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/gregtech/common/tileentities/automation') diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java index 6605d4fc35..4e80b7b779 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java @@ -19,7 +19,7 @@ import java.util.Comparator; public class GT_MetaTileEntity_ChestBuffer extends GT_MetaTileEntity_Buffer { - private static final int[] tickRate = {400, 200, 100, 20, 4, 1, 1, 1,1,1}; + private static final int[] tickRate = {400, 200, 100, 20, 4, 1, 1, 1, 1, 1, 1, 1, 1}; public GT_MetaTileEntity_ChestBuffer(int aID, String aName, String aNameRegional, int aTier) { -- cgit From c3defc0dd1bc4a6cf3ab3fddcb44f969a85934ec Mon Sep 17 00:00:00 2001 From: Glease <4586901+glease@users.noreply.github.com> Date: Tue, 29 Dec 2020 20:46:28 +0800 Subject: Remove all energy cost of moving fluid and items Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> --- .../tileentities/automation/GT_MetaTileEntity_ItemDistributor.java | 1 - .../common/tileentities/automation/GT_MetaTileEntity_Regulator.java | 1 - 2 files changed, 2 deletions(-) (limited to 'src/main/java/gregtech/common/tileentities/automation') diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java index 5fa3bc8c82..37d8585310 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java @@ -143,7 +143,6 @@ public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer } if (movedItems > 0 || aBaseMetaTileEntity.hasInventoryBeenModified()) { mSuccess = 50; - aBaseMetaTileEntity.decreaseStoredEnergyUnits(Math.abs(movedItems), true); } fillStacksIntoFirstSlots(); } diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java index b5a33bfb81..746e182066 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java @@ -95,7 +95,6 @@ public class GT_MetaTileEntity_Regulator tCosts = GT_Utility.moveOneItemStackIntoSlot(getBaseMetaTileEntity(), getBaseMetaTileEntity().getTileEntityAtSide(getBaseMetaTileEntity().getBackFacing()), getBaseMetaTileEntity().getBackFacing(), this.mTargetSlots[i], Arrays.asList(new ItemStack[]{this.mInventory[(i + 9)]}), false, (byte) this.mInventory[(i + 9)].stackSize, (byte) this.mInventory[(i + 9)].stackSize, (byte) 64, (byte) 1) * 3; if (tCosts > 0) { this.mSuccess = 50; - getBaseMetaTileEntity().decreaseStoredEnergyUnits(tCosts, true); break; } } -- cgit From d5d68aa8980101c507e138f6e4dc12f0b344256d Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Sun, 17 Jan 2021 06:12:19 +0800 Subject: Fix chest buffer and super buffer tooltip saying it consumes power Left over of @eb2f20e5ed7e9c0d572928bb57a99d3f47c8fb11 Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> --- .../common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java | 2 +- .../common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/main/java/gregtech/common/tileentities/automation') diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java index 4e80b7b779..80dfe5854e 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java @@ -26,7 +26,7 @@ public class GT_MetaTileEntity_ChestBuffer super(aID, aName, aNameRegional, aTier, 28, new String[]{ "Buffers up to 27 Item Stacks", "Use Screwdriver to regulate output stack size", - "Consumes 3EU per moved Item", + "Does not consume energy to move Item", getTickRateDesc(aTier)}); } diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java index da35f17518..196813d2ef 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java @@ -15,7 +15,7 @@ public class GT_MetaTileEntity_SuperBuffer super(aID, aName, aNameRegional, aTier, 257, new String[]{ "Buffers up to 256 Item Stacks", "Use Screwdriver to regulate output stack size", - "Consumes 1EU per moved Item", + "Does not consume energy to move Item", getTickRateDesc(aTier)}); } -- cgit From 11074948ef25ebca0954335aa8920bbbf0e95eee Mon Sep 17 00:00:00 2001 From: Jason Mitchell Date: Sun, 17 Jan 2021 21:19:36 -0800 Subject: More removal of commented out code, small formatting adjustments --- .../automation/GT_MetaTileEntity_ChestBuffer.java | 16 +++------------- .../automation/GT_MetaTileEntity_Filter.java | 3 +-- .../automation/GT_MetaTileEntity_SuperBuffer.java | 3 +-- .../automation/GT_MetaTileEntity_TypeFilter.java | 3 +-- 4 files changed, 6 insertions(+), 19 deletions(-) (limited to 'src/main/java/gregtech/common/tileentities/automation') diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java index 80dfe5854e..73a8fac252 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java @@ -17,8 +17,7 @@ import net.minecraft.item.ItemStack; import java.util.Arrays; import java.util.Comparator; -public class GT_MetaTileEntity_ChestBuffer - extends GT_MetaTileEntity_Buffer { +public class GT_MetaTileEntity_ChestBuffer extends GT_MetaTileEntity_Buffer { private static final int[] tickRate = {400, 200, 100, 20, 4, 1, 1, 1, 1, 1, 1, 1, 1}; @@ -69,10 +68,7 @@ public class GT_MetaTileEntity_ChestBuffer if ( (mSuccess <= 0 ) || (mSuccess > 43) || ((mSuccess % 5) == 0 )){ super.moveItems(aBaseMetaTileEntity, aTimer); } - // mSuccesss is set to 50 on a successful move - //if(mSuccess == 50) { - // fillStacksIntoFirstSlots(); - //} + if(mSuccess < 0) { mSuccess = 0; } @@ -110,13 +106,7 @@ public class GT_MetaTileEntity_ChestBuffer id1 = o1.getItemDamage(); id2 = o2.getItemDamage(); - if ( id1 < id2 ) { - return -1; - } - if ( id1 > id2 ) { - return 1; - } - return 0; + return Integer.compare(id1, id2); } }); } diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java index a2f17ef6f3..1f87b45ced 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java @@ -13,8 +13,7 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -public class GT_MetaTileEntity_Filter - extends GT_MetaTileEntity_Buffer { +public class GT_MetaTileEntity_Filter extends GT_MetaTileEntity_Buffer { public boolean bIgnoreNBT = false; public boolean bInvertFilter = false; diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java index 196813d2ef..84df068972 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java @@ -9,8 +9,7 @@ import gregtech.common.gui.GT_Container_SuperBuffer; import gregtech.common.gui.GT_GUIContainer_SuperBuffer; import net.minecraft.entity.player.InventoryPlayer; -public class GT_MetaTileEntity_SuperBuffer - extends GT_MetaTileEntity_ChestBuffer { +public class GT_MetaTileEntity_SuperBuffer extends GT_MetaTileEntity_ChestBuffer { public GT_MetaTileEntity_SuperBuffer(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 257, new String[]{ "Buffers up to 256 Item Stacks", diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java index 6292a769a2..ec60dc00e9 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java @@ -16,8 +16,7 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -public class GT_MetaTileEntity_TypeFilter - extends GT_MetaTileEntity_Buffer { +public class GT_MetaTileEntity_TypeFilter extends GT_MetaTileEntity_Buffer { public boolean bNBTAllowed = false; public boolean bInvertFilter = false; public int mRotationIndex = 0; -- cgit From 3440f44467a0708a7f4428d7ba9cd9ee2f08bb24 Mon Sep 17 00:00:00 2001 From: charles Date: Sat, 3 Apr 2021 10:52:56 -0600 Subject: Made it so that higher tier buffers try to move multiple stacks/tick --- .../automation/GT_MetaTileEntity_ChestBuffer.java | 33 ++++++++++++++-------- 1 file changed, 21 insertions(+), 12 deletions(-) (limited to 'src/main/java/gregtech/common/tileentities/automation') diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java index 73a8fac252..e07d9d0536 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java @@ -18,7 +18,9 @@ import java.util.Arrays; import java.util.Comparator; public class GT_MetaTileEntity_ChestBuffer extends GT_MetaTileEntity_Buffer { - private static final int[] tickRate = {400, 200, 100, 20, 4, 1, 1, 1, 1, 1, 1, 1, 1}; + + private static final int[] tickRate = {400, 200, 100, 20, 4, 1, 1, 1, 1, 1, 1, 1, 1}; + private static final int[] maxStacks = { 1, 1, 1, 1, 1, 1, 2, 4, 8, 16, 32, 64, 128}; public GT_MetaTileEntity_ChestBuffer(int aID, String aName, String aNameRegional, int aTier) { @@ -60,17 +62,19 @@ public class GT_MetaTileEntity_ChestBuffer extends GT_MetaTileEntity_Buffer { protected void moveItems(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) { if (aTimer % tickRate[mTier] > 0) return; - if(aBaseMetaTileEntity.hasInventoryBeenModified()) { - fillStacksIntoFirstSlots(); - } - // mSuccess will be negative if the call is caused by the %200 aTimer, always try to push. Otherwise it will be positive. - // For the first 6 ticks after a successful move (49->44), push every tick. Then go to every 5 ticks. - if ( (mSuccess <= 0 ) || (mSuccess > 43) || ((mSuccess % 5) == 0 )){ - super.moveItems(aBaseMetaTileEntity, aTimer); - } + for (int i = 0; i < MAX; i++ ){ + if(aBaseMetaTileEntity.hasInventoryBeenModified()) { + fillStacksIntoFirstSlots(); + } + // mSuccess will be negative if the call is caused by the %200 aTimer, always try to push. Otherwise it will be positive. + // For the first 6 ticks after a successful move (49->44), push every tick. Then go to every 5 ticks. + if ( (mSuccess <= 0 ) || (mSuccess > 43) || ((mSuccess % 5) == 0 )){ + super.moveItems(aBaseMetaTileEntity, aTimer); + } - if(mSuccess < 0) { - mSuccess = 0; + if(mSuccess < 0) { + mSuccess = 0; + } } } @@ -141,7 +145,7 @@ public class GT_MetaTileEntity_ChestBuffer extends GT_MetaTileEntity_Buffer { int tickRate = getTickRate(tier); String s = ""; if (tickRate < 20) - s = "1/" + 20/tickRate + " "; + s = maxStacks[tier] + "/" + 20/tickRate + " "; else if (tickRate > 20) { s = (tickRate / 20) + "th "; } @@ -153,4 +157,9 @@ public class GT_MetaTileEntity_ChestBuffer extends GT_MetaTileEntity_Buffer { return 1; return tickRate[tier]; } + + protected static int getMaxStacks(int tier) { + // Included higher tiers on the off chance they actually work without blowing things up lmao + return tier > 9 ? MAX : Math.min(maxStacks[tier], MAX); + } } -- cgit From 413703a7aa5964ad481ca7dfa6abc91bdcbdd86f Mon Sep 17 00:00:00 2001 From: charles Date: Mon, 12 Apr 2021 21:53:20 -0600 Subject: Fixed algorithm, updated flavor text. --- .../automation/GT_MetaTileEntity_ChestBuffer.java | 36 ++++++++++++---------- 1 file changed, 20 insertions(+), 16 deletions(-) (limited to 'src/main/java/gregtech/common/tileentities/automation') diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java index e07d9d0536..6951f9bb44 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java @@ -62,19 +62,17 @@ public class GT_MetaTileEntity_ChestBuffer extends GT_MetaTileEntity_Buffer { protected void moveItems(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) { if (aTimer % tickRate[mTier] > 0) return; - for (int i = 0; i < MAX; i++ ){ - if(aBaseMetaTileEntity.hasInventoryBeenModified()) { - fillStacksIntoFirstSlots(); - } - // mSuccess will be negative if the call is caused by the %200 aTimer, always try to push. Otherwise it will be positive. - // For the first 6 ticks after a successful move (49->44), push every tick. Then go to every 5 ticks. - if ( (mSuccess <= 0 ) || (mSuccess > 43) || ((mSuccess % 5) == 0 )){ - super.moveItems(aBaseMetaTileEntity, aTimer); - } + if(aBaseMetaTileEntity.hasInventoryBeenModified()) { + fillStacksIntoFirstSlots(); + } + // mSuccess will be negative if the call is caused by the %200 aTimer, always try to push. Otherwise it will be positive. + // For the first 6 ticks after a successful move (49->44), push every tick. Then go to every 5 ticks. + if ( (mSuccess <= 0 ) || (mSuccess > 43) || ((mSuccess % 5) == 0 )){ + super.moveItems(aBaseMetaTileEntity, aTimer, Math.min(MAX, maxStacks[mTier])); + } - if(mSuccess < 0) { - mSuccess = 0; - } + if(mSuccess < 0) { + mSuccess = 0; } } @@ -143,13 +141,19 @@ public class GT_MetaTileEntity_ChestBuffer extends GT_MetaTileEntity_Buffer { protected static String getTickRateDesc(int tier){ int tickRate = getTickRate(tier); - String s = ""; + String timeStr = ""; + String numStr = ""; + if (maxStacks[tier] > 1) { + numStr = maxStacks[tier] + " items"; + } else { + numStr = "1 item"; + } if (tickRate < 20) - s = maxStacks[tier] + "/" + 20/tickRate + " "; + timeStr = "1/" + 20/tickRate + " "; else if (tickRate > 20) { - s = (tickRate / 20) + "th "; + timeStr = (tickRate / 20) + "th "; } - return "Moves items every " + s + "second"; + return "Moves " + numStr + " every " + timeStr + "second"; } protected static int getTickRate(int tier) { -- cgit From 4c8cf9986d75f91b13281de1d9d476d6dd392d50 Mon Sep 17 00:00:00 2001 From: Léa Gris Date: Tue, 27 Apr 2021 23:13:38 +0200 Subject: fix(textfiles): add missing neline at end of files git and diff tools will complain if text file does not end with a newline. Fixed all text files in the repository with Linux bash shell: ```sh git ls-files -z | while IFS= read -rd '' f; do mime="$(file --brief --mime "$f")"; if [ -z "${mime##text/*}" ]; then tail -c1 "$f" | read -r _ || printf '\n' >>"$f"; fi; done ``` --- .../tileentities/automation/GT_MetaTileEntity_ItemDistributor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/gregtech/common/tileentities/automation') diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java index 37d8585310..75c58a55da 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java @@ -168,4 +168,4 @@ public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer super.setItemNBT(aNBT); aNBT.setByteArray("mItemsPerSide", itemsPerSide); } -} \ No newline at end of file +} -- cgit From 7ea483764928de4146c159b483ffd4ddadd1b809 Mon Sep 17 00:00:00 2001 From: Léa Gris Date: Fri, 7 May 2021 18:06:51 +0200 Subject: feat(render): buffers glow Add code support and blank glow placeholders so resource pack can provide own glow. Applies to: - Chest Buffer - Item Filter - Distributor - Regulator - SuperBuffer - Type Filter --- .../automation/GT_MetaTileEntity_ChestBuffer.java | 25 +++++++++--- .../automation/GT_MetaTileEntity_Filter.java | 24 +++++++++--- .../GT_MetaTileEntity_ItemDistributor.java | 18 ++++++++- .../automation/GT_MetaTileEntity_Regulator.java | 36 ++++++++++++------ .../automation/GT_MetaTileEntity_SuperBuffer.java | 19 +++++++--- .../automation/GT_MetaTileEntity_TypeFilter.java | 44 ++++++++++++++-------- 6 files changed, 121 insertions(+), 45 deletions(-) (limited to 'src/main/java/gregtech/common/tileentities/automation') diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java index 6951f9bb44..c6ba60fdda 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java @@ -1,10 +1,11 @@ package gregtech.common.tileentities.automation; -import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Buffer; +import gregtech.api.objects.GT_MultiTexture; +import gregtech.api.objects.GT_RenderedGlowTexture; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_Utility; import gregtech.common.gui.GT_Container_ChestBuffer; @@ -17,6 +18,9 @@ import net.minecraft.item.ItemStack; import java.util.Arrays; import java.util.Comparator; +import static gregtech.api.enums.Textures.BlockIcons.AUTOMATION_CHESTBUFFER; +import static gregtech.api.enums.Textures.BlockIcons.AUTOMATION_CHESTBUFFER_GLOW; + public class GT_MetaTileEntity_ChestBuffer extends GT_MetaTileEntity_Buffer { private static final int[] tickRate = {400, 200, 100, 20, 4, 1, 1, 1, 1, 1, 1, 1, 1}; @@ -25,10 +29,10 @@ public class GT_MetaTileEntity_ChestBuffer extends GT_MetaTileEntity_Buffer { public GT_MetaTileEntity_ChestBuffer(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 28, new String[]{ - "Buffers up to 27 Item Stacks", - "Use Screwdriver to regulate output stack size", - "Does not consume energy to move Item", - getTickRateDesc(aTier)}); + "Buffers up to 27 Item Stacks", + "Use Screwdriver to regulate output stack size", + "Does not consume energy to move Item", + getTickRateDesc(aTier)}); } public GT_MetaTileEntity_ChestBuffer(int aID, String aName, String aNameRegional, int aTier, int aInvSlotCount, String aDescription) { @@ -47,18 +51,24 @@ public class GT_MetaTileEntity_ChestBuffer extends GT_MetaTileEntity_Buffer { super(aName, aTier, aInvSlotCount, aDescription, aTextures); } + @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { return new GT_MetaTileEntity_ChestBuffer(this.mName, this.mTier, this.mInventory.length, this.mDescriptionArray, this.mTextures); } + @Override public ITexture getOverlayIcon() { - return new GT_RenderedTexture(Textures.BlockIcons.AUTOMATION_CHESTBUFFER); + return new GT_MultiTexture( + new GT_RenderedTexture(AUTOMATION_CHESTBUFFER), + new GT_RenderedGlowTexture(AUTOMATION_CHESTBUFFER_GLOW)); } + @Override public boolean isValidSlot(int aIndex) { return aIndex < this.mInventory.length - 1; } + @Override protected void moveItems(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) { if (aTimer % tickRate[mTier] > 0) return; @@ -113,6 +123,7 @@ public class GT_MetaTileEntity_ChestBuffer extends GT_MetaTileEntity_Buffer { }); } + @Override protected void fillStacksIntoFirstSlots() { sortStacks(); // Merge small stacks together @@ -131,10 +142,12 @@ public class GT_MetaTileEntity_ChestBuffer extends GT_MetaTileEntity_Buffer { } } + @Override public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { return new GT_Container_ChestBuffer(aPlayerInventory, aBaseMetaTileEntity); } + @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { return new GT_GUIContainer_ChestBuffer(aPlayerInventory, aBaseMetaTileEntity); } diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java index 1f87b45ced..8f7bc96866 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java @@ -1,10 +1,11 @@ package gregtech.common.tileentities.automation; -import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Buffer; +import gregtech.api.objects.GT_MultiTexture; +import gregtech.api.objects.GT_RenderedGlowTexture; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_Utility; import gregtech.common.gui.GT_Container_Filter; @@ -13,15 +14,18 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import static gregtech.api.enums.Textures.BlockIcons.AUTOMATION_FILTER; +import static gregtech.api.enums.Textures.BlockIcons.AUTOMATION_FILTER_GLOW; + public class GT_MetaTileEntity_Filter extends GT_MetaTileEntity_Buffer { public boolean bIgnoreNBT = false; public boolean bInvertFilter = false; public GT_MetaTileEntity_Filter(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 19, new String[]{ - "Filters up to 9 different Items", - "Use Screwdriver to regulate output stack size", - "Consumes 1EU per moved Item"}); + "Filters up to 9 different Items", + "Use Screwdriver to regulate output stack size", + "Consumes 1EU per moved Item"}); } public GT_MetaTileEntity_Filter(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) { @@ -32,38 +36,48 @@ public class GT_MetaTileEntity_Filter extends GT_MetaTileEntity_Buffer { super(aName, aTier, aInvSlotCount, aDescription, aTextures); } + @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { return new GT_MetaTileEntity_Filter(this.mName, this.mTier, this.mInventory.length, this.mDescriptionArray, this.mTextures); } + @Override public ITexture getOverlayIcon() { - return new GT_RenderedTexture(Textures.BlockIcons.AUTOMATION_FILTER); + return new GT_MultiTexture( + new GT_RenderedTexture(AUTOMATION_FILTER), + new GT_RenderedGlowTexture(AUTOMATION_FILTER_GLOW)); } + @Override public boolean isValidSlot(int aIndex) { return aIndex < 9; } + @Override public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { return new GT_Container_Filter(aPlayerInventory, aBaseMetaTileEntity); } + @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { return new GT_GUIContainer_Filter(aPlayerInventory, aBaseMetaTileEntity); } + @Override public void saveNBTData(NBTTagCompound aNBT) { super.saveNBTData(aNBT); aNBT.setBoolean("bInvertFilter", this.bInvertFilter); aNBT.setBoolean("bIgnoreNBT", this.bIgnoreNBT); } + @Override public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); this.bInvertFilter = aNBT.getBoolean("bInvertFilter"); this.bIgnoreNBT = aNBT.getBoolean("bIgnoreNBT"); } + @Override public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { if (!super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack)) { return false; diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java index 75c58a55da..e3bd50255d 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java @@ -5,6 +5,8 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Buffer; +import gregtech.api.objects.GT_MultiTexture; +import gregtech.api.objects.GT_RenderedGlowTexture; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_Utility; import gregtech.common.gui.GT_Container_ItemDistributor; @@ -15,6 +17,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import static gregtech.api.enums.Textures.BlockIcons.AUTOMATION_ITEMDISTRIBUTOR; +import static gregtech.api.enums.Textures.BlockIcons.AUTOMATION_ITEMDISTRIBUTOR_GLOW; + public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer { private byte[] itemsPerSide = new byte[6]; private byte currentSide = 0, currentSideItemCount = 0; @@ -40,11 +45,13 @@ public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer super(aName, aTier, aInvSlotCount, aDescription, aTextures); } + @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { return new GT_MetaTileEntity_ItemDistributor(this.mName, this.mTier, this.mInventory.length, this.mDescriptionArray, this.mTextures); } + @Override protected void fillStacksIntoFirstSlots() { for (int i = 0; i < this.mInventory.length - 1; i++) { for (int j = i + 1; j < this.mInventory.length - 1; j++) { @@ -57,14 +64,19 @@ public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer } } + @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { return new GT_GUIContainer_ItemDistributor(aPlayerInventory, aBaseMetaTileEntity); } + @Override public ITexture getOverlayIcon() { - return new GT_RenderedTexture(Textures.BlockIcons.AUTOMATION_ITEMDISTRIBUTOR); + return new GT_MultiTexture( + new GT_RenderedTexture(AUTOMATION_ITEMDISTRIBUTOR), + new GT_RenderedGlowTexture(AUTOMATION_ITEMDISTRIBUTOR_GLOW)); } + @Override public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { return new GT_Container_ItemDistributor(aPlayerInventory, aBaseMetaTileEntity); } @@ -104,6 +116,7 @@ public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer return getBaseMetaTileEntity().getFrontFacing() != aSide && itemsPerSide[aSide] > 0; } + @Override public boolean isValidSlot(int aIndex) { return aIndex < this.mInventory.length - 1; } @@ -119,9 +132,10 @@ public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer currentSideItemCount = aNBT.getByte("mCurrentSideItemCount"); } + @Override protected void moveItems(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) { fillStacksIntoFirstSlots(); - int movedItems = 0; + int movedItems; TileEntity adjacentTileEntity = aBaseMetaTileEntity.getTileEntityAtSide(currentSide); int inspectedSides = 0; while (itemsPerSide[currentSide] == 0) { diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java index 746e182066..c2e7e4353c 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java @@ -1,10 +1,11 @@ package gregtech.common.tileentities.automation; -import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Buffer; +import gregtech.api.objects.GT_MultiTexture; +import gregtech.api.objects.GT_RenderedGlowTexture; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_Utility; import gregtech.common.gui.GT_Container_Regulator; @@ -14,7 +15,10 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import java.util.Arrays; +import java.util.Collections; + +import static gregtech.api.enums.Textures.BlockIcons.AUTOMATION_REGULATOR; +import static gregtech.api.enums.Textures.BlockIcons.AUTOMATION_REGULATOR_GLOW; public class GT_MetaTileEntity_Regulator extends GT_MetaTileEntity_Buffer { @@ -23,10 +27,10 @@ public class GT_MetaTileEntity_Regulator public GT_MetaTileEntity_Regulator(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 20, new String[]{ - "Filters up to 9 different Items", - "Allows Item-specific output stack size", - "Allows Item-specific output slot", - "Consumes 1EU per moved Item"}); + "Filters up to 9 different Items", + "Allows Item-specific output stack size", + "Allows Item-specific output slot", + "Consumes 1EU per moved Item"}); } public GT_MetaTileEntity_Regulator(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) { @@ -37,26 +41,34 @@ public class GT_MetaTileEntity_Regulator super(aName, aTier, aInvSlotCount, aDescription, aTextures); } + @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { return new GT_MetaTileEntity_Regulator(this.mName, this.mTier, this.mInventory.length, this.mDescriptionArray, this.mTextures); } + @Override public ITexture getOverlayIcon() { - return new GT_RenderedTexture(Textures.BlockIcons.AUTOMATION_REGULATOR); + return new GT_MultiTexture( + new GT_RenderedTexture(AUTOMATION_REGULATOR), + new GT_RenderedGlowTexture(AUTOMATION_REGULATOR_GLOW)); } + @Override public boolean isValidSlot(int aIndex) { return aIndex < 9; } + @Override public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { return new GT_Container_Regulator(aPlayerInventory, aBaseMetaTileEntity); } + @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { return new GT_GUIContainer_Regulator(aPlayerInventory, aBaseMetaTileEntity); } + @Override public void saveNBTData(NBTTagCompound aNBT) { super.saveNBTData(aNBT); aNBT.setInteger("mTargetSlot1", this.mTargetSlots[0]); @@ -70,6 +82,7 @@ public class GT_MetaTileEntity_Regulator aNBT.setInteger("mTargetSlot9", this.mTargetSlots[8]); } + @Override public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); this.mTargetSlots[0] = aNBT.getInteger("mTargetSlot1"); @@ -85,14 +98,14 @@ public class GT_MetaTileEntity_Regulator @Override public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { - //Regulation per Screwdriver is overridden by GUI regulation. + //Regulation per Screwdriver is overridden by GUI regulation. } + @Override public void moveItems(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) { - int i = 0; - for (int tCosts = 0; i < 9; i++) { + for (int i = 0, tCosts; i < 9; i++) { if (this.mInventory[(i + 9)] != null) { - tCosts = GT_Utility.moveOneItemStackIntoSlot(getBaseMetaTileEntity(), getBaseMetaTileEntity().getTileEntityAtSide(getBaseMetaTileEntity().getBackFacing()), getBaseMetaTileEntity().getBackFacing(), this.mTargetSlots[i], Arrays.asList(new ItemStack[]{this.mInventory[(i + 9)]}), false, (byte) this.mInventory[(i + 9)].stackSize, (byte) this.mInventory[(i + 9)].stackSize, (byte) 64, (byte) 1) * 3; + tCosts = GT_Utility.moveOneItemStackIntoSlot(getBaseMetaTileEntity(), getBaseMetaTileEntity().getTileEntityAtSide(getBaseMetaTileEntity().getBackFacing()), getBaseMetaTileEntity().getBackFacing(), this.mTargetSlots[i], Collections.singletonList(this.mInventory[(i + 9)]), false, (byte) this.mInventory[(i + 9)].stackSize, (byte) this.mInventory[(i + 9)].stackSize, (byte) 64, (byte) 1) * 3; if (tCosts > 0) { this.mSuccess = 50; break; @@ -101,6 +114,7 @@ public class GT_MetaTileEntity_Regulator } } + @Override public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { return (super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack)) && (GT_Utility.areStacksEqual(aStack, this.mInventory[(aIndex + 9)])); } diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java index 84df068972..21cffc2da8 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java @@ -1,21 +1,25 @@ package gregtech.common.tileentities.automation; -import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.objects.GT_MultiTexture; +import gregtech.api.objects.GT_RenderedGlowTexture; import gregtech.api.objects.GT_RenderedTexture; import gregtech.common.gui.GT_Container_SuperBuffer; import gregtech.common.gui.GT_GUIContainer_SuperBuffer; import net.minecraft.entity.player.InventoryPlayer; +import static gregtech.api.enums.Textures.BlockIcons.AUTOMATION_SUPERBUFFER; +import static gregtech.api.enums.Textures.BlockIcons.AUTOMATION_SUPERBUFFER_GLOW; + public class GT_MetaTileEntity_SuperBuffer extends GT_MetaTileEntity_ChestBuffer { public GT_MetaTileEntity_SuperBuffer(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 257, new String[]{ - "Buffers up to 256 Item Stacks", - "Use Screwdriver to regulate output stack size", - "Does not consume energy to move Item", - getTickRateDesc(aTier)}); + "Buffers up to 256 Item Stacks", + "Use Screwdriver to regulate output stack size", + "Does not consume energy to move Item", + getTickRateDesc(aTier)}); } public GT_MetaTileEntity_SuperBuffer(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) { @@ -30,8 +34,11 @@ public class GT_MetaTileEntity_SuperBuffer extends GT_MetaTileEntity_ChestBuffer return new GT_MetaTileEntity_SuperBuffer(this.mName, this.mTier, this.mInventory.length, this.mDescriptionArray, this.mTextures); } + @Override public ITexture getOverlayIcon() { - return new GT_RenderedTexture(Textures.BlockIcons.AUTOMATION_SUPERBUFFER); + return new GT_MultiTexture( + new GT_RenderedTexture(AUTOMATION_SUPERBUFFER), + new GT_RenderedGlowTexture(AUTOMATION_SUPERBUFFER_GLOW)); } public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java index ec60dc00e9..97580d18ae 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java @@ -1,11 +1,12 @@ package gregtech.common.tileentities.automation; import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Buffer; +import gregtech.api.objects.GT_MultiTexture; +import gregtech.api.objects.GT_RenderedGlowTexture; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.objects.ItemData; import gregtech.api.util.GT_OreDictUnificator; @@ -16,6 +17,10 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import static gregtech.api.enums.GT_Values.W; +import static gregtech.api.enums.Textures.BlockIcons.AUTOMATION_TYPEFILTER; +import static gregtech.api.enums.Textures.BlockIcons.AUTOMATION_TYPEFILTER_GLOW; + public class GT_MetaTileEntity_TypeFilter extends GT_MetaTileEntity_Buffer { public boolean bNBTAllowed = false; public boolean bInvertFilter = false; @@ -24,9 +29,9 @@ public class GT_MetaTileEntity_TypeFilter extends GT_MetaTileEntity_Buffer { public GT_MetaTileEntity_TypeFilter(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 11, new String[]{ - "Filters 1 Item Type", - "Use Screwdriver to regulate output stack size", - "Consumes 1 EU per moved Item"}); + "Filters 1 Item Type", + "Use Screwdriver to regulate output stack size", + "Consumes 1 EU per moved Item"}); } public GT_MetaTileEntity_TypeFilter(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) { @@ -37,22 +42,29 @@ public class GT_MetaTileEntity_TypeFilter extends GT_MetaTileEntity_Buffer { super(aName, aTier, aInvSlotCount, aDescription, aTextures); } + @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { return new GT_MetaTileEntity_TypeFilter(this.mName, this.mTier, this.mInventory.length, this.mDescriptionArray, this.mTextures); } + @Override public ITexture getOverlayIcon() { - return new GT_RenderedTexture(Textures.BlockIcons.AUTOMATION_TYPEFILTER); + return new GT_MultiTexture( + new GT_RenderedTexture(AUTOMATION_TYPEFILTER), + new GT_RenderedGlowTexture(AUTOMATION_TYPEFILTER_GLOW)); } + @Override public boolean isValidSlot(int aIndex) { return aIndex < 9; } + @Override public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { return new GT_Container_TypeFilter(aPlayerInventory, aBaseMetaTileEntity); } + @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { return new GT_GUIContainer_TypeFilter(aPlayerInventory, aBaseMetaTileEntity); } @@ -86,21 +98,21 @@ public class GT_MetaTileEntity_TypeFilter extends GT_MetaTileEntity_Buffer { } } + @Override public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { super.onPreTick(aBaseMetaTileEntity, aTick); - if ((getBaseMetaTileEntity().isServerSide()) && ((aTick % 8L == 0L) || mRotationIndex == -1)) { - if (this.mPrefix.mPrefixedItems.isEmpty()) { - this.mInventory[9] = null; - } else { - this.mInventory[9] = GT_Utility.copyAmount(1L, this.mPrefix.mPrefixedItems.get(this.mRotationIndex = (this.mRotationIndex + 1) % this.mPrefix.mPrefixedItems.size())); - if (this.mInventory[9].getItemDamage() == 32767) { - this.mInventory[9].setItemDamage(0); - } - this.mInventory[9].setStackDisplayName(this.mPrefix.toString()); - } + if ((!getBaseMetaTileEntity().isServerSide()) || ((aTick % 8L != 0L) && mRotationIndex != -1)) return; + if (this.mPrefix.mPrefixedItems.isEmpty()) { + this.mInventory[9] = null; + return; } + this.mInventory[9] = GT_Utility.copyAmount(1L, this.mPrefix.mPrefixedItems.get(this.mRotationIndex = (this.mRotationIndex + 1) % this.mPrefix.mPrefixedItems.size())); + if (this.mInventory[9] == null) return; + if (this.mInventory[9].getItemDamage() == W) this.mInventory[9].setItemDamage(0); + this.mInventory[9].setStackDisplayName(this.mPrefix.toString()); } + @Override public void saveNBTData(NBTTagCompound aNBT) { super.saveNBTData(aNBT); aNBT.setString("mPrefix", this.mPrefix.toString()); @@ -108,6 +120,7 @@ public class GT_MetaTileEntity_TypeFilter extends GT_MetaTileEntity_Buffer { aNBT.setBoolean("bNBTAllowed", this.bNBTAllowed); } + @Override public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); this.mPrefix = OrePrefixes.getPrefix(aNBT.getString("mPrefix"), this.mPrefix); @@ -115,6 +128,7 @@ public class GT_MetaTileEntity_TypeFilter extends GT_MetaTileEntity_Buffer { this.bNBTAllowed = aNBT.getBoolean("bNBTAllowed"); } + @Override public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { boolean tAllowPrefix = this.mPrefix.contains(aStack); if (this.mPrefix == OrePrefixes.ore) { -- cgit From 04468545985a4fed401d9b6626670e8af5938920 Mon Sep 17 00:00:00 2001 From: Léa Gris Date: Sat, 8 May 2021 22:31:58 +0200 Subject: fix(render): move new textures rendering to new package Old textures rendering are kept in api/objects for backward compatibility. The old textures rendering does not handle glow textures or independant inventory tessellation. The old textures will only work with the old GT_Renderer_Block class New textures rendering with own tessellation in inventory and handling of glow emisssive textures are moved to the api/render package. These must not be used with the Old GT_Renderer_Block class or it will crash with: Already Tessellating Exception from the Tessellator class --- .../tileentities/automation/GT_MetaTileEntity_ChestBuffer.java | 6 +++--- .../common/tileentities/automation/GT_MetaTileEntity_Filter.java | 6 +++--- .../tileentities/automation/GT_MetaTileEntity_ItemDistributor.java | 6 +++--- .../common/tileentities/automation/GT_MetaTileEntity_Regulator.java | 6 +++--- .../tileentities/automation/GT_MetaTileEntity_SuperBuffer.java | 6 +++--- .../tileentities/automation/GT_MetaTileEntity_TypeFilter.java | 6 +++--- 6 files changed, 18 insertions(+), 18 deletions(-) (limited to 'src/main/java/gregtech/common/tileentities/automation') diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java index c6ba60fdda..f474a11344 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java @@ -4,9 +4,9 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Buffer; -import gregtech.api.objects.GT_MultiTexture; -import gregtech.api.objects.GT_RenderedGlowTexture; -import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.render.GT_MultiTexture; +import gregtech.api.render.GT_RenderedGlowTexture; +import gregtech.api.render.GT_RenderedTexture; import gregtech.api.util.GT_Utility; import gregtech.common.gui.GT_Container_ChestBuffer; import gregtech.common.gui.GT_GUIContainer_ChestBuffer; diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java index 8f7bc96866..1e99cf276f 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java @@ -4,9 +4,9 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Buffer; -import gregtech.api.objects.GT_MultiTexture; -import gregtech.api.objects.GT_RenderedGlowTexture; -import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.render.GT_MultiTexture; +import gregtech.api.render.GT_RenderedGlowTexture; +import gregtech.api.render.GT_RenderedTexture; import gregtech.api.util.GT_Utility; import gregtech.common.gui.GT_Container_Filter; import gregtech.common.gui.GT_GUIContainer_Filter; diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java index e3bd50255d..84091b4555 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java @@ -5,9 +5,9 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Buffer; -import gregtech.api.objects.GT_MultiTexture; -import gregtech.api.objects.GT_RenderedGlowTexture; -import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.render.GT_MultiTexture; +import gregtech.api.render.GT_RenderedGlowTexture; +import gregtech.api.render.GT_RenderedTexture; import gregtech.api.util.GT_Utility; import gregtech.common.gui.GT_Container_ItemDistributor; import gregtech.common.gui.GT_GUIContainer_ItemDistributor; diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java index c2e7e4353c..3caca46f16 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java @@ -4,9 +4,9 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Buffer; -import gregtech.api.objects.GT_MultiTexture; -import gregtech.api.objects.GT_RenderedGlowTexture; -import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.render.GT_MultiTexture; +import gregtech.api.render.GT_RenderedGlowTexture; +import gregtech.api.render.GT_RenderedTexture; import gregtech.api.util.GT_Utility; import gregtech.common.gui.GT_Container_Regulator; import gregtech.common.gui.GT_GUIContainer_Regulator; diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java index 21cffc2da8..a40df346cf 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java @@ -3,9 +3,9 @@ package gregtech.common.tileentities.automation; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.objects.GT_MultiTexture; -import gregtech.api.objects.GT_RenderedGlowTexture; -import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.render.GT_MultiTexture; +import gregtech.api.render.GT_RenderedGlowTexture; +import gregtech.api.render.GT_RenderedTexture; import gregtech.common.gui.GT_Container_SuperBuffer; import gregtech.common.gui.GT_GUIContainer_SuperBuffer; import net.minecraft.entity.player.InventoryPlayer; diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java index 97580d18ae..4e1a9fd2c0 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java @@ -5,9 +5,9 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Buffer; -import gregtech.api.objects.GT_MultiTexture; -import gregtech.api.objects.GT_RenderedGlowTexture; -import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.render.GT_MultiTexture; +import gregtech.api.render.GT_RenderedGlowTexture; +import gregtech.api.render.GT_RenderedTexture; import gregtech.api.objects.ItemData; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; -- cgit From 678c9a6e1e7a3a1127c40ae5c3dda7ef4519bfb7 Mon Sep 17 00:00:00 2001 From: Léa Gris Date: Thu, 20 May 2021 22:57:12 +0200 Subject: feat(render): implementation-free api texture factory Provides an implementation-free API Texture factory an builder. Deprecates gregtech.api.objects.GT_*Texture.java classes Once all GregTech add-on will be migrated to the new implemnetation-free API, changes to the implementation will not affect the add-on. For now, this API allow rendering of in-world glow textures. In-inventory/hand rendering of glow texture require implementation changes that are postponed until no add-on uses the deprecated embedded implementation API. --- .../automation/GT_MetaTileEntity_ChestBuffer.java | 10 ++++------ .../tileentities/automation/GT_MetaTileEntity_Filter.java | 10 ++++------ .../automation/GT_MetaTileEntity_ItemDistributor.java | 12 +++++------- .../tileentities/automation/GT_MetaTileEntity_Regulator.java | 10 ++++------ .../automation/GT_MetaTileEntity_SuperBuffer.java | 10 ++++------ .../automation/GT_MetaTileEntity_TypeFilter.java | 10 ++++------ 6 files changed, 25 insertions(+), 37 deletions(-) (limited to 'src/main/java/gregtech/common/tileentities/automation') diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java index f474a11344..3830cd3497 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java @@ -4,9 +4,7 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Buffer; -import gregtech.api.render.GT_MultiTexture; -import gregtech.api.render.GT_RenderedGlowTexture; -import gregtech.api.render.GT_RenderedTexture; +import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_Utility; import gregtech.common.gui.GT_Container_ChestBuffer; import gregtech.common.gui.GT_GUIContainer_ChestBuffer; @@ -58,9 +56,9 @@ public class GT_MetaTileEntity_ChestBuffer extends GT_MetaTileEntity_Buffer { @Override public ITexture getOverlayIcon() { - return new GT_MultiTexture( - new GT_RenderedTexture(AUTOMATION_CHESTBUFFER), - new GT_RenderedGlowTexture(AUTOMATION_CHESTBUFFER_GLOW)); + return TextureFactory.of( + TextureFactory.of(AUTOMATION_CHESTBUFFER), + TextureFactory.builder().addIcon(AUTOMATION_CHESTBUFFER_GLOW).glow().build()); } @Override diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java index 1e99cf276f..0c5b1dfda8 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java @@ -4,9 +4,7 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Buffer; -import gregtech.api.render.GT_MultiTexture; -import gregtech.api.render.GT_RenderedGlowTexture; -import gregtech.api.render.GT_RenderedTexture; +import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_Utility; import gregtech.common.gui.GT_Container_Filter; import gregtech.common.gui.GT_GUIContainer_Filter; @@ -43,9 +41,9 @@ public class GT_MetaTileEntity_Filter extends GT_MetaTileEntity_Buffer { @Override public ITexture getOverlayIcon() { - return new GT_MultiTexture( - new GT_RenderedTexture(AUTOMATION_FILTER), - new GT_RenderedGlowTexture(AUTOMATION_FILTER_GLOW)); + return TextureFactory.of( + TextureFactory.of(AUTOMATION_FILTER), + TextureFactory.builder().addIcon(AUTOMATION_FILTER_GLOW).glow().build()); } @Override diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java index 84091b4555..c941b73e58 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java @@ -5,9 +5,7 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Buffer; -import gregtech.api.render.GT_MultiTexture; -import gregtech.api.render.GT_RenderedGlowTexture; -import gregtech.api.render.GT_RenderedTexture; +import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_Utility; import gregtech.common.gui.GT_Container_ItemDistributor; import gregtech.common.gui.GT_GUIContainer_ItemDistributor; @@ -71,9 +69,9 @@ public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer @Override public ITexture getOverlayIcon() { - return new GT_MultiTexture( - new GT_RenderedTexture(AUTOMATION_ITEMDISTRIBUTOR), - new GT_RenderedGlowTexture(AUTOMATION_ITEMDISTRIBUTOR_GLOW)); + return TextureFactory.of( + TextureFactory.of(AUTOMATION_ITEMDISTRIBUTOR), + TextureFactory.builder().addIcon(AUTOMATION_ITEMDISTRIBUTOR_GLOW).glow().build()); } @Override @@ -98,7 +96,7 @@ public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer @Override public ITexture[][][] getTextureSet(ITexture[] aTextures) { ITexture[][][] returnTextures = new ITexture[2][17][]; - ITexture baseIcon = getOverlayIcon(), pipeIcon = new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT); + ITexture baseIcon = getOverlayIcon(), pipeIcon = TextureFactory.of(Textures.BlockIcons.OVERLAY_PIPE_OUT); for (int i = 0; i < 17; i++) { returnTextures[0][i] = new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][i], baseIcon}; returnTextures[1][i] = new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][i], pipeIcon, baseIcon}; diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java index 3caca46f16..3bc79f3348 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java @@ -4,9 +4,7 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Buffer; -import gregtech.api.render.GT_MultiTexture; -import gregtech.api.render.GT_RenderedGlowTexture; -import gregtech.api.render.GT_RenderedTexture; +import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_Utility; import gregtech.common.gui.GT_Container_Regulator; import gregtech.common.gui.GT_GUIContainer_Regulator; @@ -48,9 +46,9 @@ public class GT_MetaTileEntity_Regulator @Override public ITexture getOverlayIcon() { - return new GT_MultiTexture( - new GT_RenderedTexture(AUTOMATION_REGULATOR), - new GT_RenderedGlowTexture(AUTOMATION_REGULATOR_GLOW)); + return TextureFactory.of( + TextureFactory.of(AUTOMATION_REGULATOR), + TextureFactory.builder().addIcon(AUTOMATION_REGULATOR_GLOW).glow().build()); } @Override diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java index a40df346cf..72e6516bc4 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java @@ -3,9 +3,7 @@ package gregtech.common.tileentities.automation; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.render.GT_MultiTexture; -import gregtech.api.render.GT_RenderedGlowTexture; -import gregtech.api.render.GT_RenderedTexture; +import gregtech.api.render.TextureFactory; import gregtech.common.gui.GT_Container_SuperBuffer; import gregtech.common.gui.GT_GUIContainer_SuperBuffer; import net.minecraft.entity.player.InventoryPlayer; @@ -36,9 +34,9 @@ public class GT_MetaTileEntity_SuperBuffer extends GT_MetaTileEntity_ChestBuffer @Override public ITexture getOverlayIcon() { - return new GT_MultiTexture( - new GT_RenderedTexture(AUTOMATION_SUPERBUFFER), - new GT_RenderedGlowTexture(AUTOMATION_SUPERBUFFER_GLOW)); + return TextureFactory.of( + TextureFactory.of(AUTOMATION_SUPERBUFFER), + TextureFactory.builder().addIcon(AUTOMATION_SUPERBUFFER_GLOW).glow().build()); } public Object getServerGUI(int aID, InventoryPlayer aPlayerInv