diff --git a/src/api/java/appeng/api/util/AEColor.java b/src/api/java/appeng/api/util/AEColor.java index 8f503d715..30cc1920d 100644 --- a/src/api/java/appeng/api/util/AEColor.java +++ b/src/api/java/appeng/api/util/AEColor.java @@ -39,39 +39,39 @@ import net.minecraft.item.DyeColor; public enum AEColor { - WHITE( "gui.appliedenergistics2.White", "white_", DyeColor.WHITE, 0xBEBEBE, 0xDBDBDB, 0xFAFAFA ), + WHITE( "gui.appliedenergistics2.White", "white", DyeColor.WHITE, 0xBEBEBE, 0xDBDBDB, 0xFAFAFA ), - ORANGE( "gui.appliedenergistics2.Orange", "orange_", DyeColor.ORANGE, 0xF99739, 0xFAAE44, 0xF4DEC3 ), + ORANGE( "gui.appliedenergistics2.Orange", "orange", DyeColor.ORANGE, 0xF99739, 0xFAAE44, 0xF4DEC3 ), - MAGENTA( "gui.appliedenergistics2.Magenta", "magenta_", DyeColor.MAGENTA, 0x821E82, 0xB82AB8, 0xC598C8 ), + MAGENTA( "gui.appliedenergistics2.Magenta", "magenta", DyeColor.MAGENTA, 0x821E82, 0xB82AB8, 0xC598C8 ), - LIGHT_BLUE( "gui.appliedenergistics2.LightBlue", "light_blue_", DyeColor.LIGHT_BLUE, 0x628DCB, 0x82ACE7, 0xD8F6FF ), + LIGHT_BLUE( "gui.appliedenergistics2.LightBlue", "light_blue", DyeColor.LIGHT_BLUE, 0x628DCB, 0x82ACE7, 0xD8F6FF ), - YELLOW( "gui.appliedenergistics2.Yellow", "yellow_", DyeColor.YELLOW, 0xFFF7AA, 0xF8FF4A, 0xFFFFE8 ), + YELLOW( "gui.appliedenergistics2.Yellow", "yellow", DyeColor.YELLOW, 0xFFF7AA, 0xF8FF4A, 0xFFFFE8 ), - LIME( "gui.appliedenergistics2.Lime", "lime_", DyeColor.LIME, 0x7CFF4A, 0xBBFF51, 0xE7F7D7 ), + LIME( "gui.appliedenergistics2.Lime", "lime", DyeColor.LIME, 0x7CFF4A, 0xBBFF51, 0xE7F7D7 ), - PINK( "gui.appliedenergistics2.Pink", "pink_", DyeColor.PINK, 0xDC8DB5, 0xF8B5D7, 0xF7DEEB ), + PINK( "gui.appliedenergistics2.Pink", "pink", DyeColor.PINK, 0xDC8DB5, 0xF8B5D7, 0xF7DEEB ), - GRAY( "gui.appliedenergistics2.Gray", "gray_", DyeColor.GRAY, 0x7C7C7C, 0xA0A0A0, 0xC9C9C9 ), + GRAY( "gui.appliedenergistics2.Gray", "gray", DyeColor.GRAY, 0x7C7C7C, 0xA0A0A0, 0xC9C9C9 ), - LIGHT_GRAY( "gui.appliedenergistics2.LightGray", "light_gray_", DyeColor.LIGHT_GRAY, 0x9D9D9D, 0xCDCDCD, 0xEFEFEF ), + LIGHT_GRAY( "gui.appliedenergistics2.LightGray", "light_gray", DyeColor.LIGHT_GRAY, 0x9D9D9D, 0xCDCDCD, 0xEFEFEF ), - CYAN( "gui.appliedenergistics2.Cyan", "cyan_", DyeColor.CYAN, 0x2F9BA5, 0x51AAC6, 0xAEDDF4 ), + CYAN( "gui.appliedenergistics2.Cyan", "cyan", DyeColor.CYAN, 0x2F9BA5, 0x51AAC6, 0xAEDDF4 ), - PURPLE( "gui.appliedenergistics2.Purple", "purple_", DyeColor.PURPLE, 0x8230B2, 0xA453CE, 0xC7A3CC ), + PURPLE( "gui.appliedenergistics2.Purple", "purple", DyeColor.PURPLE, 0x8230B2, 0xA453CE, 0xC7A3CC ), - BLUE( "gui.appliedenergistics2.Blue", "blue_", DyeColor.BLUE, 0x2D29A0, 0x514AFF, 0xDDE6FF ), + BLUE( "gui.appliedenergistics2.Blue", "blue", DyeColor.BLUE, 0x2D29A0, 0x514AFF, 0xDDE6FF ), - BROWN( "gui.appliedenergistics2.Brown", "brown_", DyeColor.BROWN, 0x724E35, 0xB7967F, 0xE0D2C8 ), + BROWN( "gui.appliedenergistics2.Brown", "brown", DyeColor.BROWN, 0x724E35, 0xB7967F, 0xE0D2C8 ), - GREEN( "gui.appliedenergistics2.Green", "green_", DyeColor.GREEN, 0x45A021, 0x60E32E, 0xE3F2E3 ), + GREEN( "gui.appliedenergistics2.Green", "green", DyeColor.GREEN, 0x45A021, 0x60E32E, 0xE3F2E3 ), - RED( "gui.appliedenergistics2.Red", "red_", DyeColor.RED, 0xA50029, 0xFF003C, 0xFFE6ED ), + RED( "gui.appliedenergistics2.Red", "red", DyeColor.RED, 0xA50029, 0xFF003C, 0xFFE6ED ), - BLACK( "gui.appliedenergistics2.Black", "black_", DyeColor.BLACK, 0x2B2B2B, 0x565656, 0x848484 ), + BLACK( "gui.appliedenergistics2.Black", "black", DyeColor.BLACK, 0x2B2B2B, 0x565656, 0x848484 ), - TRANSPARENT( "gui.appliedenergistics2.Fluix", "", null, 0x1B2344, 0x895CA8, 0xD7BBEC ); + TRANSPARENT( "gui.appliedenergistics2.Fluix", "fluix", null, 0x1B2344, 0x895CA8, 0xD7BBEC ); public static final List VALID_COLORS = Arrays.asList( WHITE, ORANGE, MAGENTA, LIGHT_BLUE, YELLOW, LIME, PINK, GRAY, LIGHT_GRAY, CYAN, PURPLE, BLUE, BROWN, GREEN, RED, BLACK ); diff --git a/src/main/java/appeng/block/AEBaseBlockItem.java b/src/main/java/appeng/block/AEBaseBlockItem.java index 8777c3ad3..1070aacef 100644 --- a/src/main/java/appeng/block/AEBaseBlockItem.java +++ b/src/main/java/appeng/block/AEBaseBlockItem.java @@ -23,7 +23,9 @@ import java.util.List; import appeng.api.util.IOrientable; import appeng.api.util.IOrientableBlock; +import appeng.block.misc.BlockLightDetector; import appeng.block.misc.BlockSkyCompass; +import appeng.block.networking.BlockWireless; import appeng.me.helpers.IGridProxyable; import appeng.tile.AEBaseTile; import net.minecraft.block.Block; @@ -89,19 +91,19 @@ public class AEBaseBlockItem extends BlockItem if( this.blockType instanceof AEBaseTileBlock ) { - // FIXME if( this.blockType instanceof BlockLightDetector ) - // FIXME { - // FIXME up = side; - // FIXME if( up == Direction.UP || up == Direction.DOWN ) - // FIXME { - // FIXME forward = Direction.SOUTH; - // FIXME } - // FIXME else - // FIXME { - // FIXME forward = Direction.UP; - // FIXME } - // FIXME } - /* FIXME else */ if( /*this.blockType instanceof BlockWireless ||*/ this.blockType instanceof BlockSkyCompass) + if( this.blockType instanceof BlockLightDetector) + { + up = side; + if( up == Direction.UP || up == Direction.DOWN ) + { + forward = Direction.SOUTH; + } + else + { + forward = Direction.UP; + } + } + else if( this.blockType instanceof BlockWireless || this.blockType instanceof BlockSkyCompass) { forward = side; if( forward == Direction.UP || forward == Direction.DOWN ) @@ -116,36 +118,16 @@ public class AEBaseBlockItem extends BlockItem else { up = Direction.UP; + forward = context.getPlacementHorizontalFacing(); - // FIXME: investigate placementYaw - final byte rotation = (byte) ( MathHelper.floor( ( player.rotationYaw * 4F ) / 360F + 2.5D ) & 3 ); - - switch( rotation ) - { - default: - case 0: - forward = Direction.SOUTH; - break; - case 1: - forward = Direction.WEST; - break; - case 2: - forward = Direction.NORTH; - break; - case 3: - forward = Direction.EAST; - break; - } - - if( player.rotationPitch > 65 ) - { - up = forward.getOpposite(); - forward = Direction.UP; - } - else if( player.rotationPitch < -65 ) - { - up = forward.getOpposite(); - forward = Direction.DOWN; + if (player != null) { + if (player.rotationPitch > 65) { + up = forward.getOpposite(); + forward = Direction.UP; + } else if (player.rotationPitch < -65) { + up = forward.getOpposite(); + forward = Direction.DOWN; + } } } } @@ -172,7 +154,7 @@ public class AEBaseBlockItem extends BlockItem return result; } - if( this.blockType instanceof AEBaseTileBlock /* FIXME && !( this.blockType instanceof BlockLightDetector ) */ ) + if( this.blockType instanceof AEBaseTileBlock && !( this.blockType instanceof BlockLightDetector ) ) { final AEBaseTile tile = ( (AEBaseTileBlock) this.blockType ).getTileEntity( context.getWorld(), context.getPos() ); ori = tile; diff --git a/src/main/java/appeng/block/AEBaseTileBlock.java b/src/main/java/appeng/block/AEBaseTileBlock.java index 01ff0700e..a8023ad0d 100644 --- a/src/main/java/appeng/block/AEBaseTileBlock.java +++ b/src/main/java/appeng/block/AEBaseTileBlock.java @@ -19,52 +19,42 @@ package appeng.block; -import java.util.ArrayList; -import java.util.List; -import java.util.function.Supplier; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - -import appeng.block.networking.BlockCableBus; -import appeng.client.render.FacingToRotation; -import appeng.tile.networking.TileCableBus; -import appeng.tile.storage.TileSkyChest; -import com.google.common.collect.Lists; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockState; -import net.minecraft.entity.LivingEntity; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.DyeColor; -import net.minecraft.item.ItemGroup; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.CompoundNBT; -import net.minecraft.state.EnumProperty; -import net.minecraft.state.StateContainer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ActionResultType; -import net.minecraft.util.Direction; -import net.minecraft.util.Hand; -import net.minecraft.util.NonNullList; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; -import net.minecraft.world.IBlockReader; -import net.minecraft.world.IWorld; -import net.minecraft.world.World; -import net.minecraftforge.client.model.data.ModelProperty; -import net.minecraftforge.items.ItemHandlerHelper; - import appeng.api.implementations.items.IMemoryCard; import appeng.api.implementations.items.MemoryCardMessages; import appeng.api.implementations.tiles.IColorableTile; import appeng.api.util.AEColor; import appeng.api.util.IOrientable; +import appeng.block.networking.BlockCableBus; import appeng.tile.AEBaseInvTile; import appeng.tile.AEBaseTile; +import appeng.tile.networking.TileCableBus; +import appeng.tile.storage.TileSkyChest; import appeng.util.Platform; import appeng.util.SettingsFrom; +import com.google.common.collect.Lists; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.DyeColor; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompoundNBT; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ActionResultType; +import net.minecraft.util.Direction; +import net.minecraft.util.Hand; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.world.IBlockReader; +import net.minecraft.world.IWorld; +import net.minecraft.world.World; +import net.minecraftforge.items.ItemHandlerHelper; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.util.ArrayList; +import java.util.List; +import java.util.function.Supplier; public abstract class AEBaseTileBlock extends AEBaseBlock { diff --git a/src/main/java/appeng/block/networking/BlockCableBus.java b/src/main/java/appeng/block/networking/BlockCableBus.java index 321287cf4..ec62a09d0 100644 --- a/src/main/java/appeng/block/networking/BlockCableBus.java +++ b/src/main/java/appeng/block/networking/BlockCableBus.java @@ -51,6 +51,7 @@ import net.minecraft.item.BlockItemUseContext; import net.minecraft.item.DyeColor; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; +import net.minecraft.state.BooleanProperty; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ActionResultType; import net.minecraft.util.Direction; @@ -74,22 +75,12 @@ import java.util.List; import java.util.Random; -public class BlockCableBus extends AEBaseTileBlock /* FIXME implements IAEFacade */ -{ +public class BlockCableBus extends AEBaseTileBlock /* FIXME implements IAEFacade */ { private static final ICableBusContainer NULL_CABLE_BUS = new NullCableBusContainer(); - private static Class noTesrTile; - - private static Class tesrTile; - - public BlockCableBus() - { - super( Properties.create(AEGlassMaterial.INSTANCE).notSolid() ); - - // this will actually be overwritten later through setupTile and the - // combined layers - // FIXME ...uh this.setTileEntity( TileCableBus.class, TileCableBus::new ); + public BlockCableBus() { + super(Properties.create(AEGlassMaterial.INSTANCE).notSolid()); } @Override @@ -98,56 +89,50 @@ public class BlockCableBus extends AEBaseTileBlock /* FIXME implem } @Override - public void animateTick( final BlockState state, final World worldIn, final BlockPos pos, final Random rand ) - { - this.cb( worldIn, pos ).animateTick( worldIn, pos, rand ); + public void animateTick(final BlockState state, final World worldIn, final BlockPos pos, final Random rand) { + this.cb(worldIn, pos).animateTick(worldIn, pos, rand); } @Override public void onNeighborChange(BlockState state, IWorldReader w, BlockPos pos, BlockPos neighbor) { - this.cb( w, pos ).onNeighborChanged( w, pos, neighbor ); + this.cb(w, pos).onNeighborChanged(w, pos, neighbor); } @Override - public int getWeakPower( final BlockState state, final IBlockReader w, final BlockPos pos, final Direction side ) - { - return this.cb( w, pos ).isProvidingWeakPower( side.getOpposite() ); // TODO: + public int getWeakPower(final BlockState state, final IBlockReader w, final BlockPos pos, final Direction side) { + return this.cb(w, pos).isProvidingWeakPower(side.getOpposite()); // TODO: // IS // OPPOSITE!? } @Override - public boolean canProvidePower( final BlockState state ) - { + public boolean canProvidePower(final BlockState state) { return true; } @Override public void onEntityCollision(BlockState state, World w, BlockPos pos, Entity entityIn) { - this.cb( w, pos ).onEntityCollision( entityIn ); + this.cb(w, pos).onEntityCollision(entityIn); } @Override - public int getStrongPower( final BlockState state, final IBlockReader w, final BlockPos pos, final Direction side ) - { - return this.cb( w, pos ).isProvidingStrongPower( side.getOpposite() ); // TODO: + public int getStrongPower(final BlockState state, final IBlockReader w, final BlockPos pos, final Direction side) { + return this.cb(w, pos).isProvidingStrongPower(side.getOpposite()); // TODO: // IS // OPPOSITE!? } @Override - public int getLightValue( final BlockState state, final IBlockReader world, final BlockPos pos ) - { - if( state.getBlock() != this ) - { - return state.getBlock().getLightValue( state, world, pos ); + public int getLightValue(final BlockState state, final IBlockReader world, final BlockPos pos) { + if (state.getBlock() != this) { + return state.getBlock().getLightValue(state, world, pos); } - return this.cb( world, pos ).getLightValue(); + return this.cb(world, pos).getLightValue(); } @Override public boolean isLadder(BlockState state, IWorldReader world, BlockPos pos, LivingEntity entity) { - return this.cb( world, pos ).isLadder( entity ); + return this.cb(world, pos).isLadder(entity); } // FIXME: This is now derived from the collision shape, and cannot be decided programatically anymore. @@ -162,45 +147,38 @@ public class BlockCableBus extends AEBaseTileBlock /* FIXME implem @Override public boolean isReplaceable(BlockState state, BlockItemUseContext useContext) { // FIXME: Potentially check the fluid one too - return super.isReplaceable(state, useContext) && this.cb( useContext.getWorld(), useContext.getPos() ).isEmpty(); + return super.isReplaceable(state, useContext) && this.cb(useContext.getWorld(), useContext.getPos()).isEmpty(); } @Override public boolean removedByPlayer(BlockState state, World world, BlockPos pos, PlayerEntity player, boolean willHarvest, IFluidState fluid) { - if( player.abilities.isCreativeMode ) - { - final AEBaseTile tile = this.getTileEntity( world, pos ); - if( tile != null ) - { + if (player.abilities.isCreativeMode) { + final AEBaseTile tile = this.getTileEntity(world, pos); + if (tile != null) { tile.disableDrops(); } // maybe ray trace? } - return super.removedByPlayer( state, world, pos, player, willHarvest, fluid ); + return super.removedByPlayer(state, world, pos, player, willHarvest, fluid); } @Override - public boolean canConnectRedstone( final BlockState state, final IBlockReader w, final BlockPos pos, Direction side ) - { - if( side == null ) - { + public boolean canConnectRedstone(final BlockState state, final IBlockReader w, final BlockPos pos, Direction side) { + if (side == null) { side = Direction.UP; } - return this.cb( w, pos ).canConnectRedstone( EnumSet.of( side ) ); + return this.cb(w, pos).canConnectRedstone(EnumSet.of(side)); } @Override public ItemStack getPickBlock(BlockState state, RayTraceResult target, IBlockReader world, BlockPos pos, PlayerEntity player) { - final Vec3d v3 = target.getHitVec().subtract( pos.getX(), pos.getY(), pos.getZ() ); - final SelectedPart sp = this.cb( world, pos ).selectPart( v3 ); + final Vec3d v3 = target.getHitVec().subtract(pos.getX(), pos.getY(), pos.getZ()); + final SelectedPart sp = this.cb(world, pos).selectPart(v3); - if( sp.part != null ) - { - return sp.part.getItemStack( PartItemStack.PICK ); - } - else if( sp.facade != null ) - { + if (sp.part != null) { + return sp.part.getItemStack(PartItemStack.PICK); + } else if (sp.facade != null) { return sp.facade.getItemStack(); } @@ -208,14 +186,12 @@ public class BlockCableBus extends AEBaseTileBlock /* FIXME implem } @Override - @OnlyIn( Dist.CLIENT ) - public boolean addHitEffects( final BlockState state, final World world, final RayTraceResult target, final ParticleManager effectRenderer ) - { + @OnlyIn(Dist.CLIENT) + public boolean addHitEffects(final BlockState state, final World world, final RayTraceResult target, final ParticleManager effectRenderer) { // Half the particle rate. Since we're spawning concentrated on a specific spot, // our particle effect otherwise looks too strong - if( Platform.getRandom().nextBoolean() ) - { + if (Platform.getRandom().nextBoolean()) { return true; } @@ -224,14 +200,13 @@ public class BlockCableBus extends AEBaseTileBlock /* FIXME implem } BlockPos blockPos = new BlockPos(target.getHitVec().x, target.getHitVec().y, target.getHitVec().z); - ICableBusContainer cb = this.cb( world, blockPos ); + ICableBusContainer cb = this.cb(world, blockPos); // Our built-in model has the actual baked sprites we need - IBakedModel model = Minecraft.getInstance().getBlockRendererDispatcher().getModelForState( this.getDefaultState() ); + IBakedModel model = Minecraft.getInstance().getBlockRendererDispatcher().getModelForState(this.getDefaultState()); // We cannot add the effect if we don't have the model - if( !( model instanceof CableBusBakedModel ) ) - { + if (!(model instanceof CableBusBakedModel)) { return true; } @@ -240,15 +215,14 @@ public class BlockCableBus extends AEBaseTileBlock /* FIXME implem CableBusRenderState renderState = cb.getRenderState(); // Spawn a particle for one of the particle textures - TextureAtlasSprite texture = Platform.pickRandom( cableBusModel.getParticleTextures( renderState ) ); - if( texture != null ) - { + TextureAtlasSprite texture = Platform.pickRandom(cableBusModel.getParticleTextures(renderState)); + if (texture != null) { double x = target.getHitVec().x; double y = target.getHitVec().y; double z = target.getHitVec().z; // FIXME: Check how this looks, probably like shit, maybe provide parts the ability to supply particle textures??? effectRenderer.addEffect(new CableBusBreakingParticle(world, x, y, z, texture) - .multipleParticleScaleBy( 0.8F )); + .multipleParticleScaleBy(0.8F)); } return true; @@ -256,14 +230,13 @@ public class BlockCableBus extends AEBaseTileBlock /* FIXME implem @Override public boolean addDestroyEffects(BlockState state, World world, BlockPos pos, ParticleManager effectRenderer) { - ICableBusContainer cb = this.cb( world, pos ); + ICableBusContainer cb = this.cb(world, pos); // Our built-in model has the actual baked sprites we need - IBakedModel model = Minecraft.getInstance().getBlockRendererDispatcher().getModelForState( this.getDefaultState() ); + IBakedModel model = Minecraft.getInstance().getBlockRendererDispatcher().getModelForState(this.getDefaultState()); // We cannot add the effect if we dont have the model - if( !( model instanceof CableBusBakedModel ) ) - { + if (!(model instanceof CableBusBakedModel)) { return true; } @@ -271,23 +244,19 @@ public class BlockCableBus extends AEBaseTileBlock /* FIXME implem CableBusRenderState renderState = cb.getRenderState(); - List textures = cableBusModel.getParticleTextures( renderState ); + List textures = cableBusModel.getParticleTextures(renderState); - if( !textures.isEmpty() ) - { + if (!textures.isEmpty()) { // Shamelessly inspired by ParticleManager.addBlockDestroyEffects - for( int j = 0; j < 4; ++j ) - { - for( int k = 0; k < 4; ++k ) - { - for( int l = 0; l < 4; ++l ) - { + for (int j = 0; j < 4; ++j) { + for (int k = 0; k < 4; ++k) { + for (int l = 0; l < 4; ++l) { // Randomly select one of the textures if the cable bus has more than just one possibility here - final TextureAtlasSprite texture = Platform.pickRandom( textures ); + final TextureAtlasSprite texture = Platform.pickRandom(textures); - final double x = pos.getX() + ( j + 0.5D ) / 4.0D; - final double y = pos.getY() + ( k + 0.5D ) / 4.0D; - final double z = pos.getZ() + ( l + 0.5D ) / 4.0D; + final double x = pos.getX() + (j + 0.5D) / 4.0D; + final double y = pos.getY() + (k + 0.5D) / 4.0D; + final double z = pos.getZ() + (l + 0.5D) / 4.0D; // FIXME: Check how this looks, probably like shit, maybe provide parts the ability to supply particle textures??? Particle effect = new CableBusBreakingParticle(world, x, y, z, x - pos.getX() - 0.5D, @@ -302,36 +271,30 @@ public class BlockCableBus extends AEBaseTileBlock /* FIXME implem } @Override - public void neighborChanged( BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, boolean isMoving ) - { - if( Platform.isServer() ) - { - this.cb( world, pos ).onNeighborChanged( world, pos, fromPos ); + public void neighborChanged(BlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos, boolean isMoving) { + if (Platform.isServer()) { + this.cb(world, pos).onNeighborChanged(world, pos, fromPos); } } - private ICableBusContainer cb( final IBlockReader w, final BlockPos pos ) - { - final TileEntity te = w.getTileEntity( pos ); + private ICableBusContainer cb(final IBlockReader w, final BlockPos pos) { + final TileEntity te = w.getTileEntity(pos); ICableBusContainer out = null; - if( te instanceof TileCableBus ) - { - out = ( (TileCableBus) te ).getCableBus(); + if (te instanceof TileCableBus) { + out = ((TileCableBus) te).getCableBus(); } return out == null ? NULL_CABLE_BUS : out; } @Nullable - private IFacadeContainer fc( final IBlockReader w, final BlockPos pos ) - { - final TileEntity te = w.getTileEntity( pos ); + private IFacadeContainer fc(final IBlockReader w, final BlockPos pos) { + final TileEntity te = w.getTileEntity(pos); IFacadeContainer out = null; - if( te instanceof TileCableBus ) - { - out = ( (TileCableBus) te ).getCableBus().getFacadeContainer(); + if (te instanceof TileCableBus) { + out = ((TileCableBus) te).getCableBus().getFacadeContainer(); } return out; @@ -339,11 +302,9 @@ public class BlockCableBus extends AEBaseTileBlock /* FIXME implem @Override public void onBlockClicked(BlockState state, World worldIn, BlockPos pos, PlayerEntity player) { - if( worldIn.isRemote() ) - { + if (worldIn.isRemote()) { final RayTraceResult rtr = Minecraft.getInstance().objectMouseOver; - if( rtr instanceof BlockRayTraceResult) - { + if (rtr instanceof BlockRayTraceResult) { BlockRayTraceResult brtr = (BlockRayTraceResult) rtr; if (brtr.getPos().equals(pos)) { final Vec3d hitVec = rtr.getHitVec().subtract(new Vec3d(pos)); @@ -358,15 +319,16 @@ public class BlockCableBus extends AEBaseTileBlock /* FIXME implem } } - public void onBlockClickPacket( World worldIn, BlockPos pos, PlayerEntity playerIn, Hand hand, Vec3d hitVec ) - { - this.cb( worldIn, pos ).clicked( playerIn, hand, hitVec ); + public void onBlockClickPacket(World worldIn, BlockPos pos, PlayerEntity playerIn, Hand hand, Vec3d hitVec) { + this.cb(worldIn, pos).clicked(playerIn, hand, hitVec); } @Override - public ActionResultType onActivated(final World w, final BlockPos pos, final PlayerEntity player, final Hand hand, final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) - { - return this.cb( w, pos ).activate( player, hand, hit.getHitVec() ) ? ActionResultType.SUCCESS + public ActionResultType onActivated(final World w, final BlockPos pos, final PlayerEntity player, final Hand hand, final @Nullable ItemStack heldItem, final BlockRayTraceResult hit) { + // Transform from world into block space + Vec3d hitVec = hit.getHitVec(); + Vec3d hitInBlock = new Vec3d(hitVec.x - pos.getX(), hitVec.y - pos.getY(), hitVec.z - pos.getZ()); + return this.cb(w, pos).activate(player, hand, hitInBlock) ? ActionResultType.SUCCESS : ActionResultType.PASS; } @@ -375,46 +337,20 @@ public class BlockCableBus extends AEBaseTileBlock /* FIXME implem return recolorBlock(world, pos, side, color, null); } - public boolean recolorBlock(final IBlockReader world, final BlockPos pos, final Direction side, final DyeColor color, final PlayerEntity who ) - { - try - { - return this.cb( world, pos ).recolourBlock( side, AEColor.values()[color.ordinal()], who ); - } - catch( final Throwable ignored ) - { + public boolean recolorBlock(final IBlockReader world, final BlockPos pos, final Direction side, final DyeColor color, final PlayerEntity who) { + try { + return this.cb(world, pos).recolourBlock(side, AEColor.values()[color.ordinal()], who); + } catch (final Throwable ignored) { } return false; } @Override - @OnlyIn( Dist.CLIENT ) - public void fillItemGroup(ItemGroup group, NonNullList itemStacks) - { + @OnlyIn(Dist.CLIENT) + public void fillItemGroup(ItemGroup group, NonNullList itemStacks) { // do nothing } - public void setupTile() - { - noTesrTile = TileCableBus.class; - // FIXME ... uh ... this.setTileEntity( noTesrTile ); - - // FIXME oh no... GameRegistry.registerTileEntity( noTesrTile, AppEng.MOD_ID.toLowerCase() + ":" + "BlockCableBus" ); - - if( Platform.isClient() ) - { - setupTesr(); - } - } - - @OnlyIn( Dist.CLIENT ) - private static void setupTesr() - { - tesrTile = TileCableBusTESR.class; - // FIXME oh no... GameRegistry.registerTileEntity( tesrTile, AppEng.MOD_ID.toLowerCase() + ":" + "ClientOnly_TESR_CableBus" ); - // FIXME oh no... ClientRegistry.bindTileEntitySpecialRenderer( BlockCableBus.getTesrTile(), new CableBusTESR() ); - } - // FIXME FACADES @Override // FIXME FACADES public BlockState getFacadeState( IBlockReader world, BlockPos pos, Direction side ) // FIXME FACADES { @@ -433,16 +369,6 @@ public class BlockCableBus extends AEBaseTileBlock /* FIXME implem // FIXME FACADES return world.getBlockState( pos ); // FIXME FACADES } - public static Class getNoTesrTile() - { - return noTesrTile; - } - - public static Class getTesrTile() - { - return tesrTile; - } - @Override public VoxelShape getShape(BlockState state, IBlockReader w, BlockPos pos, ISelectionContext context) { @@ -478,4 +404,5 @@ public class BlockCableBus extends AEBaseTileBlock /* FIXME implem return result; } + } diff --git a/src/main/java/appeng/client/render/cablebus/CableBusBakedModel.java b/src/main/java/appeng/client/render/cablebus/CableBusBakedModel.java index c04a68d3a..acab58b1d 100644 --- a/src/main/java/appeng/client/render/cablebus/CableBusBakedModel.java +++ b/src/main/java/appeng/client/render/cablebus/CableBusBakedModel.java @@ -314,7 +314,7 @@ public class CableBusBakedModel implements IBakedModel // If a part sub-model has no particle texture (indicated by it being the missing texture), // don't add it, so we don't get ugly missing texture break particles. - if( isMissingTexture(particleTexture) ) + if( !isMissingTexture(particleTexture) ) { result.add( particleTexture ); } diff --git a/src/main/java/appeng/client/render/cablebus/CableBusModel.java b/src/main/java/appeng/client/render/cablebus/CableBusModel.java index eccb66bd7..1a8968863 100644 --- a/src/main/java/appeng/client/render/cablebus/CableBusModel.java +++ b/src/main/java/appeng/client/render/cablebus/CableBusModel.java @@ -25,6 +25,7 @@ import java.util.Map; import java.util.Set; import java.util.function.Function; +import appeng.core.AELog; import com.google.common.collect.ImmutableMap; import com.mojang.datafixers.util.Pair; @@ -76,7 +77,12 @@ public class CableBusModel implements IModelGeometry for( ResourceLocation location : this.partModels.getModels() ) { - result.put( location, bakery.getBakedModel( location, transformIn, spriteGetterIn ) ); + IBakedModel bakedModel = bakery.getBakedModel(location, transformIn, spriteGetterIn); + if (bakedModel == null) { + AELog.warn("Failed to bake part model {}", location); + } else { + result.put(location, bakedModel); + } } return result.build(); diff --git a/src/main/java/appeng/client/render/cablebus/QuadRotator.java b/src/main/java/appeng/client/render/cablebus/QuadRotator.java index ed36a9c45..5efbf2998 100644 --- a/src/main/java/appeng/client/render/cablebus/QuadRotator.java +++ b/src/main/java/appeng/client/render/cablebus/QuadRotator.java @@ -62,12 +62,12 @@ public class QuadRotator CachedFormat format = CachedFormat.lookup( DefaultVertexFormats.BLOCK ); BakedPipeline pipeline = pipelines.get(); Quad collector = collectors.get(); - pipeline.reset( format ); - collector.reset( format ); QuadMatrixTransformer transformer = pipeline.getElement( "transformer", QuadMatrixTransformer.class ); for( BakedQuad quad : quads ) { + pipeline.reset( format ); + collector.reset( format ); transformer.setMatrix( rotation.getMat() ); pipeline.prepare( collector ); quad.pipe( pipeline ); diff --git a/src/main/java/appeng/container/helper/AbstractContainerHelper.java b/src/main/java/appeng/container/helper/AbstractContainerHelper.java index 5e71143a9..f1afe237f 100644 --- a/src/main/java/appeng/container/helper/AbstractContainerHelper.java +++ b/src/main/java/appeng/container/helper/AbstractContainerHelper.java @@ -6,6 +6,7 @@ import appeng.api.networking.IGridNode; import appeng.api.networking.energy.IEnergyGrid; import appeng.api.networking.security.IActionHost; import appeng.api.networking.security.ISecurityGrid; +import appeng.util.Platform; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TranslationTextComponent; @@ -20,36 +21,9 @@ abstract class AbstractContainerHelper { protected boolean checkPermission(PlayerEntity player, Object accessInterface) { - // FIXME: Check permissions... - if (requiredPermission != null && accessInterface instanceof IActionHost) + if (requiredPermission != null) { - final IGridNode gn = ( (IActionHost) accessInterface ).getActionableNode(); - if( gn != null ) - { - final IGrid g = gn.getGrid(); - if( g != null ) - { - final boolean requirePower = false; - if( requirePower ) - { - final IEnergyGrid eg = g.getCache( IEnergyGrid.class ); - if( !eg.isNetworkPowered() ) - { - // FIXME trace logging? - return false; - } - } - - final ISecurityGrid sg = g.getCache( ISecurityGrid.class ); - if( !sg.hasPermission( player, this.requiredPermission ) ) - { - player.sendMessage(new TranslationTextComponent("appliedenergistics2.permission_denied") - .applyTextStyle(TextFormatting.RED)); - // FIXME trace logging? - return false; - } - } - } + return Platform.checkPermissions(player, accessInterface, requiredPermission, true); } return true; diff --git a/src/main/java/appeng/container/helper/PartContainerHelper.java b/src/main/java/appeng/container/helper/PartContainerHelper.java index e8b172d73..9184a2e19 100644 --- a/src/main/java/appeng/container/helper/PartContainerHelper.java +++ b/src/main/java/appeng/container/helper/PartContainerHelper.java @@ -29,8 +29,6 @@ public final class PartContainerHelper factory; - private final SecurityPermissions requiredPermission; - public PartContainerHelper(ContainerFactory factory, Class

partClass) { this(factory, partClass, null); } @@ -39,7 +37,6 @@ public final class PartContainerHelper { C c = factory.create(wnd, p, actualPart); diff --git a/src/main/java/appeng/container/helper/PartOrTileContainerHelper.java b/src/main/java/appeng/container/helper/PartOrTileContainerHelper.java index 774c6a33e..14ade5dcb 100644 --- a/src/main/java/appeng/container/helper/PartOrTileContainerHelper.java +++ b/src/main/java/appeng/container/helper/PartOrTileContainerHelper.java @@ -36,8 +36,6 @@ public final class PartOrTileContainerHelper exten private final ContainerFactory factory; - private final SecurityPermissions requiredPermission; - public PartOrTileContainerHelper(ContainerFactory factory, Class interfaceClass) { this(factory, interfaceClass, null); } @@ -46,7 +44,6 @@ public final class PartOrTileContainerHelper exten super(requiredPermission); this.interfaceClass = interfaceClass; this.factory = factory; - this.requiredPermission = requiredPermission; } /** diff --git a/src/main/java/appeng/core/AppEng.java b/src/main/java/appeng/core/AppEng.java index b5d28e652..ae1aac04d 100644 --- a/src/main/java/appeng/core/AppEng.java +++ b/src/main/java/appeng/core/AppEng.java @@ -198,6 +198,8 @@ public final class AppEng ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, "crafting_cube"), CraftingCubeModelLoader.INSTANCE); ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, "uvlightmap"), UVLModelLoader.INSTANCE); addBuiltInModel("cable_bus", () -> new CableBusModel((PartModels) Api.INSTANCE.registries().partModels())); + + } private static > void addBuiltInModel(String id, Supplier modelFactory) { diff --git a/src/main/java/appeng/core/Registration.java b/src/main/java/appeng/core/Registration.java index effe4bb5c..e2d8b9d4a 100644 --- a/src/main/java/appeng/core/Registration.java +++ b/src/main/java/appeng/core/Registration.java @@ -284,6 +284,7 @@ final class Registration PartModels partModels = (PartModels) Api.INSTANCE.registries().partModels(); partModels.getModels().forEach(ModelLoader::addSpecialModel); + partModels.setInitialized(true); } public void registerBlocks( RegistryEvent.Register event ) diff --git a/src/main/java/appeng/core/api/definitions/ApiBlocks.java b/src/main/java/appeng/core/api/definitions/ApiBlocks.java index 59ae6d01b..83b63c220 100644 --- a/src/main/java/appeng/core/api/definitions/ApiBlocks.java +++ b/src/main/java/appeng/core/api/definitions/ApiBlocks.java @@ -549,10 +549,15 @@ public final class ApiBlocks implements IBlocks this.multiPart = registry.block( "cable_bus", BlockCableBus::new ) .rendering( new CableBusRendering() ) - // (handled in BlockCableBus.java and its setupTile()) - // .tileEntity( TileCableBus.class ) - // TODO: why the custom registration? - .bootstrap( ( block, item ) -> (IInitComponent) ((BlockCableBus) block)::setupTile) + .tileEntity( registry.tileEntity( "cable_bus", TileCableBus.class, TileCableBus::new) + .rendering(new TileEntityRenderingCustomizer() { + @Override + @OnlyIn(Dist.CLIENT) + public void customize(TileEntityRendering rendering) { + rendering.tileEntityRenderer(CableBusTESR::new); + } + }) + .build()) .build(); this.skyStoneSlab = deco.block( "sky_stone_slab", () -> new SlabBlock( SKYSTONE_PROPERTIES ) ) diff --git a/src/main/java/appeng/core/api/definitions/ApiParts.java b/src/main/java/appeng/core/api/definitions/ApiParts.java index e2ec30d1a..458633aa2 100644 --- a/src/main/java/appeng/core/api/definitions/ApiParts.java +++ b/src/main/java/appeng/core/api/definitions/ApiParts.java @@ -25,12 +25,14 @@ import appeng.api.parts.IPart; import appeng.api.util.AEColor; import appeng.api.util.AEColoredItemDefinition; import appeng.bootstrap.FeatureFactory; +import appeng.core.AppEng; import appeng.core.CreativeTab; import appeng.core.features.*; import appeng.core.features.registries.PartModels; import appeng.fluids.parts.*; import appeng.items.parts.ColoredPartItem; import appeng.items.parts.ItemPart; +import appeng.items.parts.ItemPartRendering; import appeng.items.parts.PartType; import appeng.parts.automation.*; import appeng.parts.misc.*; @@ -38,8 +40,12 @@ import appeng.parts.networking.*; import appeng.parts.p2p.*; import appeng.parts.reporting.*; import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import java.util.ArrayList; +import java.util.List; import java.util.function.Function; +import java.util.stream.Collectors; /** @@ -91,20 +97,12 @@ public final class ApiParts implements IParts public ApiParts( FeatureFactory registry, PartModels partModels ) { -// IItemDefinition itemPartDef = registry.item( "part", ItemPart::new ) -// .rendering( new ItemPartRendering( partModels ) ) -// .build(); - - // Register all part models - for( PartType partType : PartType.values() ) - { - partModels.registerModels( partType.getModels() ); - } + registerPartModels(partModels); this.cableSmart = constructColoredDefinition(registry, "smart_cable", PartType.CABLE_SMART, PartCableSmart::new); this.cableCovered = constructColoredDefinition(registry, "covered_cable", PartType.CABLE_COVERED, PartCableCovered::new); this.cableGlass = constructColoredDefinition(registry, "glass_cable", PartType.CABLE_GLASS, PartCableGlass::new); - this.cableDenseCovered = constructColoredDefinition(registry, "dense_cable", PartType.CABLE_DENSE_COVERED, PartDenseCableCovered::new); + this.cableDenseCovered = constructColoredDefinition(registry, "covered_dense_cable", PartType.CABLE_DENSE_COVERED, PartDenseCableCovered::new); this.cableDenseSmart = constructColoredDefinition(registry, "smart_dense_cable", PartType.CABLE_DENSE_SMART, PartDenseCableSmart::new); this.quartzFiber = createPart(registry, "quartz_fiber", PartType.QUARTZ_FIBER, PartQuartzFiber::new ); this.toggleBus = createPart(registry, "toggle_bus", PartType.TOGGLE_BUS, PartToggleBus::new ); @@ -122,7 +120,7 @@ public final class ApiParts implements IParts this.levelEmitter = createPart(registry, "level_emitter", PartType.LEVEL_EMITTER, PartLevelEmitter::new ); this.fluidLevelEmitter = createPart(registry, "fluid_level_emitter", PartType.FLUID_LEVEL_EMITTER, PartFluidLevelEmitter::new ); this.annihilationPlane = createPart(registry, "annihilation_plane", PartType.ANNIHILATION_PLANE, PartAnnihilationPlane::new ); - this.identityAnnihilationPlane = createPart(registry, "identity_annihiliation_plane", PartType.IDENTITY_ANNIHILATION_PLANE, PartIdentityAnnihilationPlane::new ); + this.identityAnnihilationPlane = createPart(registry, "identity_annihilation_plane", PartType.IDENTITY_ANNIHILATION_PLANE, PartIdentityAnnihilationPlane::new ); this.fluidAnnihilationPlane = createPart(registry, "fluid_annihilation_plane", PartType.FLUID_ANNIHILATION_PLANE, PartFluidAnnihilationPlane::new ); this.formationPlane = createPart(registry, "formation_plane", PartType.FORMATION_PLANE, PartFormationPlane::new ); this.fluidFormationPlane = createPart(registry, "fluid_formation_plane", PartType.FLUID_FORMATION_PLANE, PartFluidFormationPlane::new ); @@ -133,20 +131,97 @@ public final class ApiParts implements IParts this.conversionMonitor = createPart(registry, "conversion_monitor", PartType.CONVERSION_MONITOR, PartConversionMonitor::new ); this.iface = createPart(registry, "cable_interface", PartType.INTERFACE, PartInterface::new ); this.fluidIface = createPart(registry, "cable_fluid_interface", PartType.FLUID_INTERFACE, PartFluidInterface::new ); - this.p2PTunnelME = createPart(registry, "me_tunnel", PartType.P2P_TUNNEL_ME, PartP2PTunnelME::new ); - this.p2PTunnelRedstone = createPart(registry, "redstone_tunnel", PartType.P2P_TUNNEL_REDSTONE, PartP2PRedstone::new ); - this.p2PTunnelItems = createPart(registry, "item_tunnel", PartType.P2P_TUNNEL_ITEMS, PartP2PItems::new ); - this.p2PTunnelFluids = createPart(registry, "fluid_tunnel", PartType.P2P_TUNNEL_FLUIDS, PartP2PFluids::new ); - this.p2PTunnelEU = null; // FIXME createPart( "tunnel.eu", PartType.P2P_TUNNEL_IC2, PartP2PIC2Power::new); - this.p2PTunnelFE = createPart(registry, "fe_tunnel", PartType.P2P_TUNNEL_FE, PartP2PFEPower::new ); - this.p2PTunnelLight = createPart(registry, "light_tunnel", PartType.P2P_TUNNEL_LIGHT, PartP2PLight::new ); + this.p2PTunnelME = createPart(registry, "me_p2p_tunnel", PartType.P2P_TUNNEL_ME, PartP2PTunnelME::new ); + this.p2PTunnelRedstone = createPart(registry, "redstone_p2p_tunnel", PartType.P2P_TUNNEL_REDSTONE, PartP2PRedstone::new ); + this.p2PTunnelItems = createPart(registry, "item_p2p_tunnel", PartType.P2P_TUNNEL_ITEM, PartP2PItems::new ); + this.p2PTunnelFluids = createPart(registry, "fluid_p2p_tunnel", PartType.P2P_TUNNEL_FLUID, PartP2PFluids::new ); + this.p2PTunnelEU = null; // FIXME createPart( "ic2_p2p_tunnel", PartType.P2P_TUNNEL_IC2, PartP2PIC2Power::new); + this.p2PTunnelFE = createPart(registry, "fe_p2p_tunnel", PartType.P2P_TUNNEL_FE, PartP2PFEPower::new ); + this.p2PTunnelLight = createPart(registry, "light_p2p_tunnel", PartType.P2P_TUNNEL_LIGHT, PartP2PLight::new ); this.interfaceTerminal = createPart(registry, "interface_terminal", PartType.INTERFACE_TERMINAL, PartInterfaceTerminal::new ); this.fluidTerminal = createPart(registry, "fluid_terminal", PartType.FLUID_TERMINAL, PartFluidTerminal::new ); } + private void registerPartModels(PartModels partModels) { + + // Register the built-in models for annihilation planes + ResourceLocation annihilationPlaneTexture = new ResourceLocation( AppEng.MOD_ID, "item/part/annihilation_plane" ); + ResourceLocation annihilationPlaneOnTexture = new ResourceLocation( AppEng.MOD_ID, "parts/annihilation_plane_on" ); + ResourceLocation fluidAnnihilationPlaneTexture = new ResourceLocation( AppEng.MOD_ID, "item/part/fluid_annihilation_plane" ); + ResourceLocation fluidAnnihilationPlaneOnTexture = new ResourceLocation( AppEng.MOD_ID, "parts/fluid_annihilation_plane_on" ); + ResourceLocation identityAnnihilationPlaneTexture = new ResourceLocation( AppEng.MOD_ID, "item/part/identity_annihilation_plane" ); + ResourceLocation identityAnnihilationPlaneOnTexture = new ResourceLocation( AppEng.MOD_ID, "parts/identity_annihilation_plane_on" ); + ResourceLocation formationPlaneTexture = new ResourceLocation( AppEng.MOD_ID, "item/part/formation_plane" ); + ResourceLocation formationPlaneOnTexture = new ResourceLocation( AppEng.MOD_ID, "parts/formation_plane_on" ); + ResourceLocation fluidFormationPlaneTexture = new ResourceLocation( AppEng.MOD_ID, "item/part/fluid_formation_plane" ); + ResourceLocation fluidFormationPlaneOnTexture = new ResourceLocation( AppEng.MOD_ID, "parts/fluid_formation_plane_on" ); + ResourceLocation sidesTexture = new ResourceLocation( AppEng.MOD_ID, "parts/plane_sides" ); + ResourceLocation backTexture = new ResourceLocation( AppEng.MOD_ID, "parts/transition_plane_back" ); + + List modelNames = new ArrayList<>(); + +// FIXME for( PlaneConnections connection : PlaneConnections.PERMUTATIONS ) +// FIXME { +// FIXME PlaneModel model = new PlaneModel( annihilationPlaneTexture, sidesTexture, backTexture, connection ); +// FIXME rendering.builtInModel( "models/part/annihilation_plane_" + connection.getFilenameSuffix(), model ); +// FIXME modelNames.add( "part/annihilation_plane_" + connection.getFilenameSuffix() ); +// FIXME +// FIXME model = new PlaneModel( annihilationPlaneOnTexture, sidesTexture, backTexture, connection ); +// FIXME rendering.builtInModel( "models/part/annihilation_plane_on_" + connection.getFilenameSuffix(), model ); +// FIXME modelNames.add( "part/annihilation_plane_on_" + connection.getFilenameSuffix() ); +// FIXME +// FIXME model = new PlaneModel( fluidAnnihilationPlaneTexture, sidesTexture, backTexture, connection ); +// FIXME rendering.builtInModel( "models/part/fluid_annihilation_plane_" + connection.getFilenameSuffix(), model ); +// FIXME modelNames.add( "part/fluid_annihilation_plane_" + connection.getFilenameSuffix() ); +// FIXME +// FIXME model = new PlaneModel( fluidAnnihilationPlaneOnTexture, sidesTexture, backTexture, connection ); +// FIXME rendering.builtInModel( "models/part/fluid_annihilation_plane_on_" + connection.getFilenameSuffix(), model ); +// FIXME modelNames.add( "part/fluid_annihilation_plane_on_" + connection.getFilenameSuffix() ); +// FIXME +// FIXME model = new PlaneModel( identityAnnihilationPlaneTexture, sidesTexture, backTexture, connection ); +// FIXME rendering.builtInModel( "models/part/identity_annihilation_plane_" + connection.getFilenameSuffix(), model ); +// FIXME modelNames.add( "part/identity_annihilation_plane_" + connection.getFilenameSuffix() ); +// FIXME +// FIXME model = new PlaneModel( identityAnnihilationPlaneOnTexture, sidesTexture, backTexture, connection ); +// FIXME rendering.builtInModel( "models/part/identity_annihilation_plane_on_" + connection.getFilenameSuffix(), model ); +// FIXME modelNames.add( "part/identity_annihilation_plane_on_" + connection.getFilenameSuffix() ); +// FIXME +// FIXME model = new PlaneModel( formationPlaneTexture, sidesTexture, backTexture, connection ); +// FIXME rendering.builtInModel( "models/part/formation_plane_" + connection.getFilenameSuffix(), model ); +// FIXME modelNames.add( "part/formation_plane_" + connection.getFilenameSuffix() ); +// FIXME +// FIXME model = new PlaneModel( formationPlaneOnTexture, sidesTexture, backTexture, connection ); +// FIXME rendering.builtInModel( "models/part/formation_plane_on_" + connection.getFilenameSuffix(), model ); +// FIXME modelNames.add( "part/formation_plane_on_" + connection.getFilenameSuffix() ); +// FIXME +// FIXME model = new PlaneModel( fluidFormationPlaneTexture, sidesTexture, backTexture, connection ); +// FIXME rendering.builtInModel( "models/part/fluid_formation_plane_" + connection.getFilenameSuffix(), model ); +// FIXME modelNames.add( "part/fluid_formation_plane_" + connection.getFilenameSuffix() ); +// FIXME +// FIXME model = new PlaneModel( fluidFormationPlaneOnTexture, sidesTexture, backTexture, connection ); +// FIXME rendering.builtInModel( "models/part/fluid_formation_plane_on_" + connection.getFilenameSuffix(), model ); +// FIXME modelNames.add( "part/fluid_formation_plane_on_" + connection.getFilenameSuffix() ); +// FIXME } +// FIXME +// FIXME // base p2p model with frequency +// FIXME rendering.builtInModel( "models/part/builtin/p2p_tunnel_frequency", new P2PTunnelFrequencyModel() ); + + List partResourceLocs = modelNames.stream() + .map( name -> new ResourceLocation( AppEng.MOD_ID, name ) ) + .collect( Collectors.toList() ); + partModels.registerModels( partResourceLocs ); + + // Register all part models + for( PartType partType : PartType.values() ) + { + partModels.registerModels( partType.getModels() ); + } + } + private IItemDefinition createPart(FeatureFactory registry, String id, PartType type, Function factory) { return registry.item(id, props -> new ItemPart<>(props, type, factory)) .itemGroup(CreativeTab.instance) + .rendering(new ItemPartRendering()) .build(); } @@ -156,10 +231,11 @@ public final class ApiParts implements IParts for( final AEColor color : AEColor.values() ) { - String id = color.registryPrefix + idSuffix; + String id = color.registryPrefix + '_' + idSuffix; IItemDefinition itemDef = registry.item(id, props -> new ColoredPartItem<>(props, type, factory, color)) .itemGroup(CreativeTab.instance) + .rendering(new ItemPartRendering(color)) .build(); definition.add( color, new ItemStackSrc(itemDef.item(), ActivityState.Enabled) ); diff --git a/src/main/java/appeng/fluids/parts/PartFluidTerminal.java b/src/main/java/appeng/fluids/parts/PartFluidTerminal.java index 6337ec27b..a23bae118 100644 --- a/src/main/java/appeng/fluids/parts/PartFluidTerminal.java +++ b/src/main/java/appeng/fluids/parts/PartFluidTerminal.java @@ -19,7 +19,9 @@ package appeng.fluids.parts; +import appeng.fluids.container.ContainerFluidTerminal; import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.inventory.container.ContainerType; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; @@ -53,11 +55,11 @@ public class PartFluidTerminal extends AbstractPartTerminal super( is ); } -// FIXME @Override -// FIXME public GuiBridge getGui( PlayerEntity player ) -// FIXME { -// FIXME return GuiBridge.GUI_FLUID_TERMINAL; -// FIXME } + @Override + public ContainerType getContainerType(PlayerEntity player ) + { + return ContainerFluidTerminal.TYPE; + } @Override public IPartModel getStaticModels() diff --git a/src/main/java/appeng/items/parts/ItemPartRendering.java b/src/main/java/appeng/items/parts/ItemPartRendering.java index ee75e9910..4742a2f1b 100644 --- a/src/main/java/appeng/items/parts/ItemPartRendering.java +++ b/src/main/java/appeng/items/parts/ItemPartRendering.java @@ -19,125 +19,31 @@ package appeng.items.parts; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; - -import net.minecraft.client.renderer.model.ModelResourceLocation; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; - import appeng.api.util.AEColor; import appeng.bootstrap.IItemRendering; import appeng.bootstrap.ItemRenderingCustomizer; import appeng.client.render.StaticItemColor; -import appeng.core.AppEng; -import appeng.core.features.registries.PartModels; -import appeng.parts.automation.PlaneConnections; -import appeng.parts.automation.PlaneModel; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; public class ItemPartRendering extends ItemRenderingCustomizer { - private final PartModels partModels; + private final AEColor color; - public ItemPartRendering( PartModels partModels ) - { - this.partModels = partModels; + public ItemPartRendering() { + this.color = AEColor.TRANSPARENT; + } + + public ItemPartRendering(AEColor color) { + this.color = color; } @Override @OnlyIn( Dist.CLIENT ) public void customize( IItemRendering rendering ) { - - // FIXME rendering.meshDefinition( this::getItemMeshDefinition ); - - rendering.color( new StaticItemColor( AEColor.TRANSPARENT ) ); - - // Register all item models as variants so they get loaded - rendering.variants( Arrays.stream( PartType.values() ) - .filter( f -> f != PartType.INVALID_TYPE ) - .flatMap( part -> part.getItemModels().stream() ) - .collect( Collectors.toList() ) ); - - // Register the built-in models for annihilation planes - ResourceLocation annihilationPlaneTexture = new ResourceLocation( AppEng.MOD_ID, "item/part/annihilation_plane" ); - ResourceLocation annihilationPlaneOnTexture = new ResourceLocation( AppEng.MOD_ID, "parts/annihilation_plane_on" ); - ResourceLocation fluidAnnihilationPlaneTexture = new ResourceLocation( AppEng.MOD_ID, "item/part/fluid_annihilation_plane" ); - ResourceLocation fluidAnnihilationPlaneOnTexture = new ResourceLocation( AppEng.MOD_ID, "parts/fluid_annihilation_plane_on" ); - ResourceLocation identityAnnihilationPlaneTexture = new ResourceLocation( AppEng.MOD_ID, "item/part/identity_annihilation_plane" ); - ResourceLocation identityAnnihilationPlaneOnTexture = new ResourceLocation( AppEng.MOD_ID, "parts/identity_annihilation_plane_on" ); - ResourceLocation formationPlaneTexture = new ResourceLocation( AppEng.MOD_ID, "item/part/formation_plane" ); - ResourceLocation formationPlaneOnTexture = new ResourceLocation( AppEng.MOD_ID, "parts/formation_plane_on" ); - ResourceLocation fluidFormationPlaneTexture = new ResourceLocation( AppEng.MOD_ID, "item/part/fluid_formation_plane" ); - ResourceLocation fluidFormationPlaneOnTexture = new ResourceLocation( AppEng.MOD_ID, "parts/fluid_formation_plane_on" ); - ResourceLocation sidesTexture = new ResourceLocation( AppEng.MOD_ID, "parts/plane_sides" ); - ResourceLocation backTexture = new ResourceLocation( AppEng.MOD_ID, "parts/transition_plane_back" ); - - List modelNames = new ArrayList<>(); - - for( PlaneConnections connection : PlaneConnections.PERMUTATIONS ) - { - PlaneModel model = new PlaneModel( annihilationPlaneTexture, sidesTexture, backTexture, connection ); - rendering.builtInModel( "models/part/annihilation_plane_" + connection.getFilenameSuffix(), model ); - modelNames.add( "part/annihilation_plane_" + connection.getFilenameSuffix() ); - - model = new PlaneModel( annihilationPlaneOnTexture, sidesTexture, backTexture, connection ); - rendering.builtInModel( "models/part/annihilation_plane_on_" + connection.getFilenameSuffix(), model ); - modelNames.add( "part/annihilation_plane_on_" + connection.getFilenameSuffix() ); - - model = new PlaneModel( fluidAnnihilationPlaneTexture, sidesTexture, backTexture, connection ); - rendering.builtInModel( "models/part/fluid_annihilation_plane_" + connection.getFilenameSuffix(), model ); - modelNames.add( "part/fluid_annihilation_plane_" + connection.getFilenameSuffix() ); - - model = new PlaneModel( fluidAnnihilationPlaneOnTexture, sidesTexture, backTexture, connection ); - rendering.builtInModel( "models/part/fluid_annihilation_plane_on_" + connection.getFilenameSuffix(), model ); - modelNames.add( "part/fluid_annihilation_plane_on_" + connection.getFilenameSuffix() ); - - model = new PlaneModel( identityAnnihilationPlaneTexture, sidesTexture, backTexture, connection ); - rendering.builtInModel( "models/part/identity_annihilation_plane_" + connection.getFilenameSuffix(), model ); - modelNames.add( "part/identity_annihilation_plane_" + connection.getFilenameSuffix() ); - - model = new PlaneModel( identityAnnihilationPlaneOnTexture, sidesTexture, backTexture, connection ); - rendering.builtInModel( "models/part/identity_annihilation_plane_on_" + connection.getFilenameSuffix(), model ); - modelNames.add( "part/identity_annihilation_plane_on_" + connection.getFilenameSuffix() ); - - model = new PlaneModel( formationPlaneTexture, sidesTexture, backTexture, connection ); - rendering.builtInModel( "models/part/formation_plane_" + connection.getFilenameSuffix(), model ); - modelNames.add( "part/formation_plane_" + connection.getFilenameSuffix() ); - - model = new PlaneModel( formationPlaneOnTexture, sidesTexture, backTexture, connection ); - rendering.builtInModel( "models/part/formation_plane_on_" + connection.getFilenameSuffix(), model ); - modelNames.add( "part/formation_plane_on_" + connection.getFilenameSuffix() ); - - model = new PlaneModel( fluidFormationPlaneTexture, sidesTexture, backTexture, connection ); - rendering.builtInModel( "models/part/fluid_formation_plane_" + connection.getFilenameSuffix(), model ); - modelNames.add( "part/fluid_formation_plane_" + connection.getFilenameSuffix() ); - - model = new PlaneModel( fluidFormationPlaneOnTexture, sidesTexture, backTexture, connection ); - rendering.builtInModel( "models/part/fluid_formation_plane_on_" + connection.getFilenameSuffix(), model ); - modelNames.add( "part/fluid_formation_plane_on_" + connection.getFilenameSuffix() ); - - } - - // base p2p model with frequency - // FIXME rendering.builtInModel( "models/part/builtin/p2p_tunnel_frequency", new P2PTunnelFrequencyModel() ); - - List partResourceLocs = modelNames.stream() - .map( name -> new ResourceLocation( AppEng.MOD_ID, name ) ) - .collect( Collectors.toList() ); - this.partModels.registerModels( partResourceLocs ); + rendering.color( new StaticItemColor(color) ); } - - // FIXME private ModelResourceLocation getItemMeshDefinition( ItemStack is ) - // FIXME { - // FIXME PartType partType = this.item.getTypeByStack( is ); - // FIXME int variant = this.item.variantOf( is.getDamage() ); - // FIXME return partType.getItemModels().get( variant ); - // FIXME } } diff --git a/src/main/java/appeng/items/parts/PartType.java b/src/main/java/appeng/items/parts/PartType.java index 7f495991a..f356fb1cf 100644 --- a/src/main/java/appeng/items/parts/PartType.java +++ b/src/main/java/appeng/items/parts/PartType.java @@ -19,28 +19,20 @@ package appeng.items.parts; -import java.lang.reflect.Constructor; -import java.util.Arrays; import java.util.Collections; import java.util.EnumSet; import java.util.HashSet; -import java.util.List; import java.util.Set; -import java.util.stream.Collectors; import appeng.fluids.parts.*; import appeng.parts.p2p.*; -import com.google.common.collect.ImmutableList; -import net.minecraft.client.renderer.model.ModelResourceLocation; import net.minecraft.util.ResourceLocation; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import appeng.api.parts.IPart; -import appeng.api.util.AEColor; import appeng.core.AEConfig; -import appeng.core.AppEng; import appeng.api.features.AEFeature; import appeng.core.localization.GuiText; import appeng.parts.automation.PartAnnihilationPlane; @@ -69,68 +61,40 @@ import appeng.parts.reporting.PartPatternTerminal; import appeng.parts.reporting.PartSemiDarkPanel; import appeng.parts.reporting.PartStorageMonitor; import appeng.parts.reporting.PartTerminal; -import appeng.util.Platform; public enum PartType { - INVALID_TYPE( -1, "invalid", EnumSet.of( AEFeature.CORE ), EnumSet.noneOf( IntegrationType.class ), null ), + INVALID_TYPE(EnumSet.of( AEFeature.CORE ), EnumSet.noneOf( IntegrationType.class ), null ), - CABLE_GLASS( 0, "cable_glass", EnumSet.of( AEFeature.GLASS_CABLES ), EnumSet.noneOf( IntegrationType.class ), PartCableGlass.class ) + CABLE_GLASS(EnumSet.of( AEFeature.GLASS_CABLES ), EnumSet.noneOf( IntegrationType.class ), PartCableGlass.class ) { @Override public boolean isCable() { return true; } - - @Override - @OnlyIn( Dist.CLIENT ) - protected List createItemModels( String baseName ) - { - return Arrays.stream( AEColor.values() ) - .map( color -> modelFromBaseName( baseName + "_" + color.name().toLowerCase() ) ) - .collect( Collectors.toList() ); - } }, - CABLE_COVERED( 20, "cable_covered", EnumSet.of( AEFeature.COVERED_CABLES ), EnumSet.noneOf( IntegrationType.class ), PartCableCovered.class ) + CABLE_COVERED(EnumSet.of( AEFeature.COVERED_CABLES ), EnumSet.noneOf( IntegrationType.class ), PartCableCovered.class ) { @Override public boolean isCable() { return true; } - - @Override - @OnlyIn( Dist.CLIENT ) - protected List createItemModels( String baseName ) - { - return Arrays.stream( AEColor.values() ) - .map( color -> modelFromBaseName( baseName + "_" + color.name().toLowerCase() ) ) - .collect( Collectors.toList() ); - } }, - CABLE_SMART( 40, "cable_smart", EnumSet.of( AEFeature.CHANNELS, AEFeature.SMART_CABLES ), EnumSet.noneOf( IntegrationType.class ), PartCableSmart.class ) + CABLE_SMART(EnumSet.of( AEFeature.CHANNELS, AEFeature.SMART_CABLES ), EnumSet.noneOf( IntegrationType.class ), PartCableSmart.class ) { @Override public boolean isCable() { return true; } - - @Override - @OnlyIn( Dist.CLIENT ) - protected List createItemModels( String baseName ) - { - return Arrays.stream( AEColor.values() ) - .map( color -> modelFromBaseName( baseName + "_" + color.name().toLowerCase() ) ) - .collect( Collectors.toList() ); - } }, - CABLE_DENSE_SMART( 60, "cable_dense_smart", EnumSet.of( AEFeature.CHANNELS, AEFeature.DENSE_CABLES ), EnumSet + CABLE_DENSE_SMART(EnumSet.of( AEFeature.CHANNELS, AEFeature.DENSE_CABLES ), EnumSet .noneOf( IntegrationType.class ), PartDenseCableSmart.class ) { @Override @@ -138,18 +102,9 @@ public enum PartType { return true; } - - @Override - @OnlyIn( Dist.CLIENT ) - protected List createItemModels( String baseName ) - { - return Arrays.stream( AEColor.values() ) - .map( color -> modelFromBaseName( baseName + "_" + color.name().toLowerCase() ) ) - .collect( Collectors.toList() ); - } }, - CABLE_DENSE_COVERED( 500, "cable_dense_covered", EnumSet.of( AEFeature.CHANNELS, AEFeature.DENSE_CABLES ), EnumSet + CABLE_DENSE_COVERED(EnumSet.of( AEFeature.CHANNELS, AEFeature.DENSE_CABLES ), EnumSet .noneOf( IntegrationType.class ), PartDenseCableCovered.class ) { @Override @@ -157,78 +112,69 @@ public enum PartType { return true; } - - @Override - @OnlyIn( Dist.CLIENT ) - protected List createItemModels( String baseName ) - { - return Arrays.stream( AEColor.values() ) - .map( color -> modelFromBaseName( baseName + "_" + color.name().toLowerCase() ) ) - .collect( Collectors.toList() ); - } }, - TOGGLE_BUS( 80, "toggle_bus", EnumSet.of( AEFeature.TOGGLE_BUS ), EnumSet.noneOf( IntegrationType.class ), PartToggleBus.class ), + TOGGLE_BUS(EnumSet.of( AEFeature.TOGGLE_BUS ), EnumSet.noneOf( IntegrationType.class ), PartToggleBus.class ), - INVERTED_TOGGLE_BUS( 100, "inverted_toggle_bus", EnumSet.of( AEFeature.TOGGLE_BUS ), EnumSet.noneOf( IntegrationType.class ), PartInvertedToggleBus.class ), + INVERTED_TOGGLE_BUS(EnumSet.of( AEFeature.TOGGLE_BUS ), EnumSet.noneOf( IntegrationType.class ), PartInvertedToggleBus.class ), - CABLE_ANCHOR( 120, "cable_anchor", EnumSet.of( AEFeature.CABLE_ANCHOR ), EnumSet.noneOf( IntegrationType.class ), PartCableAnchor.class ), + CABLE_ANCHOR(EnumSet.of( AEFeature.CABLE_ANCHOR ), EnumSet.noneOf( IntegrationType.class ), PartCableAnchor.class ), - QUARTZ_FIBER( 140, "quartz_fiber", EnumSet.of( AEFeature.QUARTZ_FIBER ), EnumSet.noneOf( IntegrationType.class ), PartQuartzFiber.class ), + QUARTZ_FIBER(EnumSet.of( AEFeature.QUARTZ_FIBER ), EnumSet.noneOf( IntegrationType.class ), PartQuartzFiber.class ), - MONITOR( 160, "monitor", EnumSet.of( AEFeature.PANELS ), EnumSet.noneOf( IntegrationType.class ), PartPanel.class, "itemIlluminatedPanel" ), + MONITOR(EnumSet.of( AEFeature.PANELS ), EnumSet.noneOf( IntegrationType.class ), PartPanel.class, "itemIlluminatedPanel" ), - SEMI_DARK_MONITOR( 180, "semi_dark_monitor", EnumSet.of( AEFeature.PANELS ), EnumSet + SEMI_DARK_MONITOR(EnumSet.of( AEFeature.PANELS ), EnumSet .noneOf( IntegrationType.class ), PartSemiDarkPanel.class, "itemIlluminatedPanel" ), - DARK_MONITOR( 200, "dark_monitor", EnumSet.of( AEFeature.PANELS ), EnumSet.noneOf( IntegrationType.class ), PartDarkPanel.class, "itemIlluminatedPanel" ), + DARK_MONITOR(EnumSet.of( AEFeature.PANELS ), EnumSet.noneOf( IntegrationType.class ), PartDarkPanel.class, "itemIlluminatedPanel" ), - STORAGE_BUS( 220, "storage_bus", EnumSet.of( AEFeature.STORAGE_BUS ), EnumSet.noneOf( IntegrationType.class ), PartStorageBus.class ), - FLUID_STORAGE_BUS( 221, "fluid_storage_bus", EnumSet.of( AEFeature.FLUID_STORAGE_BUS ), EnumSet + STORAGE_BUS(EnumSet.of( AEFeature.STORAGE_BUS ), EnumSet.noneOf( IntegrationType.class ), PartStorageBus.class ), + FLUID_STORAGE_BUS(EnumSet.of( AEFeature.FLUID_STORAGE_BUS ), EnumSet .noneOf( IntegrationType.class ), PartFluidStorageBus.class ), - IMPORT_BUS( 240, "import_bus", EnumSet.of( AEFeature.IMPORT_BUS ), EnumSet.noneOf( IntegrationType.class ), PartImportBus.class ), + IMPORT_BUS(EnumSet.of( AEFeature.IMPORT_BUS ), EnumSet.noneOf( IntegrationType.class ), PartImportBus.class ), - FLUID_IMPORT_BUS( 241, "fluid_import_bus", EnumSet.of( AEFeature.FLUID_IMPORT_BUS ), EnumSet.noneOf( IntegrationType.class ), PartFluidImportBus.class ), + FLUID_IMPORT_BUS(EnumSet.of( AEFeature.FLUID_IMPORT_BUS ), EnumSet.noneOf( IntegrationType.class ), PartFluidImportBus.class ), - EXPORT_BUS( 260, "export_bus", EnumSet.of( AEFeature.EXPORT_BUS ), EnumSet.noneOf( IntegrationType.class ), PartExportBus.class ), + EXPORT_BUS(EnumSet.of( AEFeature.EXPORT_BUS ), EnumSet.noneOf( IntegrationType.class ), PartExportBus.class ), - FLUID_EXPORT_BUS( 261, "fluid_export_bus", EnumSet.of( AEFeature.FLUID_EXPORT_BUS ), EnumSet.noneOf( IntegrationType.class ), PartFluidExportBus.class ), + FLUID_EXPORT_BUS(EnumSet.of( AEFeature.FLUID_EXPORT_BUS ), EnumSet.noneOf( IntegrationType.class ), PartFluidExportBus.class ), - LEVEL_EMITTER( 280, "level_emitter", EnumSet.of( AEFeature.LEVEL_EMITTER ), EnumSet.noneOf( IntegrationType.class ), PartLevelEmitter.class ), - FLUID_LEVEL_EMITTER( 281, "fluid_level_emitter", EnumSet.of( AEFeature.FLUID_LEVEL_EMITTER ), EnumSet + LEVEL_EMITTER(EnumSet.of( AEFeature.LEVEL_EMITTER ), EnumSet.noneOf( IntegrationType.class ), PartLevelEmitter.class ), + FLUID_LEVEL_EMITTER(EnumSet.of( AEFeature.FLUID_LEVEL_EMITTER ), EnumSet .noneOf( IntegrationType.class ), PartFluidLevelEmitter.class ), - ANNIHILATION_PLANE( 300, "annihilation_plane", EnumSet.of( AEFeature.ANNIHILATION_PLANE ), EnumSet + ANNIHILATION_PLANE(EnumSet.of( AEFeature.ANNIHILATION_PLANE ), EnumSet .noneOf( IntegrationType.class ), PartAnnihilationPlane.class ), - IDENTITY_ANNIHILATION_PLANE( 301, "identity_annihilation_plane", EnumSet.of( AEFeature.ANNIHILATION_PLANE, AEFeature.IDENTITY_ANNIHILATION_PLANE ), EnumSet + IDENTITY_ANNIHILATION_PLANE(EnumSet.of( AEFeature.ANNIHILATION_PLANE, AEFeature.IDENTITY_ANNIHILATION_PLANE ), EnumSet .noneOf( IntegrationType.class ), PartIdentityAnnihilationPlane.class ), - FLUID_ANNIHILATION_PLANE( 302, "fluid_annihilation_plane", EnumSet.of( AEFeature.FLUID_ANNIHILATION_PLANE ), EnumSet + FLUID_ANNIHILATION_PLANE(EnumSet.of( AEFeature.FLUID_ANNIHILATION_PLANE ), EnumSet .noneOf( IntegrationType.class ), PartFluidAnnihilationPlane.class ), - FORMATION_PLANE( 320, "formation_plane", EnumSet.of( AEFeature.FORMATION_PLANE ), EnumSet.noneOf( IntegrationType.class ), PartFormationPlane.class ), + FORMATION_PLANE(EnumSet.of( AEFeature.FORMATION_PLANE ), EnumSet.noneOf( IntegrationType.class ), PartFormationPlane.class ), - FLUID_FORMATION_PLANE( 321, "fluid_formation_plane", EnumSet.of( AEFeature.FLUID_FORMATION_PLANE ), EnumSet + FLUID_FORMATION_PLANE(EnumSet.of( AEFeature.FLUID_FORMATION_PLANE ), EnumSet .noneOf( IntegrationType.class ), PartFluidFormationPlane.class ), - PATTERN_TERMINAL( 340, "pattern_terminal", EnumSet.of( AEFeature.PATTERNS ), EnumSet.noneOf( IntegrationType.class ), PartPatternTerminal.class ), + PATTERN_TERMINAL(EnumSet.of( AEFeature.PATTERNS ), EnumSet.noneOf( IntegrationType.class ), PartPatternTerminal.class ), - CRAFTING_TERMINAL( 360, "crafting_terminal", EnumSet.of( AEFeature.CRAFTING_TERMINAL ), EnumSet + CRAFTING_TERMINAL(EnumSet.of( AEFeature.CRAFTING_TERMINAL ), EnumSet .noneOf( IntegrationType.class ), PartCraftingTerminal.class ), - TERMINAL( 380, "terminal", EnumSet.of( AEFeature.TERMINAL ), EnumSet.noneOf( IntegrationType.class ), PartTerminal.class ), + TERMINAL(EnumSet.of( AEFeature.TERMINAL ), EnumSet.noneOf( IntegrationType.class ), PartTerminal.class ), - STORAGE_MONITOR( 400, "storage_monitor", EnumSet.of( AEFeature.STORAGE_MONITOR ), EnumSet.noneOf( IntegrationType.class ), PartStorageMonitor.class ), + STORAGE_MONITOR(EnumSet.of( AEFeature.STORAGE_MONITOR ), EnumSet.noneOf( IntegrationType.class ), PartStorageMonitor.class ), - CONVERSION_MONITOR( 420, "conversion_monitor", EnumSet.of( AEFeature.PART_CONVERSION_MONITOR ), EnumSet + CONVERSION_MONITOR(EnumSet.of( AEFeature.PART_CONVERSION_MONITOR ), EnumSet .noneOf( IntegrationType.class ), PartConversionMonitor.class ), - INTERFACE( 440, "interface", EnumSet.of( AEFeature.INTERFACE ), EnumSet.noneOf( IntegrationType.class ), PartInterface.class ), - FLUID_INTERFACE( 441, "fluid_interface", EnumSet.of( AEFeature.FLUID_INTERFACE ), EnumSet.noneOf( IntegrationType.class ), PartFluidInterface.class ), + INTERFACE(EnumSet.of( AEFeature.INTERFACE ), EnumSet.noneOf( IntegrationType.class ), PartInterface.class ), + FLUID_INTERFACE(EnumSet.of( AEFeature.FLUID_INTERFACE ), EnumSet.noneOf( IntegrationType.class ), PartFluidInterface.class ), - P2P_TUNNEL_ME( 460, "p2p_tunnel_me", EnumSet.of( AEFeature.P2P_TUNNEL, AEFeature.P2P_TUNNEL_ME ), EnumSet + P2P_TUNNEL_ME(EnumSet.of( AEFeature.P2P_TUNNEL, AEFeature.P2P_TUNNEL_ME ), EnumSet .noneOf( IntegrationType.class ), PartP2PTunnelME.class, GuiText.METunnel ) { @Override @@ -238,7 +184,7 @@ public enum PartType } }, - P2P_TUNNEL_REDSTONE( 461, "p2p_tunnel_redstone", EnumSet.of( AEFeature.P2P_TUNNEL, AEFeature.P2P_TUNNEL_REDSTONE ), EnumSet + P2P_TUNNEL_REDSTONE(EnumSet.of( AEFeature.P2P_TUNNEL, AEFeature.P2P_TUNNEL_REDSTONE ), EnumSet .noneOf( IntegrationType.class ), PartP2PRedstone.class, GuiText.RedstoneTunnel ) { @Override @@ -248,7 +194,7 @@ public enum PartType } }, - P2P_TUNNEL_ITEMS( 462, "p2p_tunnel_items", EnumSet.of( AEFeature.P2P_TUNNEL, AEFeature.P2P_TUNNEL_ITEMS ), EnumSet + P2P_TUNNEL_ITEM(EnumSet.of( AEFeature.P2P_TUNNEL, AEFeature.P2P_TUNNEL_ITEMS ), EnumSet .noneOf( IntegrationType.class ), PartP2PItems.class, GuiText.ItemTunnel ) { @Override @@ -258,7 +204,7 @@ public enum PartType } }, - P2P_TUNNEL_FLUIDS( 463, "p2p_tunnel_fluids", EnumSet.of( AEFeature.P2P_TUNNEL, AEFeature.P2P_TUNNEL_FLUIDS ), EnumSet + P2P_TUNNEL_FLUID(EnumSet.of( AEFeature.P2P_TUNNEL, AEFeature.P2P_TUNNEL_FLUIDS ), EnumSet .noneOf( IntegrationType.class ), PartP2PFluids.class, GuiText.FluidTunnel ) { @Override @@ -278,7 +224,7 @@ public enum PartType //FIXME } //FIXME }, - P2P_TUNNEL_LIGHT( 467, "p2p_tunnel_light", EnumSet.of( AEFeature.P2P_TUNNEL, AEFeature.P2P_TUNNEL_LIGHT ), EnumSet + P2P_TUNNEL_LIGHT(EnumSet.of( AEFeature.P2P_TUNNEL, AEFeature.P2P_TUNNEL_LIGHT ), EnumSet .noneOf( IntegrationType.class ), PartP2PLight.class, GuiText.LightTunnel ) { @Override @@ -288,7 +234,7 @@ public enum PartType } }, - P2P_TUNNEL_FE( 469, "p2p_tunnel_fe", EnumSet.of( AEFeature.P2P_TUNNEL, AEFeature.P2P_TUNNEL_FE ), EnumSet + P2P_TUNNEL_FE(EnumSet.of( AEFeature.P2P_TUNNEL, AEFeature.P2P_TUNNEL_FE ), EnumSet .noneOf( IntegrationType.class ), PartP2PFEPower.class, GuiText.FETunnel ) { @Override @@ -301,100 +247,50 @@ public enum PartType // P2PTunnelOpenComputers( 468, EnumSet.of( AEFeature.P2PTunnel, AEFeature.P2PTunnelOpenComputers ), EnumSet.of( // IntegrationType.OpenComputers ), PartP2POpenComputers.class, GuiText.OCTunnel ), - INTERFACE_TERMINAL( 480, "interface_terminal", EnumSet.of( AEFeature.INTERFACE_TERMINAL ), EnumSet + INTERFACE_TERMINAL(EnumSet.of( AEFeature.INTERFACE_TERMINAL ), EnumSet .noneOf( IntegrationType.class ), PartInterfaceTerminal.class ), - FLUID_TERMINAL( 520, "fluid_terminal", EnumSet.of( AEFeature.FLUID_TERMINAL ), EnumSet.noneOf( IntegrationType.class ), PartFluidTerminal.class ); + FLUID_TERMINAL(EnumSet.of( AEFeature.FLUID_TERMINAL ), EnumSet.noneOf( IntegrationType.class ), PartFluidTerminal.class ); - private final int baseDamage; private final Set features; private final Set integrations; - private final Class myPart; private final GuiText extraName; @OnlyIn( Dist.CLIENT ) - private List itemModels; private final Set models; - private final boolean enabled; - private Constructor constructor; private final String oreName; - PartType( final int baseMetaValue, final String itemModel, final Set features, final Set integrations, final Class c ) + PartType(final Set features, final Set integrations, final Class c) { - this( baseMetaValue, itemModel, features, integrations, c, null, null ); + this(features, integrations, c, null, null ); } - PartType( final int baseMetaValue, final String itemModel, final Set features, final Set integrations, final Class c, final String oreDict ) + PartType(final Set features, final Set integrations, final Class c, final String oreDict) { - this( baseMetaValue, itemModel, features, integrations, c, null, oreDict ); + this(features, integrations, c, null, oreDict ); } - PartType( final int baseMetaValue, final String itemModel, final Set features, final Set integrations, final Class c, final GuiText en ) + PartType(final Set features, final Set integrations, final Class c, final GuiText en) { - this( baseMetaValue, itemModel, features, integrations, c, en, null ); + this(features, integrations, c, en, null ); } - PartType( final int baseMetaValue, final String itemModel, final Set features, final Set integrations, final Class c, final GuiText en, final String oreDict ) + PartType(final Set features, final Set integrations, final Class c, final GuiText en, final String oreDict) { - this.baseDamage = baseMetaValue; this.features = Collections.unmodifiableSet( features ); this.integrations = Collections.unmodifiableSet( integrations ); - this.myPart = c; this.extraName = en; this.oreName = oreDict; - // The part is enabled if all features + integrations it needs are enabled - this.enabled = features.stream().allMatch( AEConfig.instance()::isFeatureEnabled ); /* FIXME && integrations.stream() - .allMatch( IntegrationRegistry.INSTANCE::isEnabled ); */ - - if( this.enabled ) + if( c != null ) { - // Only load models if the part is enabled, otherwise we also run into class-loading issues while - // scanning for annotations - if( Platform.isClientInstall() ) - { - this.itemModels = this.createItemModels( itemModel ); - } - if( c != null ) - { - this.models = new HashSet<>( PartModelsHelper.createModels( c ) ); - } - else - { - this.models = Collections.emptySet(); - } + this.models = new HashSet<>( PartModelsHelper.createModels( c ) ); } else { - if( Platform.isClientInstall() ) - { - this.itemModels = Collections.emptyList(); - } this.models = Collections.emptySet(); } } - @OnlyIn( Dist.CLIENT ) - protected List createItemModels( String baseName ) - { - return ImmutableList.of( modelFromBaseName( baseName ) ); - } - - @OnlyIn( Dist.CLIENT ) - private static ModelResourceLocation modelFromBaseName( String baseName ) - { - return new ModelResourceLocation( new ResourceLocation( AppEng.MOD_ID, "part/" + baseName ), "inventory" ); - } - - public boolean isEnabled() - { - return this.enabled; - } - - int getBaseDamage() - { - return this.baseDamage; - } - public boolean isCable() { return false; @@ -420,22 +316,11 @@ public enum PartType return this.extraName; } - void setConstructor( final Constructor constructor ) - { - this.constructor = constructor; - } - public String getOreName() { return this.oreName; } - @OnlyIn( Dist.CLIENT ) - public List getItemModels() - { - return this.itemModels; - } - public Set getModels() { return this.models; diff --git a/src/main/java/appeng/parts/reporting/AbstractPartTerminal.java b/src/main/java/appeng/parts/reporting/AbstractPartTerminal.java index 45f7455e8..774f38b9b 100644 --- a/src/main/java/appeng/parts/reporting/AbstractPartTerminal.java +++ b/src/main/java/appeng/parts/reporting/AbstractPartTerminal.java @@ -21,7 +21,11 @@ package appeng.parts.reporting; import java.util.List; +import appeng.container.ContainerLocator; +import appeng.container.ContainerOpener; +import appeng.container.implementations.ContainerMEMonitorable; import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.inventory.container.ContainerType; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; import net.minecraft.util.Hand; @@ -115,18 +119,18 @@ public abstract class AbstractPartTerminal extends AbstractPartDisplay implement { if( !super.onPartActivate( player, hand, pos ) ) { - if( Platform.isServer() ) + if( !player.world.isRemote ) { - // FIXME Platform.openGUI( player, this.getHost().getTile(), this.getSide(), this.getGui( player ) ); + ContainerOpener.openContainer(getContainerType(player), player, ContainerLocator.forPart(this)); } } return true; } -// FIXME public GuiBridge getGui( final PlayerEntity player ) -// FIXME { -// FIXME return GuiBridge.GUI_ME; -// FIXME } + public ContainerType getContainerType(final PlayerEntity player ) + { + return ContainerMEMonitorable.TYPE; + } @Override public > IMEMonitor getInventory( IStorageChannel channel ) diff --git a/src/main/java/appeng/parts/reporting/PartCraftingTerminal.java b/src/main/java/appeng/parts/reporting/PartCraftingTerminal.java index cbef544cf..6027b2b18 100644 --- a/src/main/java/appeng/parts/reporting/PartCraftingTerminal.java +++ b/src/main/java/appeng/parts/reporting/PartCraftingTerminal.java @@ -21,7 +21,13 @@ package appeng.parts.reporting; import java.util.List; +import appeng.api.config.SecurityPermissions; +import appeng.api.networking.security.IActionHost; +import appeng.container.implementations.ContainerCraftingTerm; +import appeng.container.implementations.ContainerMEMonitorable; +import appeng.util.Platform; import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.inventory.container.ContainerType; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; import net.minecraft.util.ResourceLocation; @@ -84,25 +90,15 @@ public class PartCraftingTerminal extends AbstractPartTerminal this.craftingGrid.writeToNBT( data, "craftingGrid" ); } -// FIXME @Override -// FIXME public GuiBridge getGui( final PlayerEntity p ) -// FIXME { -// FIXME int x = (int) p.getPosX(); -// FIXME int y = (int) p.getPosY(); -// FIXME int z = (int) p.getPosZ(); -// FIXME if( this.getHost().getTile() != null ) -// FIXME { -// FIXME x = this.getTile().getPos().getX(); -// FIXME y = this.getTile().getPos().getY(); -// FIXME z = this.getTile().getPos().getZ(); -// FIXME } -// FIXME -// FIXME if( GuiBridge.GUI_CRAFTING_TERMINAL.hasPermissions( this.getHost().getTile(), x, y, z, this.getSide(), p ) ) -// FIXME { -// FIXME return GuiBridge.GUI_CRAFTING_TERMINAL; -// FIXME } -// FIXME return GuiBridge.GUI_ME; -// FIXME } + @Override + public ContainerType getContainerType(final PlayerEntity p ) + { + if( Platform.checkPermissions( p, this, SecurityPermissions.CRAFT, false) ) + { + return ContainerCraftingTerm.TYPE; + } + return ContainerMEMonitorable.TYPE; + } @Override public IItemHandler getInventoryByName( final String name ) diff --git a/src/main/java/appeng/parts/reporting/PartPatternTerminal.java b/src/main/java/appeng/parts/reporting/PartPatternTerminal.java index b71f25e14..c13e1a77a 100644 --- a/src/main/java/appeng/parts/reporting/PartPatternTerminal.java +++ b/src/main/java/appeng/parts/reporting/PartPatternTerminal.java @@ -21,7 +21,12 @@ package appeng.parts.reporting; import java.util.List; +import appeng.api.config.SecurityPermissions; +import appeng.container.implementations.ContainerMEMonitorable; +import appeng.container.implementations.ContainerPatternTerm; +import appeng.util.Platform; import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.inventory.container.ContainerType; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; import net.minecraft.util.ResourceLocation; @@ -99,25 +104,15 @@ public class PartPatternTerminal extends AbstractPartTerminal this.crafting.writeToNBT( data, "craftingGrid" ); } -// FIXME @Override -// FIXME public GuiBridge getGui( final PlayerEntity p ) -// FIXME { -// FIXME int x = (int) p.getPosX(); -// FIXME int y = (int) p.getPosY(); -// FIXME int z = (int) p.getPosZ(); -// FIXME if( this.getHost().getTile() != null ) -// FIXME { -// FIXME x = this.getTile().getPos().getX(); -// FIXME y = this.getTile().getPos().getY(); -// FIXME z = this.getTile().getPos().getZ(); -// FIXME } -// FIXME -// FIXME if( GuiBridge.GUI_PATTERN_TERMINAL.hasPermissions( this.getHost().getTile(), x, y, z, this.getSide(), p ) ) -// FIXME { -// FIXME return GuiBridge.GUI_PATTERN_TERMINAL; -// FIXME } -// FIXME return GuiBridge.GUI_ME; -// FIXME } + @Override + public ContainerType getContainerType(final PlayerEntity p ) + { + if(Platform.checkPermissions(p, this, SecurityPermissions.CRAFT, false) ) + { + return ContainerPatternTerm.TYPE; + } + return ContainerMEMonitorable.TYPE; + } @Override public void onChangeInventory( final IItemHandler inv, final int slot, final InvOperation mc, final ItemStack removedStack, final ItemStack newStack ) diff --git a/src/main/java/appeng/tile/networking/CableBusTESR.java b/src/main/java/appeng/tile/networking/CableBusTESR.java index b73a3f71d..b9a3eec08 100644 --- a/src/main/java/appeng/tile/networking/CableBusTESR.java +++ b/src/main/java/appeng/tile/networking/CableBusTESR.java @@ -29,7 +29,7 @@ import appeng.api.parts.IPart; import appeng.tile.AEBaseTile; -public class CableBusTESR extends TileEntityRenderer +public class CableBusTESR extends TileEntityRenderer { public CableBusTESR(TileEntityRendererDispatcher rendererDispatcherIn) { @@ -37,7 +37,11 @@ public class CableBusTESR extends TileEntityRenderer } @Override - public void render(TileCableBusTESR te, float partialTicks, MatrixStack ms, IRenderTypeBuffer buffers, int combinedLightIn, int combinedOverlayIn) { + public void render(TileCableBus te, float partialTicks, MatrixStack ms, IRenderTypeBuffer buffers, int combinedLightIn, int combinedOverlayIn) { + if (!te.getCableBus().isRequiresDynamicRender()) { + return; + } + for( Direction facing : Direction.values() ) { IPart part = te.getPart( facing ); diff --git a/src/main/java/appeng/tile/networking/TileCableBus.java b/src/main/java/appeng/tile/networking/TileCableBus.java index 1c285b22c..7f389ed80 100644 --- a/src/main/java/appeng/tile/networking/TileCableBus.java +++ b/src/main/java/appeng/tile/networking/TileCableBus.java @@ -62,8 +62,6 @@ import java.util.Set; public class TileCableBus extends AEBaseTile implements AEMultiTile { - public static final ModelProperty RENDER_STATE_PROPERTY = new ModelProperty<>(); - private CableBusContainer cb = new CableBusContainer( this ); private int oldLV = -1; // on re-calculate light when it changes @@ -117,19 +115,19 @@ public class TileCableBus extends AEBaseTile implements AEMultiTile */ protected void updateTileSetting() { - if( this.getCableBus().isRequiresDynamicRender() ) - { - try - { - final TileCableBus tcb = (TileCableBus) BlockCableBus.getTesrTile().newInstance(); - tcb.copyFrom( this ); - this.getWorld().setTileEntity( this.pos, tcb ); - } - catch( final Throwable ignored ) - { - - } - } +// FIXME if( this.getCableBus().isRequiresDynamicRender() ) +// FIXME { +// FIXME try +// FIXME { +// FIXME final TileCableBus tcb = (TileCableBus) BlockCableBus.getTesrTile().newInstance(); +// FIXME tcb.copyFrom( this ); +// FIXME this.getWorld().setTileEntity( this.pos, tcb ); +// FIXME } +// FIXME catch( final Throwable ignored ) +// FIXME { +// FIXME +// FIXME } +// FIXME } } protected void copyFrom( final TileCableBus oldTile ) @@ -401,7 +399,7 @@ public class TileCableBus extends AEBaseTile implements AEMultiTile renderState.setWorld(world); renderState.setPos(pos); return new ModelDataMap.Builder() - .withInitial(RENDER_STATE_PROPERTY, renderState) + .withInitial(CableBusRenderState.PROPERTY, renderState) .build(); } diff --git a/src/main/java/appeng/tile/networking/TileCableBusTESR.java b/src/main/java/appeng/tile/networking/TileCableBusTESR.java index f75ea0bdf..ac061041d 100644 --- a/src/main/java/appeng/tile/networking/TileCableBusTESR.java +++ b/src/main/java/appeng/tile/networking/TileCableBusTESR.java @@ -36,18 +36,18 @@ public class TileCableBusTESR extends TileCableBus @Override protected void updateTileSetting() { - if( !this.getCableBus().isRequiresDynamicRender() ) - { - try - { - final TileCableBus tcb = (TileCableBus) BlockCableBus.getNoTesrTile().newInstance(); - tcb.copyFrom( this ); - this.getWorld().setTileEntity( this.pos, tcb ); - } - catch( final Throwable ignored ) - { - - } - } +// FIXME if( !this.getCableBus().isRequiresDynamicRender() ) +// FIXME { +// FIXME try +// FIXME { +// FIXME final TileCableBus tcb = (TileCableBus) BlockCableBus.getNoTesrTile().newInstance(); +// FIXME tcb.copyFrom( this ); +// FIXME this.getWorld().setTileEntity( this.pos, tcb ); +// FIXME } +// FIXME catch( final Throwable ignored ) +// FIXME { +// FIXME +// FIXME } +// FIXME } } } diff --git a/src/main/java/appeng/util/InventoryAdaptor.java b/src/main/java/appeng/util/InventoryAdaptor.java index 63216cba1..51b887795 100644 --- a/src/main/java/appeng/util/InventoryAdaptor.java +++ b/src/main/java/appeng/util/InventoryAdaptor.java @@ -23,6 +23,7 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Direction; +import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; @@ -43,15 +44,16 @@ public abstract class InventoryAdaptor implements Iterable { public static InventoryAdaptor getAdaptor( final TileEntity te, final Direction d ) { - // FIXME if( te != null && te.getCapability( CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, d ) ) - // FIXME { - // FIXME // Attempt getting an IItemHandler for the given side via caps - // FIXME IItemHandler itemHandler = te.getCapability( CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, d ); - // FIXME if( itemHandler != null ) - // FIXME { - // FIXME return new AdaptorItemHandler( itemHandler ); - // FIXME } - // FIXME } + if( te != null ) + { + LazyOptional cap = te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, d); + + // Attempt getting an IItemHandler for the given side via caps + if( cap.isPresent() ) + { + return new AdaptorItemHandler( cap.orElseThrow(IllegalStateException::new) ); + } + } return null; } diff --git a/src/main/java/appeng/util/Platform.java b/src/main/java/appeng/util/Platform.java index cd193337c..ff5d0c553 100644 --- a/src/main/java/appeng/util/Platform.java +++ b/src/main/java/appeng/util/Platform.java @@ -33,6 +33,7 @@ import appeng.api.networking.security.IActionHost; import appeng.api.networking.security.IActionSource; import appeng.api.networking.security.ISecurityGrid; import appeng.api.networking.storage.IStorageGrid; +import appeng.api.parts.IPart; import appeng.api.storage.IMEInventory; import appeng.api.storage.IMEMonitor; import appeng.api.storage.IMEMonitorHandlerReceiver; @@ -77,6 +78,7 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.*; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.StringTextComponent; +import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TranslationTextComponent; import net.minecraft.world.World; import net.minecraft.world.server.ServerWorld; @@ -325,44 +327,6 @@ public class Platform return false; } -// public static void openGUI(@Nonnull final PlayerEntity p, @Nullable final TileEntity tile, @Nullable final AEPartLocation side, @Nonnull final ContainerType type ) -// { -// if( isClient() ) -// { -// return; -// } -// -// int x = (int) p.getPosX(); -// int y = (int) p.getPosY(); -// int z = (int) p.getPosZ(); -// if( tile != null ) -// { -// x = tile.getPos().getX(); -// y = tile.getPos().getY(); -// z = tile.getPos().getZ(); -// } -// -// if( ( type.getType().isItem() && tile == null ) || type.hasPermissions( tile, x, y, z, side, p ) ) -// { -// if( tile == null && type.getType() == GuiHostType.ITEM ) -// { -// NetworkHooks.openGui(p, ); -// // FIXME NetworkHooks.openGui -// // p.openGui( AppEng.instance(), type.ordinal() << 4, p.getEntityWorld(), p.inventory.currentItem, 0, 0 ); -// } -// else if( tile == null || type.getType() == GuiHostType.ITEM ) -// { -// // FIXME NetworkHooks.openGui -// // p.openGui( AppEng.instance(), type.ordinal() << 4 | ( 1 << 3 ), p.getEntityWorld(), x, y, z ); -// } -// else -// { -// // FIXME NetworkHooks.openGui -// // p.openGui( AppEng.instance(), type.ordinal() << 4 | ( side.ordinal() ), tile.getWorld(), x, y, z ); -// } -// } -// } - /** * @return True if client-side classes (such as Renderers) are available. */ @@ -393,6 +357,37 @@ public class Platform } return player.world.canMineBlockBody( player, dc.getPos() ); } + + public static boolean checkPermissions(final PlayerEntity player, final Object accessInterface, SecurityPermissions requiredPermission, boolean notifyPlayer) { + // FIXME: Check permissions... + if (requiredPermission != null && accessInterface instanceof IActionHost) { + final IGridNode gn = ((IActionHost) accessInterface).getActionableNode(); + if (gn != null) { + final IGrid g = gn.getGrid(); + if (g != null) { + final boolean requirePower = false; + if (requirePower) { + final IEnergyGrid eg = g.getCache(IEnergyGrid.class); + if (!eg.isNetworkPowered()) { + // FIXME trace logging? + return false; + } + } + + final ISecurityGrid sg = g.getCache(ISecurityGrid.class); + if (!sg.hasPermission(player, requiredPermission)) { + player.sendMessage(new TranslationTextComponent("appliedenergistics2.permission_denied") + .applyTextStyle(TextFormatting.RED)); + // FIXME trace logging? + return false; + } + } + } + } + + return true; + } + // // /* // * Checks to see if a block is air? diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/annihilation_plane.json b/src/main/resources/assets/appliedenergistics2/models/item/annihilation_plane.json similarity index 96% rename from src/main/resources/assets/appliedenergistics2/models/item/part/annihilation_plane.json rename to src/main/resources/assets/appliedenergistics2/models/item/annihilation_plane.json index 1d43852d3..328390887 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/annihilation_plane.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/annihilation_plane.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "textures": { "sides": "appliedenergistics2:parts/plane_sides", "plane": "appliedenergistics2:item/part/annihilation_plane" diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_black.json b/src/main/resources/assets/appliedenergistics2/models/item/black_covered_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_black.json rename to src/main/resources/assets/appliedenergistics2/models/item/black_covered_cable.json index 57609274f..03469ea6f 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_black.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/black_covered_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_covered_base", + "parent": "appliedenergistics2:item/covered_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/covered/black" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_black.json b/src/main/resources/assets/appliedenergistics2/models/item/black_covered_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_black.json rename to src/main/resources/assets/appliedenergistics2/models/item/black_covered_dense_cable.json index b03412c79..36875cfa5 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_black.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/black_covered_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "parent": "appliedenergistics2:item/covered_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_covered/black" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_black.json b/src/main/resources/assets/appliedenergistics2/models/item/black_glass_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_black.json rename to src/main/resources/assets/appliedenergistics2/models/item/black_glass_cable.json index 5ee8801b8..93dbc2e2c 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_black.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/black_glass_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_glass_base", + "parent": "appliedenergistics2:item/glass_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/glass/black" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_black.json b/src/main/resources/assets/appliedenergistics2/models/item/black_smart_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_black.json rename to src/main/resources/assets/appliedenergistics2/models/item/black_smart_cable.json index 429601b3a..34e537574 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_black.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/black_smart_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_smart_base", + "parent": "appliedenergistics2:item/smart_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/smart/black" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_black.json b/src/main/resources/assets/appliedenergistics2/models/item/black_smart_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_black.json rename to src/main/resources/assets/appliedenergistics2/models/item/black_smart_dense_cable.json index 1529d2d01..c5a7419d4 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_black.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/black_smart_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_smart_base", + "parent": "appliedenergistics2:item/smart_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_smart/black" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_blue.json b/src/main/resources/assets/appliedenergistics2/models/item/blue_covered_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_blue.json rename to src/main/resources/assets/appliedenergistics2/models/item/blue_covered_cable.json index e2f7987b9..8af0cdbad 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_blue.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/blue_covered_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_covered_base", + "parent": "appliedenergistics2:item/covered_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/covered/blue" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_blue.json b/src/main/resources/assets/appliedenergistics2/models/item/blue_covered_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_blue.json rename to src/main/resources/assets/appliedenergistics2/models/item/blue_covered_dense_cable.json index 367e3fc64..1eebaff0d 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_blue.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/blue_covered_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "parent": "appliedenergistics2:item/covered_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_covered/blue" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_blue.json b/src/main/resources/assets/appliedenergistics2/models/item/blue_glass_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_blue.json rename to src/main/resources/assets/appliedenergistics2/models/item/blue_glass_cable.json index 062aff842..dec655133 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_blue.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/blue_glass_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_glass_base", + "parent": "appliedenergistics2:item/glass_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/glass/blue" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_blue.json b/src/main/resources/assets/appliedenergistics2/models/item/blue_smart_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_blue.json rename to src/main/resources/assets/appliedenergistics2/models/item/blue_smart_cable.json index f082e933d..a78e7ac00 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_blue.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/blue_smart_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_smart_base", + "parent": "appliedenergistics2:item/smart_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/smart/blue" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_blue.json b/src/main/resources/assets/appliedenergistics2/models/item/blue_smart_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_blue.json rename to src/main/resources/assets/appliedenergistics2/models/item/blue_smart_dense_cable.json index 34a96fc74..c622d15ea 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_blue.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/blue_smart_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_smart_base", + "parent": "appliedenergistics2:item/smart_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_smart/blue" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_brown.json b/src/main/resources/assets/appliedenergistics2/models/item/brown_covered_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_brown.json rename to src/main/resources/assets/appliedenergistics2/models/item/brown_covered_cable.json index cb86df000..8bc786751 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_brown.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/brown_covered_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_covered_base", + "parent": "appliedenergistics2:item/covered_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/covered/brown" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_brown.json b/src/main/resources/assets/appliedenergistics2/models/item/brown_covered_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_brown.json rename to src/main/resources/assets/appliedenergistics2/models/item/brown_covered_dense_cable.json index c3efafbfb..4354313e1 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_brown.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/brown_covered_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "parent": "appliedenergistics2:item/covered_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_covered/brown" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_brown.json b/src/main/resources/assets/appliedenergistics2/models/item/brown_glass_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_brown.json rename to src/main/resources/assets/appliedenergistics2/models/item/brown_glass_cable.json index c5fc6655b..b5f874103 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_brown.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/brown_glass_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_glass_base", + "parent": "appliedenergistics2:item/glass_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/glass/brown" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_brown.json b/src/main/resources/assets/appliedenergistics2/models/item/brown_smart_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_brown.json rename to src/main/resources/assets/appliedenergistics2/models/item/brown_smart_cable.json index 96e9e07fb..3cd89f5d5 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_brown.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/brown_smart_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_smart_base", + "parent": "appliedenergistics2:item/smart_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/smart/brown" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_brown.json b/src/main/resources/assets/appliedenergistics2/models/item/brown_smart_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_brown.json rename to src/main/resources/assets/appliedenergistics2/models/item/brown_smart_dense_cable.json index 0da8ac179..48ebc06f5 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_brown.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/brown_smart_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_smart_base", + "parent": "appliedenergistics2:item/smart_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_smart/brown" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_anchor.json b/src/main/resources/assets/appliedenergistics2/models/item/cable_anchor.json similarity index 94% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_anchor.json rename to src/main/resources/assets/appliedenergistics2/models/item/cable_anchor.json index b3662e73a..84b1550cc 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_anchor.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/cable_anchor.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "textures": { "all": "appliedenergistics2:parts/cable_anchor", "particle": "appliedenergistics2:parts/cable_anchor" diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/fluid_interface.json b/src/main/resources/assets/appliedenergistics2/models/item/cable_fluid_interface.json similarity index 97% rename from src/main/resources/assets/appliedenergistics2/models/item/part/fluid_interface.json rename to src/main/resources/assets/appliedenergistics2/models/item/cable_fluid_interface.json index 77f93c586..bd7f7e264 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/fluid_interface.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/cable_fluid_interface.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "textures": { "sides": "appliedenergistics2:parts/monitor_sides", "back": "appliedenergistics2:parts/monitor_back", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/interface.json b/src/main/resources/assets/appliedenergistics2/models/item/cable_interface.json similarity index 97% rename from src/main/resources/assets/appliedenergistics2/models/item/part/interface.json rename to src/main/resources/assets/appliedenergistics2/models/item/cable_interface.json index 03dcc7512..e5949bcee 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/interface.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/cable_interface.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "textures": { "sides": "appliedenergistics2:parts/monitor_sides", "back": "appliedenergistics2:parts/monitor_back", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/conversion_monitor.json b/src/main/resources/assets/appliedenergistics2/models/item/conversion_monitor.json similarity index 85% rename from src/main/resources/assets/appliedenergistics2/models/item/part/conversion_monitor.json rename to src/main/resources/assets/appliedenergistics2/models/item/conversion_monitor.json index ca47c1646..1a5e7d74b 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/conversion_monitor.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/conversion_monitor.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/display", + "parent": "appliedenergistics2:item/display_base", "textures": { "front": "appliedenergistics2:item/part/conversion_monitor", "front_bright": "appliedenergistics2:parts/conversion_monitor_bright", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_base.json b/src/main/resources/assets/appliedenergistics2/models/item/covered_cable_base.json similarity index 97% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_base.json rename to src/main/resources/assets/appliedenergistics2/models/item/covered_cable_base.json index 34b248598..32c67cd72 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_base.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/covered_cable_base.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "elements": [ { "name": "Element", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_base.json b/src/main/resources/assets/appliedenergistics2/models/item/covered_dense_cable_base.json similarity index 97% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_base.json rename to src/main/resources/assets/appliedenergistics2/models/item/covered_dense_cable_base.json index 6b60f1f22..fa02e1bbe 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_base.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/covered_dense_cable_base.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "elements": [ { "name": "Base", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/crafting_terminal.json b/src/main/resources/assets/appliedenergistics2/models/item/crafting_terminal.json similarity index 85% rename from src/main/resources/assets/appliedenergistics2/models/item/part/crafting_terminal.json rename to src/main/resources/assets/appliedenergistics2/models/item/crafting_terminal.json index a69cccfc8..e735aacf7 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/crafting_terminal.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/crafting_terminal.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/display", + "parent": "appliedenergistics2:item/display_base", "textures": { "front": "appliedenergistics2:item/part/crafting_terminal", "front_bright": "appliedenergistics2:parts/crafting_terminal_bright", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_cyan.json b/src/main/resources/assets/appliedenergistics2/models/item/cyan_covered_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_cyan.json rename to src/main/resources/assets/appliedenergistics2/models/item/cyan_covered_cable.json index de852ab6a..e0563c39c 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_cyan.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/cyan_covered_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_covered_base", + "parent": "appliedenergistics2:item/covered_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/covered/cyan" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_cyan.json b/src/main/resources/assets/appliedenergistics2/models/item/cyan_covered_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_cyan.json rename to src/main/resources/assets/appliedenergistics2/models/item/cyan_covered_dense_cable.json index 26d31be87..3da96d0b9 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_cyan.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/cyan_covered_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "parent": "appliedenergistics2:item/covered_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_covered/cyan" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_cyan.json b/src/main/resources/assets/appliedenergistics2/models/item/cyan_glass_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_cyan.json rename to src/main/resources/assets/appliedenergistics2/models/item/cyan_glass_cable.json index ee32ebd82..ceac2b9e4 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_cyan.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/cyan_glass_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_glass_base", + "parent": "appliedenergistics2:item/glass_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/glass/cyan" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_cyan.json b/src/main/resources/assets/appliedenergistics2/models/item/cyan_smart_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_cyan.json rename to src/main/resources/assets/appliedenergistics2/models/item/cyan_smart_cable.json index b52769a05..4b18a5022 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_cyan.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/cyan_smart_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_smart_base", + "parent": "appliedenergistics2:item/smart_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/smart/cyan" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_cyan.json b/src/main/resources/assets/appliedenergistics2/models/item/cyan_smart_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_cyan.json rename to src/main/resources/assets/appliedenergistics2/models/item/cyan_smart_dense_cable.json index 9e1ad7a7d..3fcfed058 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_cyan.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/cyan_smart_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_smart_base", + "parent": "appliedenergistics2:item/smart_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_smart/cyan" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/dark_monitor.json b/src/main/resources/assets/appliedenergistics2/models/item/dark_monitor.json similarity index 84% rename from src/main/resources/assets/appliedenergistics2/models/item/part/dark_monitor.json rename to src/main/resources/assets/appliedenergistics2/models/item/dark_monitor.json index 530f7d2be..27302137b 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/dark_monitor.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/dark_monitor.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/display", + "parent": "appliedenergistics2:item/display_base", "textures": { "front": "appliedenergistics2:parts/monitor_front", "front_bright": "appliedenergistics2:parts/monitor_colored", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/display.json b/src/main/resources/assets/appliedenergistics2/models/item/display_base.json similarity index 98% rename from src/main/resources/assets/appliedenergistics2/models/item/part/display.json rename to src/main/resources/assets/appliedenergistics2/models/item/display_base.json index ee5f8e3b4..bf353dc5e 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/display.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/display_base.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "textures": { "sides": "appliedenergistics2:parts/monitor_sides", "back": "appliedenergistics2:parts/monitor_back", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/export_bus.json b/src/main/resources/assets/appliedenergistics2/models/item/export_bus.json similarity index 97% rename from src/main/resources/assets/appliedenergistics2/models/item/part/export_bus.json rename to src/main/resources/assets/appliedenergistics2/models/item/export_bus.json index 7a35000c7..0f3dbeff4 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/export_bus.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/export_bus.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "textures": { "sides": "appliedenergistics2:parts/export_bus_sides", "back": "appliedenergistics2:parts/monitor_back", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_fe.json b/src/main/resources/assets/appliedenergistics2/models/item/fe_p2p_tunnel.json similarity index 52% rename from src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_fe.json rename to src/main/resources/assets/appliedenergistics2/models/item/fe_p2p_tunnel.json index cc011800f..85d2a333a 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_fe.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/fe_p2p_tunnel.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/p2p_tunnel", + "parent": "appliedenergistics2:item/p2p_tunnel_base", "textures": { "type": "block/gold_block" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/fluid_annihilation_plane.json b/src/main/resources/assets/appliedenergistics2/models/item/fluid_annihilation_plane.json similarity index 96% rename from src/main/resources/assets/appliedenergistics2/models/item/part/fluid_annihilation_plane.json rename to src/main/resources/assets/appliedenergistics2/models/item/fluid_annihilation_plane.json index 61bd2d3a0..b209bbc0c 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/fluid_annihilation_plane.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/fluid_annihilation_plane.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "textures": { "sides": "appliedenergistics2:parts/plane_sides", "plane": "appliedenergistics2:item/part/fluid_annihilation_plane" diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/fluid_export_bus.json b/src/main/resources/assets/appliedenergistics2/models/item/fluid_export_bus.json similarity index 97% rename from src/main/resources/assets/appliedenergistics2/models/item/part/fluid_export_bus.json rename to src/main/resources/assets/appliedenergistics2/models/item/fluid_export_bus.json index 029f7e6ad..e6f6410c4 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/fluid_export_bus.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/fluid_export_bus.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "textures": { "sides": "appliedenergistics2:parts/export_bus_sides", "back": "appliedenergistics2:parts/monitor_back", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/fluid_formation_plane.json b/src/main/resources/assets/appliedenergistics2/models/item/fluid_formation_plane.json similarity index 60% rename from src/main/resources/assets/appliedenergistics2/models/item/part/fluid_formation_plane.json rename to src/main/resources/assets/appliedenergistics2/models/item/fluid_formation_plane.json index 5b99bf89e..33d64d2e1 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/fluid_formation_plane.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/fluid_formation_plane.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/annihilation_plane", + "parent": "appliedenergistics2:item/annihilation_plane", "textures": { "plane": "appliedenergistics2:item/part/fluid_formation_plane" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/fluid_import_bus.json b/src/main/resources/assets/appliedenergistics2/models/item/fluid_import_bus.json similarity index 97% rename from src/main/resources/assets/appliedenergistics2/models/item/part/fluid_import_bus.json rename to src/main/resources/assets/appliedenergistics2/models/item/fluid_import_bus.json index 485560194..8e127bfb3 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/fluid_import_bus.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/fluid_import_bus.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "textures": { "sides": "appliedenergistics2:parts/import_bus_sides", "back": "appliedenergistics2:parts/monitor_back", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/fluid_level_emitter.json b/src/main/resources/assets/appliedenergistics2/models/item/fluid_level_emitter.json similarity index 97% rename from src/main/resources/assets/appliedenergistics2/models/item/part/fluid_level_emitter.json rename to src/main/resources/assets/appliedenergistics2/models/item/fluid_level_emitter.json index 38a884f5c..55b1728f4 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/fluid_level_emitter.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/fluid_level_emitter.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "textures": { "emitter": "appliedenergistics2:item/part/level_emitter_off" }, diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_fluids.json b/src/main/resources/assets/appliedenergistics2/models/item/fluid_p2p_tunnel.json similarity index 52% rename from src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_fluids.json rename to src/main/resources/assets/appliedenergistics2/models/item/fluid_p2p_tunnel.json index 9f7b8ba14..b978b1d7c 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_fluids.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/fluid_p2p_tunnel.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/p2p_tunnel", + "parent": "appliedenergistics2:item/p2p_tunnel_base", "textures": { "type": "block/lapis_block" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/fluid_storage_bus.json b/src/main/resources/assets/appliedenergistics2/models/item/fluid_storage_bus.json similarity index 97% rename from src/main/resources/assets/appliedenergistics2/models/item/part/fluid_storage_bus.json rename to src/main/resources/assets/appliedenergistics2/models/item/fluid_storage_bus.json index ef6269c99..1c1115095 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/fluid_storage_bus.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/fluid_storage_bus.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "textures": { "sides": "appliedenergistics2:parts/storage_bus_sides", "back": "appliedenergistics2:parts/storage_bus_back", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/fluid_terminal.json b/src/main/resources/assets/appliedenergistics2/models/item/fluid_terminal.json similarity index 85% rename from src/main/resources/assets/appliedenergistics2/models/item/part/fluid_terminal.json rename to src/main/resources/assets/appliedenergistics2/models/item/fluid_terminal.json index f1ea1a39e..bfa892da0 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/fluid_terminal.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/fluid_terminal.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/display", + "parent": "appliedenergistics2:item/display_base", "textures": { "front": "appliedenergistics2:item/part/crafting_terminal", "front_bright": "appliedenergistics2:parts/fluid_terminal/lights_bright", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_transparent.json b/src/main/resources/assets/appliedenergistics2/models/item/fluix_covered_cable.json similarity index 59% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_transparent.json rename to src/main/resources/assets/appliedenergistics2/models/item/fluix_covered_cable.json index b594c26ca..12ccf81d9 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_transparent.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/fluix_covered_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_covered_base", + "parent": "appliedenergistics2:item/covered_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/covered/transparent" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_transparent.json b/src/main/resources/assets/appliedenergistics2/models/item/fluix_covered_dense_cable.json similarity index 59% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_transparent.json rename to src/main/resources/assets/appliedenergistics2/models/item/fluix_covered_dense_cable.json index f6e48f481..97300841d 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_transparent.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/fluix_covered_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "parent": "appliedenergistics2:item/covered_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_covered/transparent" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_transparent.json b/src/main/resources/assets/appliedenergistics2/models/item/fluix_glass_cable.json similarity index 60% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_transparent.json rename to src/main/resources/assets/appliedenergistics2/models/item/fluix_glass_cable.json index 243378f8a..d65ddc4f9 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_transparent.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/fluix_glass_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_glass_base", + "parent": "appliedenergistics2:item/glass_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/glass/transparent" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_transparent.json b/src/main/resources/assets/appliedenergistics2/models/item/fluix_smart_cable.json similarity index 60% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_transparent.json rename to src/main/resources/assets/appliedenergistics2/models/item/fluix_smart_cable.json index ec72a41a3..a470fe647 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_transparent.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/fluix_smart_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_smart_base", + "parent": "appliedenergistics2:item/smart_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/smart/transparent" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_transparent.json b/src/main/resources/assets/appliedenergistics2/models/item/fluix_smart_dense_cable.json similarity index 59% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_transparent.json rename to src/main/resources/assets/appliedenergistics2/models/item/fluix_smart_dense_cable.json index 0f63cdfd7..5e0ef6541 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_transparent.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/fluix_smart_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_smart_base", + "parent": "appliedenergistics2:item/smart_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_smart/transparent" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/formation_plane.json b/src/main/resources/assets/appliedenergistics2/models/item/formation_plane.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/formation_plane.json rename to src/main/resources/assets/appliedenergistics2/models/item/formation_plane.json index 27614f87b..bbad02c5c 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/formation_plane.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/formation_plane.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/annihilation_plane", + "parent": "appliedenergistics2:item/annihilation_plane", "textures": { "plane": "appliedenergistics2:item/part/formation_plane" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_base.json b/src/main/resources/assets/appliedenergistics2/models/item/glass_cable_base.json similarity index 93% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_base.json rename to src/main/resources/assets/appliedenergistics2/models/item/glass_cable_base.json index d58c2b93c..cc57fd5f4 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_base.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/glass_cable_base.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "elements": [ { "from": [ diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_gray.json b/src/main/resources/assets/appliedenergistics2/models/item/gray_covered_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_gray.json rename to src/main/resources/assets/appliedenergistics2/models/item/gray_covered_cable.json index 1198234c3..c31e02dd2 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_gray.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/gray_covered_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_covered_base", + "parent": "appliedenergistics2:item/covered_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/covered/gray" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_gray.json b/src/main/resources/assets/appliedenergistics2/models/item/gray_covered_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_gray.json rename to src/main/resources/assets/appliedenergistics2/models/item/gray_covered_dense_cable.json index d7c132da4..b7459503b 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_gray.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/gray_covered_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "parent": "appliedenergistics2:item/covered_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_covered/gray" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_gray.json b/src/main/resources/assets/appliedenergistics2/models/item/gray_glass_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_gray.json rename to src/main/resources/assets/appliedenergistics2/models/item/gray_glass_cable.json index a1405eea3..f346db944 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_gray.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/gray_glass_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_glass_base", + "parent": "appliedenergistics2:item/glass_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/glass/gray" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_gray.json b/src/main/resources/assets/appliedenergistics2/models/item/gray_smart_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_gray.json rename to src/main/resources/assets/appliedenergistics2/models/item/gray_smart_cable.json index 68e6ddfcb..4c9a43793 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_gray.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/gray_smart_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_smart_base", + "parent": "appliedenergistics2:item/smart_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/smart/gray" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_gray.json b/src/main/resources/assets/appliedenergistics2/models/item/gray_smart_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_gray.json rename to src/main/resources/assets/appliedenergistics2/models/item/gray_smart_dense_cable.json index 8b86a3c38..6c125ccc9 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_gray.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/gray_smart_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_smart_base", + "parent": "appliedenergistics2:item/smart_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_smart/gray" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_green.json b/src/main/resources/assets/appliedenergistics2/models/item/green_covered_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_green.json rename to src/main/resources/assets/appliedenergistics2/models/item/green_covered_cable.json index be275445f..20da628e1 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_green.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/green_covered_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_covered_base", + "parent": "appliedenergistics2:item/covered_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/covered/green" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_green.json b/src/main/resources/assets/appliedenergistics2/models/item/green_covered_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_green.json rename to src/main/resources/assets/appliedenergistics2/models/item/green_covered_dense_cable.json index d654b6d2f..096c51ebb 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_green.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/green_covered_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "parent": "appliedenergistics2:item/covered_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_covered/green" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_green.json b/src/main/resources/assets/appliedenergistics2/models/item/green_glass_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_green.json rename to src/main/resources/assets/appliedenergistics2/models/item/green_glass_cable.json index 14e56eb85..dfa58b720 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_green.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/green_glass_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_glass_base", + "parent": "appliedenergistics2:item/glass_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/glass/green" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_green.json b/src/main/resources/assets/appliedenergistics2/models/item/green_smart_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_green.json rename to src/main/resources/assets/appliedenergistics2/models/item/green_smart_cable.json index adae9b3ba..7dc83921d 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_green.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/green_smart_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_smart_base", + "parent": "appliedenergistics2:item/smart_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/smart/green" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_green.json b/src/main/resources/assets/appliedenergistics2/models/item/green_smart_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_green.json rename to src/main/resources/assets/appliedenergistics2/models/item/green_smart_dense_cable.json index 937609d84..aa19cc47d 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_green.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/green_smart_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_smart_base", + "parent": "appliedenergistics2:item/smart_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_smart/green" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_ic2.json b/src/main/resources/assets/appliedenergistics2/models/item/ic2_p2p_tunnel.json similarity index 53% rename from src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_ic2.json rename to src/main/resources/assets/appliedenergistics2/models/item/ic2_p2p_tunnel.json index 5a563e2d2..102b3ff51 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_ic2.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/ic2_p2p_tunnel.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/p2p_tunnel", + "parent": "appliedenergistics2:item/p2p_tunnel_base", "textures": { "type": "block/diamond_block" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/identity_annihilation_plane.json b/src/main/resources/assets/appliedenergistics2/models/item/identity_annihilation_plane.json similarity index 61% rename from src/main/resources/assets/appliedenergistics2/models/item/part/identity_annihilation_plane.json rename to src/main/resources/assets/appliedenergistics2/models/item/identity_annihilation_plane.json index fb781b6db..69243d670 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/identity_annihilation_plane.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/identity_annihilation_plane.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/annihilation_plane", + "parent": "appliedenergistics2:item/annihilation_plane", "textures": { "plane": "appliedenergistics2:item/part/identity_annihilation_plane" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/import_bus.json b/src/main/resources/assets/appliedenergistics2/models/item/import_bus.json similarity index 97% rename from src/main/resources/assets/appliedenergistics2/models/item/part/import_bus.json rename to src/main/resources/assets/appliedenergistics2/models/item/import_bus.json index c1c865fd7..c629108ee 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/import_bus.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/import_bus.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "textures": { "sides": "appliedenergistics2:parts/import_bus_sides", "back": "appliedenergistics2:parts/monitor_back", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/interface_terminal.json b/src/main/resources/assets/appliedenergistics2/models/item/interface_terminal.json similarity index 85% rename from src/main/resources/assets/appliedenergistics2/models/item/part/interface_terminal.json rename to src/main/resources/assets/appliedenergistics2/models/item/interface_terminal.json index 9c1ebc72f..bb8425066 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/interface_terminal.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/interface_terminal.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/display", + "parent": "appliedenergistics2:item/display_base", "textures": { "front": "appliedenergistics2:item/part/interface_terminal", "front_bright": "appliedenergistics2:parts/interface_terminal_bright", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/inverted_toggle_bus.json b/src/main/resources/assets/appliedenergistics2/models/item/inverted_toggle_bus.json similarity index 62% rename from src/main/resources/assets/appliedenergistics2/models/item/part/inverted_toggle_bus.json rename to src/main/resources/assets/appliedenergistics2/models/item/inverted_toggle_bus.json index 65507811b..1b0396fe1 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/inverted_toggle_bus.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/inverted_toggle_bus.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/toggle_bus", + "parent": "appliedenergistics2:item/toggle_bus", "textures": { "bus": "appliedenergistics2:item/part/inverted_toggle_bus" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_items.json b/src/main/resources/assets/appliedenergistics2/models/item/item_p2p_tunnel.json similarity index 53% rename from src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_items.json rename to src/main/resources/assets/appliedenergistics2/models/item/item_p2p_tunnel.json index 324821f92..a52275810 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_items.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/item_p2p_tunnel.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/p2p_tunnel", + "parent": "appliedenergistics2:item/p2p_tunnel_base", "textures": { "type": "block/hopper_outside" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/level_emitter.json b/src/main/resources/assets/appliedenergistics2/models/item/level_emitter.json similarity index 97% rename from src/main/resources/assets/appliedenergistics2/models/item/part/level_emitter.json rename to src/main/resources/assets/appliedenergistics2/models/item/level_emitter.json index 38a884f5c..55b1728f4 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/level_emitter.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/level_emitter.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "textures": { "emitter": "appliedenergistics2:item/part/level_emitter_off" }, diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_light_blue.json b/src/main/resources/assets/appliedenergistics2/models/item/light_blue_covered_cable.json similarity index 59% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_light_blue.json rename to src/main/resources/assets/appliedenergistics2/models/item/light_blue_covered_cable.json index e3f0829e1..0642de071 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_light_blue.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/light_blue_covered_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_covered_base", + "parent": "appliedenergistics2:item/covered_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/covered/light_blue" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_light_blue.json b/src/main/resources/assets/appliedenergistics2/models/item/light_blue_covered_dense_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_light_blue.json rename to src/main/resources/assets/appliedenergistics2/models/item/light_blue_covered_dense_cable.json index e6cacb434..923e9b306 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_light_blue.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/light_blue_covered_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "parent": "appliedenergistics2:item/covered_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_covered/light_blue" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_light_blue.json b/src/main/resources/assets/appliedenergistics2/models/item/light_blue_glass_cable.json similarity index 59% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_light_blue.json rename to src/main/resources/assets/appliedenergistics2/models/item/light_blue_glass_cable.json index 8da593e8c..f724536b6 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_light_blue.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/light_blue_glass_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_glass_base", + "parent": "appliedenergistics2:item/glass_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/glass/light_blue" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_light_blue.json b/src/main/resources/assets/appliedenergistics2/models/item/light_blue_smart_cable.json similarity index 59% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_light_blue.json rename to src/main/resources/assets/appliedenergistics2/models/item/light_blue_smart_cable.json index a12c97301..ebb4fd9e8 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_light_blue.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/light_blue_smart_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_smart_base", + "parent": "appliedenergistics2:item/smart_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/smart/light_blue" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_light_blue.json b/src/main/resources/assets/appliedenergistics2/models/item/light_blue_smart_dense_cable.json similarity index 59% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_light_blue.json rename to src/main/resources/assets/appliedenergistics2/models/item/light_blue_smart_dense_cable.json index bc698b3cf..40fece549 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_light_blue.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/light_blue_smart_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_smart_base", + "parent": "appliedenergistics2:item/smart_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_smart/light_blue" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_light_gray.json b/src/main/resources/assets/appliedenergistics2/models/item/light_gray_covered_cable.json similarity index 59% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_light_gray.json rename to src/main/resources/assets/appliedenergistics2/models/item/light_gray_covered_cable.json index aceb1257d..bb19a05d8 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_light_gray.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/light_gray_covered_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_covered_base", + "parent": "appliedenergistics2:item/covered_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/covered/light_gray" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_light_gray.json b/src/main/resources/assets/appliedenergistics2/models/item/light_gray_covered_dense_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_light_gray.json rename to src/main/resources/assets/appliedenergistics2/models/item/light_gray_covered_dense_cable.json index 712ccae3f..7f7f4ed8f 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_light_gray.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/light_gray_covered_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "parent": "appliedenergistics2:item/covered_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_covered/light_gray" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_light_gray.json b/src/main/resources/assets/appliedenergistics2/models/item/light_gray_glass_cable.json similarity index 59% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_light_gray.json rename to src/main/resources/assets/appliedenergistics2/models/item/light_gray_glass_cable.json index 2da3c739e..013a082c0 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_light_gray.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/light_gray_glass_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_glass_base", + "parent": "appliedenergistics2:item/glass_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/glass/light_gray" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_light_gray.json b/src/main/resources/assets/appliedenergistics2/models/item/light_gray_smart_cable.json similarity index 59% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_light_gray.json rename to src/main/resources/assets/appliedenergistics2/models/item/light_gray_smart_cable.json index 8d26a9c6a..f86128aa1 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_light_gray.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/light_gray_smart_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_smart_base", + "parent": "appliedenergistics2:item/smart_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/smart/light_gray" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_light_gray.json b/src/main/resources/assets/appliedenergistics2/models/item/light_gray_smart_dense_cable.json similarity index 59% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_light_gray.json rename to src/main/resources/assets/appliedenergistics2/models/item/light_gray_smart_dense_cable.json index 78b9327fc..e6f5c03bf 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_light_gray.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/light_gray_smart_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_smart_base", + "parent": "appliedenergistics2:item/smart_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_smart/light_gray" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_light.json b/src/main/resources/assets/appliedenergistics2/models/item/light_p2p_tunnel.json similarity index 54% rename from src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_light.json rename to src/main/resources/assets/appliedenergistics2/models/item/light_p2p_tunnel.json index ab77aace5..a70de37f6 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_light.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/light_p2p_tunnel.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/p2p_tunnel", + "parent": "appliedenergistics2:item/p2p_tunnel_base", "textures": { "type": "block/quartz_block_top" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_lime.json b/src/main/resources/assets/appliedenergistics2/models/item/lime_covered_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_lime.json rename to src/main/resources/assets/appliedenergistics2/models/item/lime_covered_cable.json index 47ee64711..b96984fb4 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_lime.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/lime_covered_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_covered_base", + "parent": "appliedenergistics2:item/covered_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/covered/lime" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_lime.json b/src/main/resources/assets/appliedenergistics2/models/item/lime_covered_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_lime.json rename to src/main/resources/assets/appliedenergistics2/models/item/lime_covered_dense_cable.json index d167ec68e..9b7331c6c 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_lime.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/lime_covered_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "parent": "appliedenergistics2:item/covered_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_covered/lime" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_lime.json b/src/main/resources/assets/appliedenergistics2/models/item/lime_glass_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_lime.json rename to src/main/resources/assets/appliedenergistics2/models/item/lime_glass_cable.json index 0baa3a8ba..b644cb060 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_lime.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/lime_glass_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_glass_base", + "parent": "appliedenergistics2:item/glass_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/glass/lime" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_lime.json b/src/main/resources/assets/appliedenergistics2/models/item/lime_smart_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_lime.json rename to src/main/resources/assets/appliedenergistics2/models/item/lime_smart_cable.json index db445d9f1..058ecebe0 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_lime.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/lime_smart_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_smart_base", + "parent": "appliedenergistics2:item/smart_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/smart/lime" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_lime.json b/src/main/resources/assets/appliedenergistics2/models/item/lime_smart_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_lime.json rename to src/main/resources/assets/appliedenergistics2/models/item/lime_smart_dense_cable.json index af0d970a5..b8389fde6 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_lime.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/lime_smart_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_smart_base", + "parent": "appliedenergistics2:item/smart_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_smart/lime" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_magenta.json b/src/main/resources/assets/appliedenergistics2/models/item/magenta_covered_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_magenta.json rename to src/main/resources/assets/appliedenergistics2/models/item/magenta_covered_cable.json index 2a0656a87..ddb3436dd 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_magenta.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/magenta_covered_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_covered_base", + "parent": "appliedenergistics2:item/covered_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/covered/magenta" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_magenta.json b/src/main/resources/assets/appliedenergistics2/models/item/magenta_covered_dense_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_magenta.json rename to src/main/resources/assets/appliedenergistics2/models/item/magenta_covered_dense_cable.json index 2a411816c..76215a10e 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_magenta.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/magenta_covered_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "parent": "appliedenergistics2:item/covered_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_covered/magenta" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_magenta.json b/src/main/resources/assets/appliedenergistics2/models/item/magenta_glass_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_magenta.json rename to src/main/resources/assets/appliedenergistics2/models/item/magenta_glass_cable.json index c8958fa1c..73820df5a 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_magenta.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/magenta_glass_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_glass_base", + "parent": "appliedenergistics2:item/glass_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/glass/magenta" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_magenta.json b/src/main/resources/assets/appliedenergistics2/models/item/magenta_smart_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_magenta.json rename to src/main/resources/assets/appliedenergistics2/models/item/magenta_smart_cable.json index a3d18b12c..f43d3e191 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_magenta.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/magenta_smart_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_smart_base", + "parent": "appliedenergistics2:item/smart_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/smart/magenta" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_magenta.json b/src/main/resources/assets/appliedenergistics2/models/item/magenta_smart_dense_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_magenta.json rename to src/main/resources/assets/appliedenergistics2/models/item/magenta_smart_dense_cable.json index c05127aab..b628bd4c4 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_magenta.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/magenta_smart_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_smart_base", + "parent": "appliedenergistics2:item/smart_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_smart/magenta" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_me.json b/src/main/resources/assets/appliedenergistics2/models/item/me_p2p_tunnel.json similarity index 59% rename from src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_me.json rename to src/main/resources/assets/appliedenergistics2/models/item/me_p2p_tunnel.json index 7804ae036..6cbded902 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_me.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/me_p2p_tunnel.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/p2p_tunnel", + "parent": "appliedenergistics2:item/p2p_tunnel_base", "textures": { "type": "appliedenergistics2:block/quartz_block" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/monitor.json b/src/main/resources/assets/appliedenergistics2/models/item/monitor.json similarity index 84% rename from src/main/resources/assets/appliedenergistics2/models/item/part/monitor.json rename to src/main/resources/assets/appliedenergistics2/models/item/monitor.json index 4d1207a3c..7ae1662f1 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/monitor.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/monitor.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/display", + "parent": "appliedenergistics2:item/display_base", "textures": { "front": "appliedenergistics2:item/part/crafting_terminal", "front_bright": "appliedenergistics2:parts/monitor_bright", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_orange.json b/src/main/resources/assets/appliedenergistics2/models/item/orange_covered_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_orange.json rename to src/main/resources/assets/appliedenergistics2/models/item/orange_covered_cable.json index d0e37aa66..4892cb596 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_orange.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/orange_covered_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_covered_base", + "parent": "appliedenergistics2:item/covered_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/covered/orange" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_orange.json b/src/main/resources/assets/appliedenergistics2/models/item/orange_covered_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_orange.json rename to src/main/resources/assets/appliedenergistics2/models/item/orange_covered_dense_cable.json index 9c534dfd6..3dc73acce 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_orange.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/orange_covered_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "parent": "appliedenergistics2:item/covered_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_covered/orange" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_orange.json b/src/main/resources/assets/appliedenergistics2/models/item/orange_glass_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_orange.json rename to src/main/resources/assets/appliedenergistics2/models/item/orange_glass_cable.json index 7528f4f5e..3e3943d75 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_orange.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/orange_glass_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_glass_base", + "parent": "appliedenergistics2:item/glass_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/glass/orange" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_orange.json b/src/main/resources/assets/appliedenergistics2/models/item/orange_smart_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_orange.json rename to src/main/resources/assets/appliedenergistics2/models/item/orange_smart_cable.json index 99117f8ef..e76e232f1 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_orange.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/orange_smart_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_smart_base", + "parent": "appliedenergistics2:item/smart_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/smart/orange" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_orange.json b/src/main/resources/assets/appliedenergistics2/models/item/orange_smart_dense_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_orange.json rename to src/main/resources/assets/appliedenergistics2/models/item/orange_smart_dense_cable.json index 77b648e1a..c579e4254 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_orange.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/orange_smart_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_smart_base", + "parent": "appliedenergistics2:item/smart_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_smart/orange" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel.json b/src/main/resources/assets/appliedenergistics2/models/item/p2p_tunnel_base.json similarity index 96% rename from src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel.json rename to src/main/resources/assets/appliedenergistics2/models/item/p2p_tunnel_base.json index ad1bff69b..1d3dd5389 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/p2p_tunnel_base.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "textures": { "sides": "appliedenergistics2:parts/p2p_tunnel_sides", "back": "appliedenergistics2:item/part/p2p_tunnel_back", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/part.json b/src/main/resources/assets/appliedenergistics2/models/item/part_base.json similarity index 100% rename from src/main/resources/assets/appliedenergistics2/models/item/part/part.json rename to src/main/resources/assets/appliedenergistics2/models/item/part_base.json diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/pattern_terminal.json b/src/main/resources/assets/appliedenergistics2/models/item/pattern_terminal.json similarity index 85% rename from src/main/resources/assets/appliedenergistics2/models/item/part/pattern_terminal.json rename to src/main/resources/assets/appliedenergistics2/models/item/pattern_terminal.json index 4af8bb2f8..0a7065f0c 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/pattern_terminal.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/pattern_terminal.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/display", + "parent": "appliedenergistics2:item/display_base", "textures": { "front": "appliedenergistics2:item/part/pattern_terminal", "front_bright": "appliedenergistics2:parts/pattern_terminal_bright", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_pink.json b/src/main/resources/assets/appliedenergistics2/models/item/pink_covered_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_pink.json rename to src/main/resources/assets/appliedenergistics2/models/item/pink_covered_cable.json index df0445d18..50e023c12 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_pink.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/pink_covered_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_covered_base", + "parent": "appliedenergistics2:item/covered_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/covered/pink" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_pink.json b/src/main/resources/assets/appliedenergistics2/models/item/pink_covered_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_pink.json rename to src/main/resources/assets/appliedenergistics2/models/item/pink_covered_dense_cable.json index 20178bdeb..a860c8d19 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_pink.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/pink_covered_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "parent": "appliedenergistics2:item/covered_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_covered/pink" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_pink.json b/src/main/resources/assets/appliedenergistics2/models/item/pink_glass_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_pink.json rename to src/main/resources/assets/appliedenergistics2/models/item/pink_glass_cable.json index 0b3f1d1e7..3f42fb6d9 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_pink.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/pink_glass_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_glass_base", + "parent": "appliedenergistics2:item/glass_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/glass/pink" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_pink.json b/src/main/resources/assets/appliedenergistics2/models/item/pink_smart_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_pink.json rename to src/main/resources/assets/appliedenergistics2/models/item/pink_smart_cable.json index 72fbc44b0..a37f064ea 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_pink.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/pink_smart_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_smart_base", + "parent": "appliedenergistics2:item/smart_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/smart/pink" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_pink.json b/src/main/resources/assets/appliedenergistics2/models/item/pink_smart_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_pink.json rename to src/main/resources/assets/appliedenergistics2/models/item/pink_smart_dense_cable.json index 9134f51c2..f213f5788 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_pink.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/pink_smart_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_smart_base", + "parent": "appliedenergistics2:item/smart_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_smart/pink" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_purple.json b/src/main/resources/assets/appliedenergistics2/models/item/purple_covered_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_purple.json rename to src/main/resources/assets/appliedenergistics2/models/item/purple_covered_cable.json index cd7b4666d..aa68cecc0 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_purple.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/purple_covered_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_covered_base", + "parent": "appliedenergistics2:item/covered_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/covered/purple" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_purple.json b/src/main/resources/assets/appliedenergistics2/models/item/purple_covered_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_purple.json rename to src/main/resources/assets/appliedenergistics2/models/item/purple_covered_dense_cable.json index 4e79a9bd3..a8118bf29 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_purple.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/purple_covered_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "parent": "appliedenergistics2:item/covered_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_covered/purple" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_purple.json b/src/main/resources/assets/appliedenergistics2/models/item/purple_glass_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_purple.json rename to src/main/resources/assets/appliedenergistics2/models/item/purple_glass_cable.json index 23e781211..5959fdf1d 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_purple.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/purple_glass_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_glass_base", + "parent": "appliedenergistics2:item/glass_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/glass/purple" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_purple.json b/src/main/resources/assets/appliedenergistics2/models/item/purple_smart_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_purple.json rename to src/main/resources/assets/appliedenergistics2/models/item/purple_smart_cable.json index f8b94d757..88a66170d 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_purple.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/purple_smart_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_smart_base", + "parent": "appliedenergistics2:item/smart_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/smart/purple" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_purple.json b/src/main/resources/assets/appliedenergistics2/models/item/purple_smart_dense_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_purple.json rename to src/main/resources/assets/appliedenergistics2/models/item/purple_smart_dense_cable.json index 4bc5f84de..531b67a63 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_purple.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/purple_smart_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_smart_base", + "parent": "appliedenergistics2:item/smart_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_smart/purple" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/quartz_fiber.json b/src/main/resources/assets/appliedenergistics2/models/item/quartz_fiber.json similarity index 94% rename from src/main/resources/assets/appliedenergistics2/models/item/part/quartz_fiber.json rename to src/main/resources/assets/appliedenergistics2/models/item/quartz_fiber.json index 431ffc150..8b2c0edea 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/quartz_fiber.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/quartz_fiber.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "textures": { "cable": "appliedenergistics2:item/part/quartz_fiber" }, diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_red.json b/src/main/resources/assets/appliedenergistics2/models/item/red_covered_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_red.json rename to src/main/resources/assets/appliedenergistics2/models/item/red_covered_cable.json index 6bb3d2937..9e8fc6ff5 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_red.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/red_covered_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_covered_base", + "parent": "appliedenergistics2:item/covered_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/covered/red" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_red.json b/src/main/resources/assets/appliedenergistics2/models/item/red_covered_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_red.json rename to src/main/resources/assets/appliedenergistics2/models/item/red_covered_dense_cable.json index 8dbba8b93..b904144ef 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_red.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/red_covered_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "parent": "appliedenergistics2:item/covered_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_covered/red" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_red.json b/src/main/resources/assets/appliedenergistics2/models/item/red_glass_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_red.json rename to src/main/resources/assets/appliedenergistics2/models/item/red_glass_cable.json index a62ce62c0..def5aa638 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_red.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/red_glass_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_glass_base", + "parent": "appliedenergistics2:item/glass_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/glass/red" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_red.json b/src/main/resources/assets/appliedenergistics2/models/item/red_smart_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_red.json rename to src/main/resources/assets/appliedenergistics2/models/item/red_smart_cable.json index 3c78fa0f0..aa2490cc8 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_red.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/red_smart_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_smart_base", + "parent": "appliedenergistics2:item/smart_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/smart/red" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_red.json b/src/main/resources/assets/appliedenergistics2/models/item/red_smart_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_red.json rename to src/main/resources/assets/appliedenergistics2/models/item/red_smart_dense_cable.json index b32ee1f45..177a7687f 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_red.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/red_smart_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_smart_base", + "parent": "appliedenergistics2:item/smart_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_smart/red" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_redstone.json b/src/main/resources/assets/appliedenergistics2/models/item/redstone_p2p_tunnel.json similarity index 53% rename from src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_redstone.json rename to src/main/resources/assets/appliedenergistics2/models/item/redstone_p2p_tunnel.json index c3162cede..e19827a23 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/p2p_tunnel_redstone.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/redstone_p2p_tunnel.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/p2p_tunnel", + "parent": "appliedenergistics2:item/p2p_tunnel_base", "textures": { "type": "block/redstone_block" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/semi_dark_monitor.json b/src/main/resources/assets/appliedenergistics2/models/item/semi_dark_monitor.json similarity index 86% rename from src/main/resources/assets/appliedenergistics2/models/item/part/semi_dark_monitor.json rename to src/main/resources/assets/appliedenergistics2/models/item/semi_dark_monitor.json index 4c86a376c..3593f12c5 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/semi_dark_monitor.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/semi_dark_monitor.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/display", + "parent": "appliedenergistics2:item/display_base", "textures": { "front": "appliedenergistics2:parts/monitor_front", "front_bright": "appliedenergistics2:parts/monitor_colored", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_base.json b/src/main/resources/assets/appliedenergistics2/models/item/smart_cable_base.json similarity index 99% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_base.json rename to src/main/resources/assets/appliedenergistics2/models/item/smart_cable_base.json index 2b5f92e80..d657e6530 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_base.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/smart_cable_base.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "textures": { "channelsOdd": "appliedenergistics2:parts/cable/smart/channels_00", "channelsEven": "appliedenergistics2:parts/cable/smart/channels_10" diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_base.json b/src/main/resources/assets/appliedenergistics2/models/item/smart_dense_cable_base.json similarity index 98% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_base.json rename to src/main/resources/assets/appliedenergistics2/models/item/smart_dense_cable_base.json index 1cd2bcd56..792820f09 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_base.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/smart_dense_cable_base.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "textures": { "channels": "appliedenergistics2:parts/cable/dense_smart/0" }, diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/storage_bus.json b/src/main/resources/assets/appliedenergistics2/models/item/storage_bus.json similarity index 97% rename from src/main/resources/assets/appliedenergistics2/models/item/part/storage_bus.json rename to src/main/resources/assets/appliedenergistics2/models/item/storage_bus.json index 8fe6cd4ee..9de2552a6 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/storage_bus.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/storage_bus.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "textures": { "sides": "appliedenergistics2:parts/storage_bus_sides", "back": "appliedenergistics2:parts/storage_bus_back", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/storage_monitor.json b/src/main/resources/assets/appliedenergistics2/models/item/storage_monitor.json similarity index 85% rename from src/main/resources/assets/appliedenergistics2/models/item/part/storage_monitor.json rename to src/main/resources/assets/appliedenergistics2/models/item/storage_monitor.json index 27c85bbd9..36ed082a5 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/storage_monitor.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/storage_monitor.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/display", + "parent": "appliedenergistics2:item/display_base", "textures": { "front": "appliedenergistics2:item/part/storage_monitor", "front_bright": "appliedenergistics2:parts/storage_monitor_bright", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/terminal.json b/src/main/resources/assets/appliedenergistics2/models/item/terminal.json similarity index 84% rename from src/main/resources/assets/appliedenergistics2/models/item/part/terminal.json rename to src/main/resources/assets/appliedenergistics2/models/item/terminal.json index f6c94af17..6f450fe09 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/terminal.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/terminal.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/display", + "parent": "appliedenergistics2:item/display_base", "textures": { "front": "appliedenergistics2:item/part/terminal", "front_bright": "appliedenergistics2:parts/terminal_bright", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/toggle_bus.json b/src/main/resources/assets/appliedenergistics2/models/item/toggle_bus.json similarity index 98% rename from src/main/resources/assets/appliedenergistics2/models/item/part/toggle_bus.json rename to src/main/resources/assets/appliedenergistics2/models/item/toggle_bus.json index c2551d8ed..b57e1b7db 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/toggle_bus.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/toggle_bus.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/part", + "parent": "appliedenergistics2:item/part_base", "textures": { "bus": "appliedenergistics2:item/part/toggle_bus", "status": "appliedenergistics2:parts/monitor_sides_status", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_white.json b/src/main/resources/assets/appliedenergistics2/models/item/white_covered_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_white.json rename to src/main/resources/assets/appliedenergistics2/models/item/white_covered_cable.json index 9403f8891..ac24f1a79 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_white.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/white_covered_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_covered_base", + "parent": "appliedenergistics2:item/covered_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/covered/white" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_white.json b/src/main/resources/assets/appliedenergistics2/models/item/white_covered_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_white.json rename to src/main/resources/assets/appliedenergistics2/models/item/white_covered_dense_cable.json index c7cb93a18..ee9c1c691 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_white.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/white_covered_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "parent": "appliedenergistics2:item/covered_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_covered/white" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_white.json b/src/main/resources/assets/appliedenergistics2/models/item/white_glass_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_white.json rename to src/main/resources/assets/appliedenergistics2/models/item/white_glass_cable.json index e04758e2e..f9f0fd6b7 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_white.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/white_glass_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_glass_base", + "parent": "appliedenergistics2:item/glass_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/glass/white" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_white.json b/src/main/resources/assets/appliedenergistics2/models/item/white_smart_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_white.json rename to src/main/resources/assets/appliedenergistics2/models/item/white_smart_cable.json index 396b17fb8..a8acc2c8a 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_white.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/white_smart_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_smart_base", + "parent": "appliedenergistics2:item/smart_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/smart/white" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_white.json b/src/main/resources/assets/appliedenergistics2/models/item/white_smart_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_white.json rename to src/main/resources/assets/appliedenergistics2/models/item/white_smart_dense_cable.json index 7a5ba3947..2a3f87669 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_white.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/white_smart_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_smart_base", + "parent": "appliedenergistics2:item/smart_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_smart/white" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_yellow.json b/src/main/resources/assets/appliedenergistics2/models/item/yellow_covered_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_yellow.json rename to src/main/resources/assets/appliedenergistics2/models/item/yellow_covered_cable.json index 8fbdb7778..f567a1b08 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_covered_yellow.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/yellow_covered_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_covered_base", + "parent": "appliedenergistics2:item/covered_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/covered/yellow" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_yellow.json b/src/main/resources/assets/appliedenergistics2/models/item/yellow_covered_dense_cable.json similarity index 57% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_yellow.json rename to src/main/resources/assets/appliedenergistics2/models/item/yellow_covered_dense_cable.json index 2607a4ca1..79aad452f 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_yellow.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/yellow_covered_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "parent": "appliedenergistics2:item/covered_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_covered/yellow" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_yellow.json b/src/main/resources/assets/appliedenergistics2/models/item/yellow_glass_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_yellow.json rename to src/main/resources/assets/appliedenergistics2/models/item/yellow_glass_cable.json index 659fded22..95f9cf8d2 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_glass_yellow.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/yellow_glass_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_glass_base", + "parent": "appliedenergistics2:item/glass_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/glass/yellow" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_yellow.json b/src/main/resources/assets/appliedenergistics2/models/item/yellow_smart_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_yellow.json rename to src/main/resources/assets/appliedenergistics2/models/item/yellow_smart_cable.json index a87d10fb5..44bc4a8f4 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_smart_yellow.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/yellow_smart_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_smart_base", + "parent": "appliedenergistics2:item/smart_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/smart/yellow" } diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_yellow.json b/src/main/resources/assets/appliedenergistics2/models/item/yellow_smart_dense_cable.json similarity index 58% rename from src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_yellow.json rename to src/main/resources/assets/appliedenergistics2/models/item/yellow_smart_dense_cable.json index 980bf880d..584c7f1f6 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_smart_yellow.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/yellow_smart_dense_cable.json @@ -1,5 +1,5 @@ { - "parent": "appliedenergistics2:item/part/cable_dense_smart_base", + "parent": "appliedenergistics2:item/smart_dense_cable_base", "textures": { "base": "appliedenergistics2:parts/cable/dense_smart/yellow" }