Restructured registry packages (#2703)

Moved larger registries together with their related classes instead of putting unrelated classes into the same package.
This commit is contained in:
yueh 2016-12-14 22:35:52 +01:00 committed by GitHub
parent fb79fd284d
commit db85419702
13 changed files with 51 additions and 27 deletions

View file

@ -57,8 +57,8 @@ import appeng.api.parts.IPartHelper;
import appeng.capabilities.Capabilities; import appeng.capabilities.Capabilities;
import appeng.core.features.AEFeature; import appeng.core.features.AEFeature;
import appeng.core.features.registries.P2PTunnelRegistry; import appeng.core.features.registries.P2PTunnelRegistry;
import appeng.core.features.registries.entries.BasicCellHandler; import appeng.core.features.registries.cell.BasicCellHandler;
import appeng.core.features.registries.entries.CreativeCellHandler; import appeng.core.features.registries.cell.CreativeCellHandler;
import appeng.core.localization.GuiText; import appeng.core.localization.GuiText;
import appeng.core.localization.PlayerMessages; import appeng.core.localization.PlayerMessages;
import appeng.core.stats.PlayerStatsRegistration; import appeng.core.stats.PlayerStatsRegistration;

View file

@ -34,6 +34,9 @@ import appeng.api.movable.IMovableRegistry;
import appeng.api.networking.IGridCacheRegistry; import appeng.api.networking.IGridCacheRegistry;
import appeng.api.parts.IPartModels; import appeng.api.parts.IPartModels;
import appeng.api.storage.ICellRegistry; 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;
/** /**

View file

@ -16,7 +16,7 @@
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>. * along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/ */
package appeng.core.features.registries.entries; package appeng.core.features.registries.cell;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;

View file

@ -16,7 +16,7 @@
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>. * along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/ */
package appeng.core.features.registries; package appeng.core.features.registries.cell;
import java.util.ArrayList; import java.util.ArrayList;

View file

@ -16,7 +16,7 @@
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>. * along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/ */
package appeng.core.features.registries.entries; package appeng.core.features.registries.cell;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;

View file

@ -16,7 +16,7 @@
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>. * along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/ */
package appeng.core.features.registries.entries; package appeng.core.features.registries.grinder;
import java.util.Optional; import java.util.Optional;
@ -40,17 +40,17 @@ public class AppEngGrinderRecipe implements IGrinderRecipe
private final int turns; 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 ); 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 ); 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.in = input;
this.out = output; this.out = output;

View file

@ -16,7 +16,7 @@
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>. * along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/ */
package appeng.core.features.registries; package appeng.core.features.registries.grinder;
import java.util.Collection; import java.util.Collection;
@ -36,7 +36,6 @@ import appeng.api.features.IGrinderRecipe;
import appeng.api.features.IGrinderRegistry; import appeng.api.features.IGrinderRegistry;
import appeng.core.AEConfig; import appeng.core.AEConfig;
import appeng.core.AELog; import appeng.core.AELog;
import appeng.core.features.registries.entries.AppEngGrinderRecipe;
import appeng.recipes.ores.IOreListener; import appeng.recipes.ores.IOreListener;
import appeng.recipes.ores.OreDictionaryHandler; import appeng.recipes.ores.OreDictionaryHandler;
import appeng.util.Platform; import appeng.util.Platform;

View file

