diff --git a/src/main/java/appeng/core/Registration.java b/src/main/java/appeng/core/Registration.java index dc9039de5..c7248b646 100644 --- a/src/main/java/appeng/core/Registration.java +++ b/src/main/java/appeng/core/Registration.java @@ -57,8 +57,8 @@ import appeng.api.parts.IPartHelper; import appeng.capabilities.Capabilities; import appeng.core.features.AEFeature; import appeng.core.features.registries.P2PTunnelRegistry; -import appeng.core.features.registries.entries.BasicCellHandler; -import appeng.core.features.registries.entries.CreativeCellHandler; +import appeng.core.features.registries.cell.BasicCellHandler; +import appeng.core.features.registries.cell.CreativeCellHandler; import appeng.core.localization.GuiText; import appeng.core.localization.PlayerMessages; import appeng.core.stats.PlayerStatsRegistration; diff --git a/src/main/java/appeng/core/features/registries/RegistryContainer.java b/src/main/java/appeng/core/features/registries/RegistryContainer.java index e9f8a728b..dc3c5b3cc 100644 --- a/src/main/java/appeng/core/features/registries/RegistryContainer.java +++ b/src/main/java/appeng/core/features/registries/RegistryContainer.java @@ -34,6 +34,9 @@ import appeng.api.movable.IMovableRegistry; import appeng.api.networking.IGridCacheRegistry; import appeng.api.parts.IPartModels; import appeng.api.storage.ICellRegistry; +import appeng.core.features.registries.cell.CellRegistry; +import appeng.core.features.registries.grinder.GrinderRecipeManager; +import appeng.core.features.registries.inscriber.InscriberRegistry; /** diff --git a/src/main/java/appeng/core/features/registries/entries/BasicCellHandler.java b/src/main/java/appeng/core/features/registries/cell/BasicCellHandler.java similarity index 98% rename from src/main/java/appeng/core/features/registries/entries/BasicCellHandler.java rename to src/main/java/appeng/core/features/registries/cell/BasicCellHandler.java index e65bade5e..e86a04cf8 100644 --- a/src/main/java/appeng/core/features/registries/entries/BasicCellHandler.java +++ b/src/main/java/appeng/core/features/registries/cell/BasicCellHandler.java @@ -16,7 +16,7 @@ * along with Applied Energistics 2. If not, see . */ -package appeng.core.features.registries.entries; +package appeng.core.features.registries.cell; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/appeng/core/features/registries/CellRegistry.java b/src/main/java/appeng/core/features/registries/cell/CellRegistry.java similarity index 97% rename from src/main/java/appeng/core/features/registries/CellRegistry.java rename to src/main/java/appeng/core/features/registries/cell/CellRegistry.java index acaf74ab9..400692a6b 100644 --- a/src/main/java/appeng/core/features/registries/CellRegistry.java +++ b/src/main/java/appeng/core/features/registries/cell/CellRegistry.java @@ -16,7 +16,7 @@ * along with Applied Energistics 2. If not, see . */ -package appeng.core.features.registries; +package appeng.core.features.registries.cell; import java.util.ArrayList; diff --git a/src/main/java/appeng/core/features/registries/entries/CreativeCellHandler.java b/src/main/java/appeng/core/features/registries/cell/CreativeCellHandler.java similarity index 98% rename from src/main/java/appeng/core/features/registries/entries/CreativeCellHandler.java rename to src/main/java/appeng/core/features/registries/cell/CreativeCellHandler.java index 1d30fd015..c33a41199 100644 --- a/src/main/java/appeng/core/features/registries/entries/CreativeCellHandler.java +++ b/src/main/java/appeng/core/features/registries/cell/CreativeCellHandler.java @@ -16,7 +16,7 @@ * along with Applied Energistics 2. If not, see . */ -package appeng.core.features.registries.entries; +package appeng.core.features.registries.cell; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/appeng/core/features/registries/entries/AppEngGrinderRecipe.java b/src/main/java/appeng/core/features/registries/grinder/AppEngGrinderRecipe.java similarity index 82% rename from src/main/java/appeng/core/features/registries/entries/AppEngGrinderRecipe.java rename to src/main/java/appeng/core/features/registries/grinder/AppEngGrinderRecipe.java index 9d615b723..5aeed1336 100644 --- a/src/main/java/appeng/core/features/registries/entries/AppEngGrinderRecipe.java +++ b/src/main/java/appeng/core/features/registries/grinder/AppEngGrinderRecipe.java @@ -16,7 +16,7 @@ * along with Applied Energistics 2. If not, see . */ -package appeng.core.features.registries.entries; +package appeng.core.features.registries.grinder; import java.util.Optional; @@ -40,17 +40,17 @@ public class AppEngGrinderRecipe implements IGrinderRecipe private final int turns; - public AppEngGrinderRecipe( final ItemStack input, final ItemStack output, final int cost ) + AppEngGrinderRecipe( final ItemStack input, final ItemStack output, final int cost ) { this( input, output, null, null, 0, 0, cost ); } - public AppEngGrinderRecipe( final ItemStack input, final ItemStack output, final ItemStack optional, final float chance, final int cost ) + AppEngGrinderRecipe( final ItemStack input, final ItemStack output, final ItemStack optional, final float chance, final int cost ) { this( input, output, optional, null, chance, 0, cost ); } - public AppEngGrinderRecipe( final ItemStack input, final ItemStack output, final ItemStack optional1, final ItemStack optional2, final float chance1, final float chance2, final int cost ) + AppEngGrinderRecipe( final ItemStack input, final ItemStack output, final ItemStack optional1, final ItemStack optional2, final float chance1, final float chance2, final int cost ) { this.in = input; this.out = output; diff --git a/src/main/java/appeng/core/features/registries/GrinderRecipeManager.java b/src/main/java/appeng/core/features/registries/grinder/GrinderRecipeManager.java similarity index 99% rename from src/main/java/appeng/core/features/registries/GrinderRecipeManager.java rename to src/main/java/appeng/core/features/registries/grinder/GrinderRecipeManager.java index adcdd034f..801af81b4 100644 --- a/src/main/java/appeng/core/features/registries/GrinderRecipeManager.java +++ b/src/main/java/appeng/core/features/registries/grinder/GrinderRecipeManager.java @@ -16,7 +16,7 @@ * along with Applied Energistics 2. If not, see . */ -package appeng.core.features.registries; +package appeng.core.features.registries.grinder; import java.util.Collection; @@ -36,7 +36,6 @@ import appeng.api.features.IGrinderRecipe; import appeng.api.features.IGrinderRegistry; import appeng.core.AEConfig; import appeng.core.AELog; -import appeng.core.features.registries.entries.AppEngGrinderRecipe; import appeng.recipes.ores.IOreListener; import appeng.recipes.ores.OreDictionaryHandler; import appeng.util.Platform; diff --git a/src/main/java/appeng/core/features/registries/entries/InscriberInscribeRecipe.java b/src/main/java/appeng/core/features/registries/inscriber/InscriberInscribeRecipe.java similarity index 85% rename from src/main/java/appeng/core/features/registries/entries/InscriberInscribeRecipe.java rename to src/main/java/appeng/core/features/registries/inscriber/InscriberInscribeRecipe.java index de7ce5468..0b367f1c8 100644 --- a/src/main/java/appeng/core/features/registries/entries/InscriberInscribeRecipe.java +++ b/src/main/java/appeng/core/features/registries/inscriber/InscriberInscribeRecipe.java @@ -16,7 +16,7 @@ * along with Applied Energistics 2. If not, see . */ -package appeng.core.features.registries.entries; +package appeng.core.features.registries.inscriber; import java.util.Collection; @@ -38,7 +38,7 @@ import appeng.api.features.InscriberProcessType; */ public class InscriberInscribeRecipe extends InscriberRecipe { - public InscriberInscribeRecipe( @Nonnull final Collection inputs, @Nonnull final ItemStack output, @Nullable final ItemStack top, @Nullable final ItemStack bot ) + InscriberInscribeRecipe( @Nonnull final Collection inputs, @Nonnull final ItemStack output, @Nullable final ItemStack top, @Nullable final ItemStack bot ) { super( inputs, output, top, bot, InscriberProcessType.INSCRIBE ); } diff --git a/src/main/java/appeng/core/features/registries/entries/InscriberRecipe.java b/src/main/java/appeng/core/features/registries/inscriber/InscriberRecipe.java similarity index 92% rename from src/main/java/appeng/core/features/registries/entries/InscriberRecipe.java rename to src/main/java/appeng/core/features/registries/inscriber/InscriberRecipe.java index b5202b10a..a3735a04b 100644 --- a/src/main/java/appeng/core/features/registries/entries/InscriberRecipe.java +++ b/src/main/java/appeng/core/features/registries/inscriber/InscriberRecipe.java @@ -16,7 +16,7 @@ * along with Applied Energistics 2. If not, see . */ -package appeng.core.features.registries.entries; +package appeng.core.features.registries.inscriber; import java.util.ArrayList; @@ -57,7 +57,7 @@ public class InscriberRecipe implements IInscriberRecipe @Nonnull private final InscriberProcessType type; - public InscriberRecipe( @Nonnull final Collection inputs, @Nonnull final ItemStack output, @Nullable final ItemStack top, @Nullable final ItemStack bot, @Nonnull final InscriberProcessType type ) + InscriberRecipe( @Nonnull final Collection inputs, @Nonnull final ItemStack output, @Nullable final ItemStack top, @Nullable final ItemStack bot, @Nonnull final InscriberProcessType type ) { this.inputs = new ArrayList( inputs.size() ); this.inputs.addAll( inputs ); diff --git a/src/main/java/appeng/core/features/registries/InscriberRegistry.java b/src/main/java/appeng/core/features/registries/inscriber/InscriberRegistry.java similarity index 97% rename from src/main/java/appeng/core/features/registries/InscriberRegistry.java rename to src/main/java/appeng/core/features/registries/inscriber/InscriberRegistry.java index 512f81d71..dade498f7 100644 --- a/src/main/java/appeng/core/features/registries/InscriberRegistry.java +++ b/src/main/java/appeng/core/features/registries/inscriber/InscriberRegistry.java @@ -16,7 +16,7 @@ * along with Applied Energistics 2. If not, see . */ -package appeng.core.features.registries; +package appeng.core.features.registries.inscriber; import java.util.ArrayList; @@ -35,7 +35,6 @@ import appeng.api.features.IInscriberRecipe; import appeng.api.features.IInscriberRecipeBuilder; import appeng.api.features.IInscriberRegistry; import appeng.api.features.InscriberProcessType; -import appeng.core.features.registries.entries.InscriberRecipe; /** diff --git a/src/main/java/appeng/recipes/handlers/Inscribe.java b/src/main/java/appeng/recipes/handlers/Inscribe.java index d582719d3..1fd83a7c0 100644 --- a/src/main/java/appeng/recipes/handlers/Inscribe.java +++ b/src/main/java/appeng/recipes/handlers/Inscribe.java @@ -29,8 +29,8 @@ import appeng.api.AEApi; import appeng.api.exceptions.MissingIngredientError; import appeng.api.exceptions.RegistrationError; import appeng.api.features.IInscriberRecipe; +import appeng.api.features.IInscriberRecipeBuilder; import appeng.api.features.InscriberProcessType; -import appeng.core.features.registries.entries.InscriberRecipe; /** @@ -55,6 +55,7 @@ public final class Inscribe extends InscriberProcess return; } + final IInscriberRecipeBuilder builder = AEApi.instance().registries().inscriber().builder(); final ItemStack[] realInput = this.getImprintable().getItemStackSet(); final List inputs = new ArrayList( realInput.length ); Collections.addAll( inputs, realInput ); @@ -63,7 +64,12 @@ public final class Inscribe extends InscriberProcess final ItemStack output = this.getOutput().getItemStack(); final InscriberProcessType type = InscriberProcessType.INSCRIBE; - final IInscriberRecipe recipe = new InscriberRecipe( inputs, output, top, bot, type ); + final IInscriberRecipe recipe = builder.withInputs( inputs ) + .withOutput( output ) + .withTopOptional( top ) + .withBottomOptional( bot ) + .withProcessType( type ) + .build(); AEApi.instance().registries().inscriber().addRecipe( recipe ); } diff --git a/src/main/java/appeng/recipes/handlers/Press.java b/src/main/java/appeng/recipes/handlers/Press.java index 598eed2e8..c66ad9778 100644 --- a/src/main/java/appeng/recipes/handlers/Press.java +++ b/src/main/java/appeng/recipes/handlers/Press.java @@ -29,8 +29,8 @@ import appeng.api.AEApi; import appeng.api.exceptions.MissingIngredientError; import appeng.api.exceptions.RegistrationError; import appeng.api.features.IInscriberRecipe; +import appeng.api.features.IInscriberRecipeBuilder; import appeng.api.features.InscriberProcessType; -import appeng.core.features.registries.entries.InscriberRecipe; /** @@ -55,6 +55,7 @@ public final class Press extends InscriberProcess return; } + final IInscriberRecipeBuilder builder = AEApi.instance().registries().inscriber().builder(); final ItemStack[] realInput = this.getImprintable().getItemStackSet(); final List inputs = new ArrayList( realInput.length ); Collections.addAll( inputs, realInput ); @@ -63,7 +64,12 @@ public final class Press extends InscriberProcess final ItemStack output = this.getOutput().getItemStack(); final InscriberProcessType type = InscriberProcessType.PRESS; - final IInscriberRecipe recipe = new InscriberRecipe( inputs, output, top, bot, type ); + final IInscriberRecipe recipe = builder.withInputs( inputs ) + .withOutput( output ) + .withTopOptional( top ) + .withBottomOptional( bot ) + .withProcessType( type ) + .build(); AEApi.instance().registries().inscriber().addRecipe( recipe ); } diff --git a/src/main/java/appeng/tile/misc/TileInscriber.java b/src/main/java/appeng/tile/misc/TileInscriber.java index b32384164..ef6e168a7 100644 --- a/src/main/java/appeng/tile/misc/TileInscriber.java +++ b/src/main/java/appeng/tile/misc/TileInscriber.java @@ -22,6 +22,7 @@ package appeng.tile.misc; import java.io.IOException; import java.util.EnumSet; import java.util.List; + import javax.annotation.Nullable; import com.google.common.collect.Lists; @@ -45,6 +46,7 @@ import appeng.api.config.Upgrades; import appeng.api.definitions.IComparableDefinition; import appeng.api.definitions.ITileDefinition; import appeng.api.features.IInscriberRecipe; +import appeng.api.features.IInscriberRecipeBuilder; import appeng.api.features.InscriberProcessType; import appeng.api.implementations.IUpgradeableHost; import appeng.api.networking.IGridNode; @@ -56,7 +58,6 @@ import appeng.api.networking.ticking.TickingRequest; import appeng.api.util.AECableType; import appeng.api.util.AEPartLocation; import appeng.api.util.IConfigManager; -import appeng.core.features.registries.entries.InscriberRecipe; import appeng.core.settings.TickRates; import appeng.helpers.Reflected; import appeng.me.GridAccessException; @@ -403,18 +404,28 @@ public class TileInscriber extends AENetworkPowerTile implements IGridTickable, final List inputs = Lists.newArrayList( startingItem ); final InscriberProcessType type = InscriberProcessType.INSCRIBE; - return new InscriberRecipe( inputs, renamedItem, plateA, plateB, type ); + final IInscriberRecipeBuilder builder = AEApi.instance().registries().inscriber().builder(); + return builder.withInputs( inputs ) + .withOutput( renamedItem ) + .withTopOptional( plateA ) + .withBottomOptional( plateB ) + .withProcessType( type ) + .build(); } } for( final IInscriberRecipe recipe : AEApi.instance().registries().inscriber().getRecipes() ) { - final boolean matchA = ( plateA == null && !recipe.getTopOptional().isPresent() ) || ( Platform.itemComparisons().isSameItem( plateA, recipe.getTopOptional().orElse( null ) ) ) && // and... - ( plateB == null && !recipe.getBottomOptional().isPresent() ) | ( Platform.itemComparisons().isSameItem( plateB, recipe.getBottomOptional().orElse( null ) ) ); + final boolean matchA = ( plateA == null && !recipe.getTopOptional().isPresent() ) || ( Platform.itemComparisons().isSameItem( plateA, + recipe.getTopOptional().orElse( null ) ) ) && // and... + ( plateB == null && !recipe.getBottomOptional().isPresent() ) | ( Platform.itemComparisons().isSameItem( plateB, + recipe.getBottomOptional().orElse( null ) ) ); - final boolean matchB = ( plateB == null && !recipe.getTopOptional().isPresent() ) || ( Platform.itemComparisons().isSameItem( plateB, recipe.getTopOptional().orElse( null ) ) ) && // and... - ( plateA == null && !recipe.getBottomOptional().isPresent() ) | ( Platform.itemComparisons().isSameItem( plateA, recipe.getBottomOptional().orElse( null ) ) ); + final boolean matchB = ( plateB == null && !recipe.getTopOptional().isPresent() ) || ( Platform.itemComparisons().isSameItem( plateB, + recipe.getTopOptional().orElse( null ) ) ) && // and... + ( plateA == null && !recipe.getBottomOptional().isPresent() ) | ( Platform.itemComparisons().isSameItem( plateA, + recipe.getBottomOptional().orElse( null ) ) ); if( matchA || matchB ) {