aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/multitileentity
diff options
context:
space:
mode:
authorRaven Szewczyk <git@eigenraven.me>2023-04-01 20:06:12 +0100
committerGitHub <noreply@github.com>2023-04-01 19:06:12 +0000
commitb088958c9f6935d356b6c087c8e8106b400aa24f (patch)
treebe608fac08ba158f1226a4fb9f5b1ed459bac2a9 /src/main/java/gregtech/api/multitileentity
parente52cd9c3458584e58073df5cd9cde1302994f266 (diff)
downloadGT5-Unofficial-b088958c9f6935d356b6c087c8e8106b400aa24f.tar.gz
GT5-Unofficial-b088958c9f6935d356b6c087c8e8106b400aa24f.tar.bz2
GT5-Unofficial-b088958c9f6935d356b6c087c8e8106b400aa24f.zip
Jabel, Generic injection and mostly automatic code cleanup (#1829)
* Enable Jabel&Generic injection, fix type error caused by this * add missing <> * Infer generic types automatically * Parametrize cast types * Use enhanced for loops * Unnecessary boxing * Unnecessary unboxing * Use Objects.equals * Explicit type can be replaced with `<>` * Collapse identical catch blocks * Add SafeVarargs where applicable * Anonymous type can be replaced with lambda * Use List.sort directly * Lambda can be a method reference * Statement lambda can be an expression lambda * Use string switches * Instanceof pattern matching * Text block can be used * Migrate to enhanced switch * Java style array declarations * Unnecessary toString() * More unnecessary String conversions * Unnecessary modifiers * Unnecessary semicolons * Fix duplicate conditions * Extract common code from if branches * Replace switches with ifs for 1-2 cases * Inner class may be static * Minor performance issues * Replace string appending in loops with string builders * Fix IntelliJ using the wrong empty list method * Use Long.compare * Generic arguments: getSubItems * Generic arguments: getSubBlocks * Raw types warnings * Fix remaining missing generics * Too weak variable type leads to unnecessary cast * Redundant type casts * Redundant array length check * Redundant vararg arrays * Manual min/max implementations * A couple missed inspections * Goodbye explosion power ternary ladder * Apply spotless * Get rid of the other two big ternary ladders * Binary search explosion power * Don't overcomplicate things
Diffstat (limited to 'src/main/java/gregtech/api/multitileentity')
-rw-r--r--src/main/java/gregtech/api/multitileentity/MultiTileEntityBlock.java12
-rw-r--r--src/main/java/gregtech/api/multitileentity/MultiTileEntityBlockInternal.java4
-rw-r--r--src/main/java/gregtech/api/multitileentity/MultiTileEntityItemInternal.java4
-rw-r--r--src/main/java/gregtech/api/multitileentity/MultiTileEntityRegistry.java2
-rw-r--r--src/main/java/gregtech/api/multitileentity/machine/MultiTileBasicMachine.java38
-rw-r--r--src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockController.java7
-rw-r--r--src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockPart.java22
7 files changed, 43 insertions, 46 deletions
diff --git a/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlock.java b/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlock.java
index 81997c1e76..2e6bdca647 100644
--- a/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlock.java
+++ b/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlock.java
@@ -243,8 +243,8 @@ public class MultiTileEntityBlock extends Block
@Override
@SuppressWarnings("unchecked")
- public final void addCollisionBoxesToList(World aWorld, int aX, int aY, int aZ, AxisAlignedBB aAABB, List aList,
- Entity aEntity) {
+ public final void addCollisionBoxesToList(World aWorld, int aX, int aY, int aZ, AxisAlignedBB aAABB,
+ List<AxisAlignedBB> aList, Entity aEntity) {
final TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ);
if (aTileEntity instanceof IMultiTileEntity)
((IMultiTileEntity) aTileEntity).addCollisionBoxesToList(aAABB, aList, aEntity);
@@ -444,9 +444,8 @@ public class MultiTileEntityBlock extends Block
@Override
public Block getFacade(IBlockAccess aWorld, int aX, int aY, int aZ, int side) {
final TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
- if (tTileEntity instanceof CoverableTileEntity) {
+ if (tTileEntity instanceof CoverableTileEntity tile) {
final byte aSide = (byte) side;
- final CoverableTileEntity tile = (CoverableTileEntity) tTileEntity;
if (side != -1) {
final Block facadeBlock = tile.getCoverInfoAtSide(aSide)
.getFacadeBlock();
@@ -469,9 +468,8 @@ public class MultiTileEntityBlock extends Block
@Override
public int getFacadeMetadata(IBlockAccess aWorld, int aX, int aY, int aZ, int side) {
final TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
- if (tTileEntity instanceof CoverableTileEntity) {
+ if (tTileEntity instanceof CoverableTileEntity tile) {
final byte aSide = (byte) side;
- final CoverableTileEntity tile = (CoverableTileEntity) tTileEntity;
if (side != -1) {
final CoverInfo coverInfo = tile.getCoverInfoAtSide(aSide);
final Block facadeBlock = coverInfo.getFacadeBlock();
@@ -518,7 +516,7 @@ public class MultiTileEntityBlock extends Block
}
@Override
- public final void getSubBlocks(Item aItem, CreativeTabs aCreativeTab, List aList) {
+ public final void getSubBlocks(Item aItem, CreativeTabs aCreativeTab, List<ItemStack> aList) {
/**/
}
diff --git a/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlockInternal.java b/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlockInternal.java
index 690430b673..91855aae55 100644
--- a/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlockInternal.java
+++ b/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlockInternal.java
@@ -74,7 +74,7 @@ public class MultiTileEntityBlockInternal extends Block implements IRenderedBloc
// TileEntity should not refresh yet! -Greg
((IMultiTileEntity) aMTEContainer.mTileEntity).setShouldRefresh(false);
// Fake-Set the TileEntity first, bypassing a lot of checks. -Greg
- setTileEntity(aWorld, aX, aY, aZ, (TileEntity) aMTEContainer.mTileEntity, false);
+ setTileEntity(aWorld, aX, aY, aZ, aMTEContainer.mTileEntity, false);
// Now set the Block with the REAL MetaData. -Greg
setTileEntity(aWorld, aX, aY, aZ, aMTEContainer.mBlock, aMTEContainer.mBlockMetaData, 0, false);
// When the TileEntity is set now it SHOULD refresh! -Greg
@@ -85,7 +85,7 @@ public class MultiTileEntityBlockInternal extends Block implements IRenderedBloc
return false;
}
// And finally properly set the TileEntity for real! -Greg
- setTileEntity(aWorld, aX, aY, aZ, (TileEntity) aMTEContainer.mTileEntity, aCauseBlockUpdates);
+ setTileEntity(aWorld, aX, aY, aZ, aMTEContainer.mTileEntity, aCauseBlockUpdates);
// Yep, all this just to set one Block and its TileEntity properly... -Greg
try {
diff --git a/src/main/java/gregtech/api/multitileentity/MultiTileEntityItemInternal.java b/src/main/java/gregtech/api/multitileentity/MultiTileEntityItemInternal.java
index 23ad00dabd..1f3c2dd5ca 100644
--- a/src/main/java/gregtech/api/multitileentity/MultiTileEntityItemInternal.java
+++ b/src/main/java/gregtech/api/multitileentity/MultiTileEntityItemInternal.java
@@ -49,7 +49,7 @@ public class MultiTileEntityItemInternal extends ItemBlock implements IFluidCont
@Override
@SuppressWarnings("unchecked")
- public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) {
+ public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List<String> aList, boolean aF3_H) {
final MultiTileEntityContainer tTileEntityContainer = mBlock.mMultiTileEntityRegistry.getNewTileEntityContainer(
aStack);
if (tTileEntityContainer == null) {
@@ -71,7 +71,7 @@ public class MultiTileEntityItemInternal extends ItemBlock implements IFluidCont
@Override
@SideOnly(Side.CLIENT)
@SuppressWarnings("unchecked")
- public void getSubItems(Item aItem, CreativeTabs aTab, List aList) {
+ public void getSubItems(Item aItem, CreativeTabs aTab, List<ItemStack> aList) {
for (MultiTileEntityClassContainer tClass : mBlock.mMultiTileEntityRegistry.mRegistrations) {
if (!tClass.mHidden) {
if (((IMultiTileEntity) tClass.mCanonicalTileEntity).getSubItems(
diff --git a/src/main/java/gregtech/api/multitileentity/MultiTileEntityRegistry.java b/src/main/java/gregtech/api/multitileentity/MultiTileEntityRegistry.java
index 56414dfb4e..1aeed1b3de 100644
--- a/src/main/java/gregtech/api/multitileentity/MultiTileEntityRegistry.java
+++ b/src/main/java/gregtech/api/multitileentity/MultiTileEntityRegistry.java
@@ -219,7 +219,7 @@ public class MultiTileEntityRegistry {
public TileEntity getNewTileEntity(int aID) {
final MultiTileEntityContainer tContainer = getNewTileEntityContainer(null, 0, 0, 0, aID, null);
- return tContainer == null ? null : (TileEntity) tContainer.mTileEntity;
+ return tContainer == null ? null : tContainer.mTileEntity;
}
public MultiTileEntityContainer getNewTileEntityContainer(World aWorld, int aX, int aY, int aZ, int aID,
diff --git a/src/main/java/gregtech/api/multitileentity/machine/MultiTileBasicMachine.java b/src/main/java/gregtech/api/multitileentity/machine/MultiTileBasicMachine.java
index 8d96ff58f5..740496a8b6 100644
--- a/src/main/java/gregtech/api/multitileentity/machine/MultiTileBasicMachine.java
+++ b/src/main/java/gregtech/api/multitileentity/machine/MultiTileBasicMachine.java
@@ -451,7 +451,7 @@ public abstract class MultiTileBasicMachine extends TickableMultiTileEntity impl
/**
* Runs only on server side
- *
+ *
* @param tick The current tick of the machine
*/
protected void runMachine(long tick) {
@@ -483,7 +483,7 @@ public abstract class MultiTileBasicMachine extends TickableMultiTileEntity impl
/**
* Runs only on server side
- *
+ *
* @param tick The current tick of the machine
*/
protected void runningTick(long tick) {
@@ -569,13 +569,17 @@ public abstract class MultiTileBasicMachine extends TickableMultiTileEntity impl
public void doSound(byte aIndex, double aX, double aY, double aZ) {
switch (aIndex) {
- case PROCESS_START_SOUND_INDEX:
+ case PROCESS_START_SOUND_INDEX -> {
if (getProcessStartSound() != null)
GT_Utility.doSoundAtClient(getProcessStartSound(), getTimeBetweenProcessSounds(), 1.0F, aX, aY, aZ);
- break;
- case INTERRUPT_SOUND_INDEX:
- GT_Utility.doSoundAtClient(SoundResource.IC2_MACHINES_INTERRUPT_ONE, 100, 1.0F, aX, aY, aZ);
- break;
+ }
+ case INTERRUPT_SOUND_INDEX -> GT_Utility.doSoundAtClient(
+ SoundResource.IC2_MACHINES_INTERRUPT_ONE,
+ 100,
+ 1.0F,
+ aX,
+ aY,
+ aZ);
}
}
@@ -854,7 +858,7 @@ public abstract class MultiTileBasicMachine extends TickableMultiTileEntity impl
this.soundEventValue = soundEventValue;
if (isClientSide()) {
switch (soundEventValue) {
- case PROCESS_START_SOUND_INDEX:
+ case PROCESS_START_SOUND_INDEX -> {
if (getProcessStartSound() != null) GT_Utility.doSoundAtClient(
getProcessStartSound(),
getTimeBetweenProcessSounds(),
@@ -862,16 +866,14 @@ public abstract class MultiTileBasicMachine extends TickableMultiTileEntity impl
getXCoord(),
getYCoord(),
getZCoord());
- break;
- case INTERRUPT_SOUND_INDEX:
- GT_Utility.doSoundAtClient(
- SoundResource.IC2_MACHINES_INTERRUPT_ONE,
- 100,
- 1.0F,
- getXCoord(),
- getYCoord(),
- getZCoord());
- break;
+ }
+ case INTERRUPT_SOUND_INDEX -> GT_Utility.doSoundAtClient(
+ SoundResource.IC2_MACHINES_INTERRUPT_ONE,
+ 100,
+ 1.0F,
+ getXCoord(),
+ getYCoord(),
+ getZCoord());
}
}
}
diff --git a/src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockController.java b/src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockController.java
index 72e766d54c..b76dc1b4bc 100644
--- a/src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockController.java
+++ b/src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockController.java
@@ -656,9 +656,8 @@ public abstract class MultiBlockController<T extends MultiBlockController<T>> ex
@Override
public boolean check(S t, World world, int x, int y, int z) {
final TileEntity tileEntity = world.getTileEntity(x, y, z);
- if (!(tileEntity instanceof MultiBlockPart)) return false;
+ if (!(tileEntity instanceof MultiBlockPart part)) return false;
- final MultiBlockPart part = (MultiBlockPart) tileEntity;
if (registryID != part.getMultiTileEntityRegistryID() || meta != part.getMultiTileEntityID())
return false;
@@ -974,7 +973,7 @@ public abstract class MultiBlockController<T extends MultiBlockController<T>> ex
if (tInv == null) return false;
final int tSlot = tInv.getRight();
- final IItemHandlerModifiable inv = tInv.getLeft();;
+ final IItemHandlerModifiable inv = tInv.getLeft();
return inv.getStackInSlot(tSlot) == null || GT_Utility.areStacksEqual(aStack, inv.getStackInSlot(tSlot)); // &&
// allowPutStack(getBaseMetaTileEntity(),
@@ -1441,7 +1440,7 @@ public abstract class MultiBlockController<T extends MultiBlockController<T>> ex
buttons.setSize(16, 167)
.setPos(7, 86);
buttons.addChild(createPowerSwitchButton())
- .addChild(new FakeSyncWidget.BooleanSyncer(() -> isAllowedToWork(), val -> {
+ .addChild(new FakeSyncWidget.BooleanSyncer(this::isAllowedToWork, val -> {
if (val) enableWorking();
else disableWorking();
}))
diff --git a/src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockPart.java b/src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockPart.java
index 0ea8cd77c8..953fc42f56 100644
--- a/src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockPart.java
+++ b/src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockPart.java
@@ -674,18 +674,16 @@ public abstract class MultiBlockPart extends NonTickableMultiTileEntity
DropDownWidget dropDown = new DropDownWidget();
dropDown.addDropDownItemsSimple(
controller.getInventoryNames(this),
- (buttonWidget, index, label, setSelected) -> {
- buttonWidget.setOnClick((clickData, widget) -> {
- if (getNameOfInventoryFromIndex(controller, index).equals("all")) {
- mLockedInventory = GT_Values.E;
- mLockedInventoryIndex = 0;
- } else {
- mLockedInventory = getNameOfInventoryFromIndex(controller, index);
- mLockedInventoryIndex = index;
- }
- setSelected.run();
- });
- },
+ (buttonWidget, index, label, setSelected) -> buttonWidget.setOnClick((clickData, widget) -> {
+ if (getNameOfInventoryFromIndex(controller, index).equals("all")) {
+ mLockedInventory = GT_Values.E;
+ mLockedInventoryIndex = 0;
+ } else {
+ mLockedInventory = getNameOfInventoryFromIndex(controller, index);
+ mLockedInventoryIndex = index;
+ }
+ setSelected.run();
+ }),
true);
builder.widget(
dropDown.setSelected(mLockedInventoryIndex)