@ -16,7 +16,7 @@
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>. * along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/ */
package appeng.core.features.registries.entries; package appeng.core.features.registries.inscriber;
import java.util.Collection; import java.util.Collection;
@ -38,7 +38,7 @@ import appeng.api.features.InscriberProcessType;
*/ */
public class InscriberInscribeRecipe extends InscriberRecipe public class InscriberInscribeRecipe extends InscriberRecipe
{ {
public InscriberInscribeRecipe( @Nonnull final Collection<ItemStack> inputs, @Nonnull final ItemStack output, @Nullable final ItemStack top, @Nullable final ItemStack bot ) InscriberInscribeRecipe( @Nonnull final Collection<ItemStack> inputs, @Nonnull final ItemStack output, @Nullable final ItemStack top, @Nullable final ItemStack bot )
{ {
super( inputs, output, top, bot, InscriberProcessType.INSCRIBE ); super( inputs, output, top, bot, InscriberProcessType.INSCRIBE );
} }

View file

@ -16,7 +16,7 @@
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>. * along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/ */
package appeng.core.features.registries.entries; package appeng.core.features.registries.inscriber;
import java.util.ArrayList; import java.util.ArrayList;
@ -57,7 +57,7 @@ public class InscriberRecipe implements IInscriberRecipe
@Nonnull @Nonnull
private final InscriberProcessType type; private final InscriberProcessType type;
public InscriberRecipe( @Nonnull final Collection<ItemStack> inputs, @Nonnull final ItemStack output, @Nullable final ItemStack top, @Nullable final ItemStack bot, @Nonnull final InscriberProcessType type ) InscriberRecipe( @Nonnull final Collection<ItemStack> inputs, @Nonnull final ItemStack output, @Nullable final ItemStack top, @Nullable final ItemStack bot, @Nonnull final InscriberProcessType type )
{ {
this.inputs = new ArrayList<ItemStack>( inputs.size() ); this.inputs = new ArrayList<ItemStack>( inputs.size() );
this.inputs.addAll( inputs ); this.inputs.addAll( inputs );

View file

@ -16,7 +16,7 @@
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>. * along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/ */
package appeng.core.features.registries; package appeng.core.features.registries.inscriber;
import java.util.ArrayList; import java.util.ArrayList;
@ -35,7 +35,6 @@ import appeng.api.features.IInscriberRecipe;
import appeng.api.features.IInscriberRecipeBuilder; import appeng.api.features.IInscriberRecipeBuilder;
import appeng.api.features.IInscriberRegistry; import appeng.api.features.IInscriberRegistry;
import appeng.api.features.InscriberProcessType; import appeng.api.features.InscriberProcessType;
import appeng.core.features.registries.entries.InscriberRecipe;
/** /**

View file

@ -29,8 +29,8 @@ import appeng.api.AEApi;
import appeng.api.exceptions.MissingIngredientError; import appeng.api.exceptions.MissingIngredientError;
import appeng.api.exceptions.RegistrationError; import appeng.api.exceptions.RegistrationError;
import appeng.api.features.IInscriberRecipe; import appeng.api.features.IInscriberRecipe;
import appeng.api.features.IInscriberRecipeBuilder;
import appeng.api.features.InscriberProcessType; import appeng.api.features.InscriberProcessType;
import appeng.core.features.registries.entries.InscriberRecipe;
/** /**
@ -55,6 +55,7 @@ public final class Inscribe extends InscriberProcess
return; return;
} }
final IInscriberRecipeBuilder builder = AEApi.instance().registries().inscriber().builder();
final ItemStack[] realInput = this.getImprintable().getItemStackSet(); final ItemStack[] realInput = this.getImprintable().getItemStackSet();
final List<ItemStack> inputs = new ArrayList<ItemStack>( realInput.length ); final List<ItemStack> inputs = new ArrayList<ItemStack>( realInput.length );
Collections.addAll( inputs, realInput ); Collections.addAll( inputs, realInput );
@ -63,7 +64,12 @@ public final class Inscribe extends InscriberProcess
final ItemStack output = this.getOutput().getItemStack(); final ItemStack output = this.getOutput().getItemStack();
final InscriberProcessType type = InscriberProcessType.INSCRIBE; 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 ); AEApi.instance().registries().inscriber().addRecipe( recipe );
} }

View file

@ -29,8 +29,8 @@ import appeng.api.AEApi;
import appeng.api.exceptions.MissingIngredientError; import appeng.api.exceptions.MissingIngredientError;
import appeng.api.exceptions.RegistrationError; import appeng.api.exceptions.RegistrationError;
import appeng.api.features.IInscriberRecipe; import appeng.api.features.IInscriberRecipe;
import appeng.api.features.IInscriberRecipeBuilder;
import appeng.api.features.InscriberProcessType; import appeng.api.features.InscriberProcessType;
import appeng.core.features.registries.entries.InscriberRecipe;
/** /**
@ -55,6 +55,7 @@ public final class Press extends InscriberProcess
return; return;
} }
final IInscriberRecipeBuilder builder = AEApi.instance().registries().inscriber().builder();
final ItemStack[] realInput = this.getImprintable().getItemStackSet(); final ItemStack[] realInput = this.getImprintable().getItemStackSet();
final List<ItemStack> inputs = new ArrayList<ItemStack>( realInput.length ); final List<ItemStack> inputs = new ArrayList<ItemStack>( realInput.length );
Collections.addAll( inputs, realInput ); Collections.addAll( inputs, realInput );
@ -63,7 +64,12 @@ public final class Press extends InscriberProcess
final ItemStack output = this.getOutput().getItemStack(); final ItemStack output = this.getOutput().getItemStack();
final InscriberProcessType type = InscriberProcessType.PRESS; 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 ); AEApi.instance().registries().inscriber().addRecipe( recipe );
} }

View file

@ -22,6 +22,7 @@ package appeng.tile.misc;
import java.io.IOException; import java.io.IOException;
import java.util.EnumSet; import java.util.EnumSet;
import java.util.List; import java.util.List;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
@ -45,6 +46,7 @@ import appeng.api.config.Upgrades;
import appeng.api.definitions.IComparableDefinition; import appeng.api.definitions.IComparableDefinition;
import appeng.api.definitions.ITileDefinition; import appeng.api.definitions.ITileDefinition;
import appeng.api.features.IInscriberRecipe; import appeng.api.features.IInscriberRecipe;
import appeng.api.features.IInscriberRecipeBuilder;
import appeng.api.features.InscriberProcessType; import appeng.api.features.InscriberProcessType;
import appeng.api.implementations.IUpgradeableHost; import appeng.api.implementations.IUpgradeableHost;
import appeng.api.networking.IGridNode; import appeng.api.networking.IGridNode;
@ -56,7 +58,6 @@ import appeng.api.networking.ticking.TickingRequest;
import appeng.api.util.AECableType; import appeng.api.util.AECableType;
import appeng.api.util.AEPartLocation; import appeng.api.util.AEPartLocation;
import appeng.api.util.IConfigManager; import appeng.api.util.IConfigManager;
import appeng.core.features.registries.entries.InscriberRecipe;
import appeng.core.settings.TickRates; import appeng.core.settings.TickRates;
import appeng.helpers.Reflected; import appeng.helpers.Reflected;
import appeng.me.GridAccessException; import appeng.me.GridAccessException;
@ -403,18 +404,28 @@ public class TileInscriber extends AENetworkPowerTile implements IGridTickable,
final List<ItemStack> inputs = Lists.newArrayList( startingItem ); final List<ItemStack> inputs = Lists.newArrayList( startingItem );
final InscriberProcessType type = InscriberProcessType.INSCRIBE; 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() ) 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... final boolean matchA = ( plateA == null && !recipe.getTopOptional().isPresent() ) || ( Platform.itemComparisons().isSameItem( plateA,
( plateB == null && !recipe.getBottomOptional().isPresent() ) | ( Platform.itemComparisons().isSameItem( plateB, recipe.getBottomOptional().orElse( null ) ) ); 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... final boolean matchB = ( plateB == null && !recipe.getTopOptional().isPresent() ) || ( Platform.itemComparisons().isSameItem( plateB,
( plateA == null && !recipe.getBottomOptional().isPresent() ) | ( Platform.itemComparisons().isSameItem( plateA, recipe.getBottomOptional().orElse( null ) ) ); recipe.getTopOptional().orElse( null ) ) ) && // and...
( plateA == null && !recipe.getBottomOptional().isPresent() ) | ( Platform.itemComparisons().isSameItem( plateA,
recipe.getBottomOptional().orElse( null ) ) );
if( matchA || matchB ) if( matchA || matchB )
{ {