From b61219ef88c01829f52a98e0aa3e392977d2b275 Mon Sep 17 00:00:00 2001 From: yueh Date: Thu, 17 Aug 2017 18:41:39 +0200 Subject: [PATCH] Covered dense cables (#3030) * Renamed all dense smart cable related things to include smart * Added dense covered cables * Added abstract PartDenseCable to reduce redundant code * Added dense covered recipes * Ensures ItemPart ordering to be consitent. Now takes the metadata into account to preserve the ordering for colored items instead of just the part type name and depend on the insertion order of a hashmap. --- .../java/appeng/api/definitions/IParts.java | 6 ++- src/api/java/appeng/api/util/AECableType.java | 6 +++ .../client/render/cablebus/CableBuilder.java | 46 ++++++++++++++++-- .../render/cablebus/CableBusBakedModel.java | 13 ++++- .../client/render/cablebus/CableCoreType.java | 1 + .../appeng/core/api/definitions/ApiParts.java | 18 +++++-- .../registries/P2PTunnelRegistry.java | 2 +- .../java/appeng/core/stats/Achievements.java | 2 +- .../theoneprobe/part/ChannelInfoProvider.java | 6 +-- .../waila/part/ChannelWailaDataProvider.java | 8 +-- .../java/appeng/items/parts/ItemPart.java | 11 ++++- .../java/appeng/items/parts/PartType.java | 24 ++++++++- .../java/appeng/parts/CableBusContainer.java | 3 +- .../appeng/parts/networking/PartCable.java | 6 ++- .../parts/networking/PartDenseCable.java | 23 ++------- .../networking/PartDenseCableCovered.java | 41 ++++++++++++++++ .../parts/networking/PartDenseCableSmart.java | 40 +++++++++++++++ .../java/appeng/recipes/AEItemResolver.java | 14 +++++- src/main/java/appeng/util/Platform.java | 2 +- .../appliedenergistics2/lang/en_us.lang | 1 + .../item/part/cable_dense_covered_base.json | 21 ++++++++ .../item/part/cable_dense_covered_black.json | 6 +++ .../item/part/cable_dense_covered_blue.json | 6 +++ .../item/part/cable_dense_covered_brown.json | 6 +++ .../item/part/cable_dense_covered_cyan.json | 6 +++ .../item/part/cable_dense_covered_gray.json | 6 +++ .../item/part/cable_dense_covered_green.json | 6 +++ .../part/cable_dense_covered_light_blue.json | 6 +++ .../part/cable_dense_covered_light_gray.json | 6 +++ .../item/part/cable_dense_covered_lime.json | 6 +++ .../part/cable_dense_covered_magenta.json | 6 +++ .../item/part/cable_dense_covered_orange.json | 6 +++ .../item/part/cable_dense_covered_pink.json | 6 +++ .../item/part/cable_dense_covered_purple.json | 6 +++ .../item/part/cable_dense_covered_red.json | 6 +++ .../part/cable_dense_covered_transparent.json | 6 +++ .../item/part/cable_dense_covered_white.json | 6 +++ .../item/part/cable_dense_covered_yellow.json | 6 +++ .../part/cable/dense_covered/center.json | 20 ++++++++ .../part/cable/dense_covered/connection.json | 20 ++++++++ .../part/cable/dense_covered/straight.json | 20 ++++++++ .../network/cables/dense_covered_black.json | 23 +++++++++ .../network/cables/dense_covered_blue.json | 23 +++++++++ .../network/cables/dense_covered_brown.json | 23 +++++++++ .../network/cables/dense_covered_cyan.json | 23 +++++++++ .../network/cables/dense_covered_fluix.json | 25 ++++++++++ .../cables/dense_covered_fluix_clean.json | 16 ++++++ .../network/cables/dense_covered_gray.json | 23 +++++++++ .../network/cables/dense_covered_green.json | 23 +++++++++ .../cables/dense_covered_light_blue.json | 23 +++++++++ .../cables/dense_covered_light_gray.json | 23 +++++++++ .../network/cables/dense_covered_lime.json | 23 +++++++++ .../network/cables/dense_covered_magenta.json | 23 +++++++++ .../network/cables/dense_covered_orange.json | 23 +++++++++ .../network/cables/dense_covered_pink.json | 23 +++++++++ .../network/cables/dense_covered_purple.json | 23 +++++++++ .../network/cables/dense_covered_red.json | 23 +++++++++ .../network/cables/dense_covered_white.json | 23 +++++++++ .../network/cables/dense_covered_yellow.json | 23 +++++++++ .../network/cables/dense_smart_fluix.json | 14 +----- .../parts/cable/dense_covered/black.png | Bin 0 -> 334 bytes .../parts/cable/dense_covered/blue.png | Bin 0 -> 326 bytes .../parts/cable/dense_covered/brown.png | Bin 0 -> 350 bytes .../parts/cable/dense_covered/cyan.png | Bin 0 -> 329 bytes .../parts/cable/dense_covered/gray.png | Bin 0 -> 330 bytes .../parts/cable/dense_covered/green.png | Bin 0 -> 339 bytes .../parts/cable/dense_covered/light_blue.png | Bin 0 -> 334 bytes .../parts/cable/dense_covered/light_gray.png | Bin 0 -> 355 bytes .../parts/cable/dense_covered/lime.png | Bin 0 -> 327 bytes .../parts/cable/dense_covered/magenta.png | Bin 0 -> 335 bytes .../parts/cable/dense_covered/orange.png | Bin 0 -> 336 bytes .../parts/cable/dense_covered/pink.png | Bin 0 -> 339 bytes .../parts/cable/dense_covered/purple.png | Bin 0 -> 334 bytes .../parts/cable/dense_covered/red.png | Bin 0 -> 344 bytes .../parts/cable/dense_covered/transparent.png | Bin 0 -> 334 bytes .../parts/cable/dense_covered/white.png | Bin 0 -> 331 bytes .../parts/cable/dense_covered/yellow.png | Bin 0 -> 337 bytes 77 files changed, 818 insertions(+), 61 deletions(-) create mode 100644 src/main/java/appeng/parts/networking/PartDenseCableCovered.java create mode 100644 src/main/java/appeng/parts/networking/PartDenseCableSmart.java create mode 100644 src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_base.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_black.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_blue.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_brown.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_cyan.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_gray.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_green.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_light_blue.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_light_gray.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_lime.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_magenta.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_orange.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_pink.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_purple.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_red.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_transparent.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_white.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_yellow.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/part/cable/dense_covered/center.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/part/cable/dense_covered/connection.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/part/cable/dense_covered/straight.json create mode 100644 src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_black.json create mode 100644 src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_blue.json create mode 100644 src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_brown.json create mode 100644 src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_cyan.json create mode 100644 src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_fluix.json create mode 100644 src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_fluix_clean.json create mode 100644 src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_gray.json create mode 100644 src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_green.json create mode 100644 src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_light_blue.json create mode 100644 src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_light_gray.json create mode 100644 src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_lime.json create mode 100644 src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_magenta.json create mode 100644 src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_orange.json create mode 100644 src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_pink.json create mode 100644 src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_purple.json create mode 100644 src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_red.json create mode 100644 src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_white.json create mode 100644 src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_yellow.json create mode 100644 src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/black.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/blue.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/brown.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/cyan.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/gray.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/green.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/light_blue.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/light_gray.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/lime.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/magenta.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/orange.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/pink.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/purple.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/red.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/transparent.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/white.png create mode 100644 src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/yellow.png diff --git a/src/api/java/appeng/api/definitions/IParts.java b/src/api/java/appeng/api/definitions/IParts.java index 7c1f842b5..f9cfaafa9 100644 --- a/src/api/java/appeng/api/definitions/IParts.java +++ b/src/api/java/appeng/api/definitions/IParts.java @@ -38,7 +38,9 @@ public interface IParts AEColoredItemDefinition cableGlass(); - AEColoredItemDefinition cableDense(); + AEColoredItemDefinition cableDenseCovered(); + + AEColoredItemDefinition cableDenseSmart(); AEColoredItemDefinition lumenCableSmart(); @@ -46,7 +48,7 @@ public interface IParts AEColoredItemDefinition lumenCableGlass(); - AEColoredItemDefinition lumenCableDense(); + AEColoredItemDefinition lumenDenseCableSmart(); IItemDefinition quartzFiber(); diff --git a/src/api/java/appeng/api/util/AECableType.java b/src/api/java/appeng/api/util/AECableType.java index e723d41a2..5ffbcfbac 100644 --- a/src/api/java/appeng/api/util/AECableType.java +++ b/src/api/java/appeng/api/util/AECableType.java @@ -46,6 +46,11 @@ public enum AECableType */ SMART, + /** + * Smart Dense Cable, represents a tier 2 block that can carry 32 channels. + */ + DENSE_COVERED, + /** * Smart Dense Cable, represents a tier 2 block that can carry 32 channels. */ @@ -55,6 +60,7 @@ public enum AECableType GLASS, COVERED, SMART, + DENSE_COVERED, DENSE_SMART }; diff --git a/src/main/java/appeng/client/render/cablebus/CableBuilder.java b/src/main/java/appeng/client/render/cablebus/CableBuilder.java index e55dfc4dc..a428fc56f 100644 --- a/src/main/java/appeng/client/render/cablebus/CableBuilder.java +++ b/src/main/java/appeng/client/render/cablebus/CableBuilder.java @@ -101,6 +101,9 @@ class CableBuilder case SMART: textureFolder = "parts/cable/smart/"; break; + case DENSE_COVERED: + textureFolder = "parts/cable/dense_covered/"; + break; case DENSE_SMART: textureFolder = "parts/cable/dense_smart/"; break; @@ -127,6 +130,7 @@ class CableBuilder case SMART: this.addCableCore( CableCoreType.COVERED, color, quadsOut ); break; + case DENSE_COVERED: case DENSE_SMART: this.addCableCore( CableCoreType.DENSE_SMART, color, quadsOut ); break; @@ -448,7 +452,31 @@ class CableBuilder addCoveredCableSizedCube( facing, distanceFromEdge, cubeBuilder ); } - public void addDenseConnection( EnumFacing facing, AEColor cableColor, AECableType connectionType, boolean cableBusAdjacent, int channels, List quadsOut ) + public void addDenseCoveredConnection( EnumFacing facing, AEColor cableColor, AECableType connectionType, boolean cableBusAdjacent, List quadsOut ) + { + // Dense cables only render their connections as dense if the adjacent blocks actually wants that + if( connectionType == AECableType.COVERED || connectionType == AECableType.SMART || connectionType == AECableType.GLASS ) + { + this.addCoveredConnection( facing, cableColor, connectionType, cableBusAdjacent, quadsOut ); + return; + } + + CubeBuilder cubeBuilder = new CubeBuilder( this.format, quadsOut ); + + // We render all faces except the one on the connection side + cubeBuilder.setDrawFaces( EnumSet.complementOf( EnumSet.of( facing ) ) ); + + TextureAtlasSprite texture = this.connectionTextures.get( AECableType.DENSE_COVERED ).get( cableColor ); + cubeBuilder.setTexture( texture ); + + addDenseCableSizedCube( facing, cubeBuilder ); + + // Reset back to normal rendering for the rest + cubeBuilder.setRenderFullBright( false ); + cubeBuilder.setTexture( texture ); + } + + public void addDenseSmartConnection( EnumFacing facing, AEColor cableColor, AECableType connectionType, boolean cableBusAdjacent, int channels, List quadsOut ) { // Dense cables only render their connections as dense if the adjacent blocks actually wants that if( connectionType == AECableType.SMART ) @@ -456,7 +484,7 @@ class CableBuilder this.addSmartConnection( facing, cableColor, connectionType, cableBusAdjacent, channels, quadsOut ); return; } - else if( connectionType != AECableType.DENSE_SMART ) + else if( connectionType == AECableType.COVERED || connectionType == AECableType.GLASS ) { this.addCoveredConnection( facing, cableColor, connectionType, cableBusAdjacent, quadsOut ); return; @@ -495,7 +523,19 @@ class CableBuilder } - public void addStraightDenseConnection( EnumFacing facing, AEColor cableColor, int channels, List quadsOut ) + public void addStraightDenseCoveredConnection( EnumFacing facing, AEColor cableColor, List quadsOut ) + { + CubeBuilder cubeBuilder = new CubeBuilder( this.format, quadsOut ); + + TextureAtlasSprite texture = this.connectionTextures.get( AECableType.DENSE_COVERED ).get( cableColor ); + cubeBuilder.setTexture( texture ); + + setStraightCableUVs( cubeBuilder, facing, 5, 11 ); + + addStraightDenseCableSizedCube( facing, cubeBuilder ); + } + + public void addStraightDenseSmartConnection( EnumFacing facing, AEColor cableColor, int channels, List quadsOut ) { CubeBuilder cubeBuilder = new CubeBuilder( this.format, quadsOut ); diff --git a/src/main/java/appeng/client/render/cablebus/CableBusBakedModel.java b/src/main/java/appeng/client/render/cablebus/CableBusBakedModel.java index 177392f49..882057acf 100644 --- a/src/main/java/appeng/client/render/cablebus/CableBusBakedModel.java +++ b/src/main/java/appeng/client/render/cablebus/CableBusBakedModel.java @@ -164,6 +164,8 @@ public class CableBusBakedModel implements IBakedModel { case GLASS: return firstType == AECableType.GLASS && secondType == AECableType.GLASS; + case DENSE_COVERED: + return firstType == AECableType.DENSE_COVERED && secondType == AECableType.DENSE_COVERED; case DENSE_SMART: return firstType == AECableType.DENSE_SMART && secondType == AECableType.DENSE_SMART; } @@ -200,8 +202,11 @@ public class CableBusBakedModel implements IBakedModel case SMART: this.cableBuilder.addStraightSmartConnection( facing, cableColor, renderState.getChannelsOnSide().get( facing ), quadsOut ); break; + case DENSE_COVERED: + this.cableBuilder.addStraightDenseCoveredConnection( facing, cableColor, quadsOut ); + break; case DENSE_SMART: - this.cableBuilder.addStraightDenseConnection( facing, cableColor, renderState.getChannelsOnSide().get( facing ), quadsOut ); + this.cableBuilder.addStraightDenseSmartConnection( facing, cableColor, renderState.getChannelsOnSide().get( facing ), quadsOut ); break; } @@ -228,6 +233,7 @@ public class CableBusBakedModel implements IBakedModel case SMART: this.cableBuilder.addConstrainedSmartConnection( facing, cableColor, distance, channels, quadsOut ); break; + case DENSE_COVERED: case DENSE_SMART: // Dense cables do not render connections to parts since none can be attached break; @@ -253,8 +259,11 @@ public class CableBusBakedModel implements IBakedModel case SMART: this.cableBuilder.addSmartConnection( facing, cableColor, connectionType, cableBusAdjacent, channels, quadsOut ); break; + case DENSE_COVERED: + this.cableBuilder.addDenseCoveredConnection( facing, cableColor, connectionType, cableBusAdjacent, quadsOut ); + break; case DENSE_SMART: - this.cableBuilder.addDenseConnection( facing, cableColor, connectionType, cableBusAdjacent, channels, quadsOut ); + this.cableBuilder.addDenseSmartConnection( facing, cableColor, connectionType, cableBusAdjacent, channels, quadsOut ); break; } } diff --git a/src/main/java/appeng/client/render/cablebus/CableCoreType.java b/src/main/java/appeng/client/render/cablebus/CableCoreType.java index fb89dba76..39163ac21 100644 --- a/src/main/java/appeng/client/render/cablebus/CableCoreType.java +++ b/src/main/java/appeng/client/render/cablebus/CableCoreType.java @@ -55,6 +55,7 @@ public enum CableCoreType result.put( AECableType.GLASS, CableCoreType.GLASS ); result.put( AECableType.COVERED, CableCoreType.COVERED ); result.put( AECableType.SMART, CableCoreType.COVERED ); + result.put( AECableType.DENSE_COVERED, CableCoreType.DENSE_SMART ); result.put( AECableType.DENSE_SMART, CableCoreType.DENSE_SMART ); return ImmutableMap.copyOf( result ); diff --git a/src/main/java/appeng/core/api/definitions/ApiParts.java b/src/main/java/appeng/core/api/definitions/ApiParts.java index 61868d4ae..77dc0288d 100644 --- a/src/main/java/appeng/core/api/definitions/ApiParts.java +++ b/src/main/java/appeng/core/api/definitions/ApiParts.java @@ -42,7 +42,8 @@ public final class ApiParts implements IParts private final AEColoredItemDefinition cableSmart; private final AEColoredItemDefinition cableCovered; private final AEColoredItemDefinition cableGlass; - private final AEColoredItemDefinition cableDense; + private final AEColoredItemDefinition cableDenseCovered; + private final AEColoredItemDefinition cableDenseSmart; // private final AEColoredItemDefinition lumenCableSmart; // private final AEColoredItemDefinition lumenCableCovered; // private final AEColoredItemDefinition lumenCableGlass; @@ -94,7 +95,8 @@ public final class ApiParts implements IParts this.cableSmart = constructColoredDefinition( itemPart, PartType.CABLE_SMART ); this.cableCovered = constructColoredDefinition( itemPart, PartType.CABLE_COVERED ); this.cableGlass = constructColoredDefinition( itemPart, PartType.CABLE_GLASS ); - this.cableDense = constructColoredDefinition( itemPart, PartType.CABLE_DENSE_SMART ); + this.cableDenseCovered = constructColoredDefinition( itemPart, PartType.CABLE_DENSE_COVERED ); + this.cableDenseSmart = constructColoredDefinition( itemPart, PartType.CABLE_DENSE_SMART ); // this.lumenCableSmart = Optional.absent(); // has yet to be implemented, no PartType defined for it yet // this.lumenCableCovered = Optional.absent(); // has yet to be implemented, no PartType defined for it yet // this.lumenCableGlass = Optional.absent(); // has yet to be implemented, no PartType defined for it yet @@ -166,9 +168,15 @@ public final class ApiParts implements IParts } @Override - public AEColoredItemDefinition cableDense() + public AEColoredItemDefinition cableDenseCovered() { - return this.cableDense; + return this.cableDenseCovered; + } + + @Override + public AEColoredItemDefinition cableDenseSmart() + { + return this.cableDenseSmart; } @Override @@ -193,7 +201,7 @@ public final class ApiParts implements IParts } @Override - public AEColoredItemDefinition lumenCableDense() + public AEColoredItemDefinition lumenDenseCableSmart() { throw new MissingDefinition( "Lumen Dense Cable has yet to be implemented." ); // return this.lumenCableDense; diff --git a/src/main/java/appeng/core/features/registries/P2PTunnelRegistry.java b/src/main/java/appeng/core/features/registries/P2PTunnelRegistry.java index a7107e20a..36a11b70e 100644 --- a/src/main/java/appeng/core/features/registries/P2PTunnelRegistry.java +++ b/src/main/java/appeng/core/features/registries/P2PTunnelRegistry.java @@ -167,7 +167,7 @@ public final class P2PTunnelRegistry implements IP2PTunnelRegistry this.addNewAttunement( parts.cableGlass().stack( c, 1 ), TunnelType.ME ); this.addNewAttunement( parts.cableCovered().stack( c, 1 ), TunnelType.ME ); this.addNewAttunement( parts.cableSmart().stack( c, 1 ), TunnelType.ME ); - this.addNewAttunement( parts.cableDense().stack( c, 1 ), TunnelType.ME ); + this.addNewAttunement( parts.cableDenseSmart().stack( c, 1 ), TunnelType.ME ); } /** diff --git a/src/main/java/appeng/core/stats/Achievements.java b/src/main/java/appeng/core/stats/Achievements.java index 9270f6a2d..d38aac37d 100644 --- a/src/main/java/appeng/core/stats/Achievements.java +++ b/src/main/java/appeng/core/stats/Achievements.java @@ -80,7 +80,7 @@ public enum Achievements Networking2( 4, 0, AEApi.instance().definitions().parts().cableSmart(), AchievementType.Custom ), // done - Networking3( 4, 2, AEApi.instance().definitions().parts().cableDense(), AchievementType.Custom ), + Networking3( 4, 2, AEApi.instance().definitions().parts().cableDenseSmart(), AchievementType.Custom ), // done P2P( 2, -2, AEApi.instance().definitions().parts().p2PTunnelME(), AchievementType.Craft ), diff --git a/src/main/java/appeng/integration/modules/theoneprobe/part/ChannelInfoProvider.java b/src/main/java/appeng/integration/modules/theoneprobe/part/ChannelInfoProvider.java index 9ad08afaf..c0e9f2b72 100644 --- a/src/main/java/appeng/integration/modules/theoneprobe/part/ChannelInfoProvider.java +++ b/src/main/java/appeng/integration/modules/theoneprobe/part/ChannelInfoProvider.java @@ -31,7 +31,7 @@ import mcjty.theoneprobe.api.ProbeMode; import appeng.api.parts.IPart; import appeng.integration.modules.theoneprobe.TheOneProbeText; import appeng.parts.networking.PartCableSmart; -import appeng.parts.networking.PartDenseCable; +import appeng.parts.networking.PartDenseCableSmart; public class ChannelInfoProvider implements IPartProbInfoProvider @@ -40,10 +40,10 @@ public class ChannelInfoProvider implements IPartProbInfoProvider @Override public void addProbeInfo( IPart part, ProbeMode mode, IProbeInfo probeInfo, EntityPlayer player, World world, IBlockState blockState, IProbeHitData data ) { - if( part instanceof PartDenseCable || part instanceof PartCableSmart ) + if( part instanceof PartDenseCableSmart || part instanceof PartCableSmart ) { final int usedChannels; - final int maxChannels = ( part instanceof PartDenseCable ) ? 32 : 8; + final int maxChannels = ( part instanceof PartDenseCableSmart ) ? 32 : 8; if( part.getGridNode().isActive() ) { diff --git a/src/main/java/appeng/integration/modules/waila/part/ChannelWailaDataProvider.java b/src/main/java/appeng/integration/modules/waila/part/ChannelWailaDataProvider.java index 127ae648c..eb50dc773 100644 --- a/src/main/java/appeng/integration/modules/waila/part/ChannelWailaDataProvider.java +++ b/src/main/java/appeng/integration/modules/waila/part/ChannelWailaDataProvider.java @@ -35,7 +35,7 @@ import mcp.mobius.waila.api.IWailaDataAccessor; import appeng.api.parts.IPart; import appeng.core.localization.WailaText; import appeng.parts.networking.PartCableSmart; -import appeng.parts.networking.PartDenseCable; +import appeng.parts.networking.PartDenseCableSmart; /** @@ -75,7 +75,7 @@ public final class ChannelWailaDataProvider extends BasePartWailaDataProvider @Override public List getWailaBody( final IPart part, final List currentToolTip, final IWailaDataAccessor accessor, final IWailaConfigHandler config ) { - if( part instanceof PartCableSmart || part instanceof PartDenseCable ) + if( part instanceof PartCableSmart || part instanceof PartDenseCableSmart ) { final NBTTagCompound tag = accessor.getNBTData(); @@ -83,7 +83,7 @@ public final class ChannelWailaDataProvider extends BasePartWailaDataProvider if( usedChannels >= 0 ) { - final byte maxChannels = (byte) ( ( part instanceof PartDenseCable ) ? 32 : 8 ); + final byte maxChannels = (byte) ( ( part instanceof PartDenseCableSmart ) ? 32 : 8 ); final String formattedToolTip = String.format( WailaText.Channels.getLocal(), usedChannels, maxChannels ); currentToolTip.add( formattedToolTip ); @@ -144,7 +144,7 @@ public final class ChannelWailaDataProvider extends BasePartWailaDataProvider @Override public NBTTagCompound getNBTData( EntityPlayerMP player, IPart part, TileEntity te, NBTTagCompound tag, World world, BlockPos pos ) { - if( part instanceof PartCableSmart || part instanceof PartDenseCable ) + if( part instanceof PartCableSmart || part instanceof PartDenseCableSmart ) { final NBTTagCompound tempTag = new NBTTagCompound(); diff --git a/src/main/java/appeng/items/parts/ItemPart.java b/src/main/java/appeng/items/parts/ItemPart.java index f9f07846b..0b431257b 100644 --- a/src/main/java/appeng/items/parts/ItemPart.java +++ b/src/main/java/appeng/items/parts/ItemPart.java @@ -343,7 +343,16 @@ public final class ItemPart extends AEBaseItem implements IPartItem, IItemGroup @Override public int compare( final Entry o1, final Entry o2 ) { - return o1.getValue().part.name().compareTo( o2.getValue().part.name() ); + final String string1 = o1.getValue().part.name(); + final String string2 = o2.getValue().part.name(); + final int comparedString = string1.compareTo( string2 ); + + if( comparedString == 0 ) + { + return Integer.compare( o1.getKey(), o2.getKey() ); + } + + return comparedString; } } diff --git a/src/main/java/appeng/items/parts/PartType.java b/src/main/java/appeng/items/parts/PartType.java index bb2b609a7..0941f8f4d 100644 --- a/src/main/java/appeng/items/parts/PartType.java +++ b/src/main/java/appeng/items/parts/PartType.java @@ -57,7 +57,8 @@ import appeng.parts.misc.PartToggleBus; import appeng.parts.networking.PartCableCovered; import appeng.parts.networking.PartCableGlass; import appeng.parts.networking.PartCableSmart; -import appeng.parts.networking.PartDenseCable; +import appeng.parts.networking.PartDenseCableCovered; +import appeng.parts.networking.PartDenseCableSmart; import appeng.parts.networking.PartQuartzFiber; import appeng.parts.p2p.PartP2PFEPower; import appeng.parts.p2p.PartP2PFluids; @@ -138,7 +139,26 @@ public enum PartType }, CABLE_DENSE_SMART( 60, "cable_dense_smart", EnumSet.of( AEFeature.CHANNELS, AEFeature.DENSE_CABLES ), EnumSet - .noneOf( IntegrationType.class ), PartDenseCable.class ) + .noneOf( IntegrationType.class ), PartDenseCableSmart.class ) + { + @Override + public boolean isCable() + { + return true; + } + + @Override + @SideOnly( Side.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 + .noneOf( IntegrationType.class ), PartDenseCableCovered.class ) { @Override public boolean isCable() diff --git a/src/main/java/appeng/parts/CableBusContainer.java b/src/main/java/appeng/parts/CableBusContainer.java index 862466a00..6584bf3c1 100644 --- a/src/main/java/appeng/parts/CableBusContainer.java +++ b/src/main/java/appeng/parts/CableBusContainer.java @@ -1179,7 +1179,8 @@ public class CableBusContainer extends CableBusStorage implements AEMultiTile, I TileEntity adjacentTe = this.getTile().getWorld().getTileEntity( adjacentPos ); if( adjacentTe instanceof IGridHost ) { - if( !( adjacentTe instanceof IPartHost ) || cable.getCableConnectionType() == AECableType.DENSE_SMART ) + if( !( adjacentTe instanceof IPartHost ) || cable.getCableConnectionType() == AECableType.DENSE_SMART || cable + .getCableConnectionType() == AECableType.DENSE_COVERED ) { IGridHost gridHost = (IGridHost) adjacentTe; connectionType = gridHost.getCableConnectionType( AEPartLocation.fromFacing( facing.getOpposite() ) ); diff --git a/src/main/java/appeng/parts/networking/PartCable.java b/src/main/java/appeng/parts/networking/PartCable.java index 017b22cd0..d92bf10c8 100644 --- a/src/main/java/appeng/parts/networking/PartCable.java +++ b/src/main/java/appeng/parts/networking/PartCable.java @@ -128,9 +128,13 @@ public class PartCable extends AEBasePart implements IPartCable { newPart = parts.cableSmart().stack( newColor, 1 ); } + else if( this.getCableConnectionType() == AECableType.DENSE_COVERED ) + { + newPart = parts.cableDenseCovered().stack( newColor, 1 ); + } else if( this.getCableConnectionType() == AECableType.DENSE_SMART ) { - newPart = parts.cableDense().stack( newColor, 1 ); + newPart = parts.cableDenseSmart().stack( newColor, 1 ); } boolean hasPermission = true; diff --git a/src/main/java/appeng/parts/networking/PartDenseCable.java b/src/main/java/appeng/parts/networking/PartDenseCable.java index 3af307e80..bfc665666 100644 --- a/src/main/java/appeng/parts/networking/PartDenseCable.java +++ b/src/main/java/appeng/parts/networking/PartDenseCable.java @@ -36,7 +36,7 @@ import appeng.helpers.Reflected; import appeng.util.Platform; -public class PartDenseCable extends PartCable +public abstract class PartDenseCable extends PartCable { @Reflected public PartDenseCable( final ItemStack is ) @@ -52,12 +52,6 @@ public class PartDenseCable extends PartCable return BusSupport.DENSE_CABLE; } - @Override - public AECableType getCableConnectionType() - { - return AECableType.DENSE_SMART; - } - @Override public void getBoxes( final IPartCollisionHelper bch ) { @@ -135,25 +129,16 @@ public class PartDenseCable extends PartCable } } - private boolean isSmart( final AEPartLocation of ) - { - final TileEntity te = this.getTile().getWorld().getTileEntity( this.getTile().getPos().offset( of.getFacing() ) ); - if( te instanceof IGridHost ) - { - final AECableType t = ( (IGridHost) te ).getCableConnectionType( of.getOpposite() ); - return t == AECableType.SMART; - } - return false; - } - private boolean isDense( final AEPartLocation of ) { final TileEntity te = this.getTile().getWorld().getTileEntity( this.getTile().getPos().offset( of.getFacing() ) ); + if( te instanceof IGridHost ) { final AECableType t = ( (IGridHost) te ).getCableConnectionType( of.getOpposite() ); - return t == AECableType.DENSE_SMART; + return t == AECableType.DENSE_COVERED || t == AECableType.DENSE_SMART; } + return false; } diff --git a/src/main/java/appeng/parts/networking/PartDenseCableCovered.java b/src/main/java/appeng/parts/networking/PartDenseCableCovered.java new file mode 100644 index 000000000..1d569e13a --- /dev/null +++ b/src/main/java/appeng/parts/networking/PartDenseCableCovered.java @@ -0,0 +1,41 @@ +/* + * This file is part of Applied Energistics 2. + * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. + * + * Applied Energistics 2 is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Applied Energistics 2 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Applied Energistics 2. If not, see . + */ + +package appeng.parts.networking; + + +import net.minecraft.item.ItemStack; + +import appeng.api.util.AECableType; + + +public class PartDenseCableCovered extends PartDenseCable +{ + + public PartDenseCableCovered( ItemStack is ) + { + super( is ); + } + + @Override + public AECableType getCableConnectionType() + { + return AECableType.DENSE_COVERED; + } + +} diff --git a/src/main/java/appeng/parts/networking/PartDenseCableSmart.java b/src/main/java/appeng/parts/networking/PartDenseCableSmart.java new file mode 100644 index 000000000..fbb0fa944 --- /dev/null +++ b/src/main/java/appeng/parts/networking/PartDenseCableSmart.java @@ -0,0 +1,40 @@ +/* + * This file is part of Applied Energistics 2. + * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. + * + * Applied Energistics 2 is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Applied Energistics 2 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Applied Energistics 2. If not, see . + */ + +package appeng.parts.networking; + + +import net.minecraft.item.ItemStack; + +import appeng.api.util.AECableType; + + +public class PartDenseCableSmart extends PartDenseCable +{ + + public PartDenseCableSmart( ItemStack is ) + { + super( is ); + } + + @Override + public AECableType getCableConnectionType() + { + return AECableType.DENSE_SMART; + } +} diff --git a/src/main/java/appeng/recipes/AEItemResolver.java b/src/main/java/appeng/recipes/AEItemResolver.java index eacedcff3..42c76f411 100644 --- a/src/main/java/appeng/recipes/AEItemResolver.java +++ b/src/main/java/appeng/recipes/AEItemResolver.java @@ -91,14 +91,24 @@ public class AEItemResolver implements ISubItemResolver return this.cableItem( parts.cableSmart(), itemName.substring( itemName.indexOf( '.' ) + 1 ) ); } + if( itemName.equals( "cable_dense_covered" ) ) + { + return new ResolverResultSet( "cable_dense_covered", parts.cableDenseCovered().allStacks( 1 ) ); + } + + if( itemName.startsWith( "cable_dense_covered." ) ) + { + return this.cableItem( parts.cableDenseCovered(), itemName.substring( itemName.indexOf( '.' ) + 1 ) ); + } + if( itemName.equals( "cable_dense_smart" ) ) { - return new ResolverResultSet( "cable_dense", parts.cableDense().allStacks( 1 ) ); + return new ResolverResultSet( "cable_dense_smart", parts.cableDenseSmart().allStacks( 1 ) ); } if( itemName.startsWith( "cable_dense_smart." ) ) { - return this.cableItem( parts.cableDense(), itemName.substring( itemName.indexOf( '.' ) + 1 ) ); + return this.cableItem( parts.cableDenseSmart(), itemName.substring( itemName.indexOf( '.' ) + 1 ) ); } if( itemName.startsWith( "crystal_seed." ) ) diff --git a/src/main/java/appeng/util/Platform.java b/src/main/java/appeng/util/Platform.java index ddd22ca23..6f77a7e29 100644 --- a/src/main/java/appeng/util/Platform.java +++ b/src/main/java/appeng/util/Platform.java @@ -1626,7 +1626,7 @@ public class Platform return Collections.singletonList( stack ); } - if( parts.cableDense().sameAs( AEColor.TRANSPARENT, stack ) ) + if( parts.cableDenseSmart().sameAs( AEColor.TRANSPARENT, stack ) ) { return Collections.singletonList( stack ); } diff --git a/src/main/resources/assets/appliedenergistics2/lang/en_us.lang b/src/main/resources/assets/appliedenergistics2/lang/en_us.lang index 2e3019231..c2265e599 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/en_us.lang +++ b/src/main/resources/assets/appliedenergistics2/lang/en_us.lang @@ -457,6 +457,7 @@ item.appliedenergistics2.multi_part.cable_anchor.name=Cable Anchor item.appliedenergistics2.multi_part.cable_covered.name=ME Covered Cable item.appliedenergistics2.multi_part.cable_glass.name=ME Glass Cable item.appliedenergistics2.multi_part.cable_smart.name=ME Smart Cable +item.appliedenergistics2.multi_part.cable_dense_covered.name=ME Dense Covered Cable item.appliedenergistics2.multi_part.cable_dense_smart.name=ME Dense Smart Cable item.appliedenergistics2.multi_part.storage_monitor.name=ME Storage Monitor item.appliedenergistics2.multi_part.conversion_monitor.name=ME Conversion Monitor diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_base.json b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_base.json new file mode 100644 index 000000000..237b79507 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_base.json @@ -0,0 +1,21 @@ +{ + "parent": "appliedenergistics2:item/part/part", + "textures": { + "channels": "appliedenergistics2:parts/cable/dense_covered/0" + }, + "elements": [ + { + "name": "Base", + "from": [ 4.0, 4.0, 2.0 ], + "to": [ 12.0, 12.0, 14.0 ], + "faces": { + "north": { "texture": "#base", "uv": [ 4.0, 4.0, 12.0, 11.0 ] }, + "east": { "texture": "#base", "uv": [ 0.0, 4.0, 4.0, 12.0 ] }, + "south": { "texture": "#base", "uv": [ 11.0, 4.0, 4.0, 12.0 ] }, + "west": { "texture": "#base", "uv": [ 4.0, 4.0, 0.0, 12.0 ] }, + "up": { "texture": "#base", "uv": [ 4.0, 0.0, 12.0, 5.0 ] }, + "down": { "texture": "#base", "uv": [ 4.0, 12.0, 12.0, 16.0 ] } + } + } + ] +} diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_black.json b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_black.json new file mode 100644 index 000000000..4b9335850 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_black.json @@ -0,0 +1,6 @@ +{ + "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "textures": { + "base": "appliedenergistics2:parts/cable/dense_covered/black" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_blue.json b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_blue.json new file mode 100644 index 000000000..8dd83206e --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_blue.json @@ -0,0 +1,6 @@ +{ + "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "textures": { + "base": "appliedenergistics2:parts/cable/dense_covered/blue" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_brown.json b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_brown.json new file mode 100644 index 000000000..b3e1e9c25 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_brown.json @@ -0,0 +1,6 @@ +{ + "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "textures": { + "base": "appliedenergistics2:parts/cable/dense_covered/brown" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_cyan.json b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_cyan.json new file mode 100644 index 000000000..35bd3a150 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_cyan.json @@ -0,0 +1,6 @@ +{ + "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "textures": { + "base": "appliedenergistics2:parts/cable/dense_covered/cyan" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_gray.json b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_gray.json new file mode 100644 index 000000000..bf2252975 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_gray.json @@ -0,0 +1,6 @@ +{ + "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "textures": { + "base": "appliedenergistics2:parts/cable/dense_covered/gray" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_green.json b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_green.json new file mode 100644 index 000000000..9f78c4951 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_green.json @@ -0,0 +1,6 @@ +{ + "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "textures": { + "base": "appliedenergistics2:parts/cable/dense_covered/green" + } +} 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/part/cable_dense_covered_light_blue.json new file mode 100644 index 000000000..f0070cdbc --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_light_blue.json @@ -0,0 +1,6 @@ +{ + "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "textures": { + "base": "appliedenergistics2:parts/cable/dense_covered/light_blue" + } +} 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/part/cable_dense_covered_light_gray.json new file mode 100644 index 000000000..93fc6a53d --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_light_gray.json @@ -0,0 +1,6 @@ +{ + "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "textures": { + "base": "appliedenergistics2:parts/cable/dense_covered/light_gray" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_lime.json b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_lime.json new file mode 100644 index 000000000..3cb9578a6 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_lime.json @@ -0,0 +1,6 @@ +{ + "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "textures": { + "base": "appliedenergistics2:parts/cable/dense_covered/lime" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_magenta.json b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_magenta.json new file mode 100644 index 000000000..5349a5c85 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_magenta.json @@ -0,0 +1,6 @@ +{ + "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "textures": { + "base": "appliedenergistics2:parts/cable/dense_covered/magenta" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_orange.json b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_orange.json new file mode 100644 index 000000000..5f80dcf85 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_orange.json @@ -0,0 +1,6 @@ +{ + "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "textures": { + "base": "appliedenergistics2:parts/cable/dense_covered/orange" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_pink.json b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_pink.json new file mode 100644 index 000000000..150630865 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_pink.json @@ -0,0 +1,6 @@ +{ + "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "textures": { + "base": "appliedenergistics2:parts/cable/dense_covered/pink" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_purple.json b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_purple.json new file mode 100644 index 000000000..09543e920 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_purple.json @@ -0,0 +1,6 @@ +{ + "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "textures": { + "base": "appliedenergistics2:parts/cable/dense_covered/purple" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_red.json b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_red.json new file mode 100644 index 000000000..11fd1711c --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_red.json @@ -0,0 +1,6 @@ +{ + "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "textures": { + "base": "appliedenergistics2:parts/cable/dense_covered/red" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_transparent.json b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_transparent.json new file mode 100644 index 000000000..7542054d1 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_transparent.json @@ -0,0 +1,6 @@ +{ + "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "textures": { + "base": "appliedenergistics2:parts/cable/dense_covered/transparent" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_white.json b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_white.json new file mode 100644 index 000000000..17b33dac0 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_white.json @@ -0,0 +1,6 @@ +{ + "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "textures": { + "base": "appliedenergistics2:parts/cable/dense_covered/white" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_yellow.json b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_yellow.json new file mode 100644 index 000000000..02c730242 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/item/part/cable_dense_covered_yellow.json @@ -0,0 +1,6 @@ +{ + "parent": "appliedenergistics2:item/part/cable_dense_covered_base", + "textures": { + "base": "appliedenergistics2:parts/cable/dense_covered/yellow" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/part/cable/dense_covered/center.json b/src/main/resources/assets/appliedenergistics2/models/part/cable/dense_covered/center.json new file mode 100644 index 000000000..9ef693127 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/part/cable/dense_covered/center.json @@ -0,0 +1,20 @@ +{ + "textures": { + "base": "appliedenergistics2:parts/cable/dense_covered/${color}" + }, + "elements": [ + { + "name": "Element", + "from": [ 3.0, 3.0, 3.0 ], + "to": [ 13.0, 13.0, 13.0 ], + "faces": { + "north": { "texture": "#base", "uv": [ 5.5, 5.5, 10.5, 10.5 ] }, + "east": { "texture": "#base", "uv": [ 5.5, 5.5, 10.5, 10.5 ] }, + "south": { "texture": "#base", "uv": [ 10.5, 5.5, 5.5, 10.5 ] }, + "west": { "texture": "#base", "uv": [ 10.5, 5.5, 5.5, 10.5 ] }, + "up": { "texture": "#base", "uv": [ 5.5, 5.5, 10.5, 10.5 ] }, + "down": { "texture": "#base", "uv": [ 5.5, 5.5, 10.5, 10.5 ] } + } + } + ] +} diff --git a/src/main/resources/assets/appliedenergistics2/models/part/cable/dense_covered/connection.json b/src/main/resources/assets/appliedenergistics2/models/part/cable/dense_covered/connection.json new file mode 100644 index 000000000..f3b3f67f3 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/part/cable/dense_covered/connection.json @@ -0,0 +1,20 @@ +{ + "textures": { + "base": "appliedenergistics2:parts/cable/dense_covered/${color}" + }, + "elements": [ + { + "name": "Element", + "from": [ 4.0, 4.0, 0.0 ], + "to": [ 12.0, 12.0, 8.0 ], + "faces": { + "north": { "texture": "#base", "uv": [ 5.5, 5.5, 10.5, 10.5 ] }, + "east": { "texture": "#base", "uv": [ 11.0, 5.5, 16.0, 10.5 ] }, + "south": { "texture": "#base", "uv": [ 10.5, 10.5, 5.5, 5.5 ] }, + "west": { "texture": "#base", "uv": [ 16.0, 5.5, 11.0, 10.5 ] }, + "up": { "texture": "#base", "uv": [ 5.5, 0.0, 10.5, 5.0 ] }, + "down": { "texture": "#base", "uv": [ 5.5, 11.0, 10.5, 16.0 ] } + } + } + ] +} diff --git a/src/main/resources/assets/appliedenergistics2/models/part/cable/dense_covered/straight.json b/src/main/resources/assets/appliedenergistics2/models/part/cable/dense_covered/straight.json new file mode 100644 index 000000000..6b06ea13f --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/part/cable/dense_covered/straight.json @@ -0,0 +1,20 @@ +{ + "textures": { + "base": "appliedenergistics2:parts/cable/dense_covered/${color}" + }, + "elements": [ + { + "name": "Element", + "from": [ 3.0, 3.0, 0.0 ], + "to": [ 13.0, 13.0, 16.0 ], + "faces": { + "north": { "texture": "#base", "uv": [ 5.0, 5.0, 11.0, 11.0 ] }, + "east": { "texture": "#base", "uv": [ 0.0, 5.0, 5.0, 11.0 ] }, + "south": { "texture": "#base", "uv": [ 11.0, 5.0, 5.0, 11.0 ] }, + "west": { "texture": "#base", "uv": [ 5.0, 5.0, 0.0, 11.0 ] }, + "up": { "texture": "#base", "uv": [ 5.0, 0.0, 11.0, 5.0 ] }, + "down": { "texture": "#base", "uv": [ 5.0, 11.0, 11.0, 16.0 ] } + } + } + ] +} diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_black.json b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_black.json new file mode 100644 index 000000000..c248cafb7 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_black.json @@ -0,0 +1,23 @@ +{ + "result": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.black", + "count": 8 + }, + "type": "appliedenergistics2:part_shaped", + "pattern": [ + "aaa", + "aba", + "aaa" + ], + "key": { + "a": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.fluix" + }, + "b": { + "type": "forge:ore_dict", + "ore": "dyeBlack" + } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_blue.json b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_blue.json new file mode 100644 index 000000000..a26dc4fa7 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_blue.json @@ -0,0 +1,23 @@ +{ + "result": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.blue", + "count": 8 + }, + "type": "appliedenergistics2:part_shaped", + "pattern": [ + "aaa", + "aba", + "aaa" + ], + "key": { + "a": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.fluix" + }, + "b": { + "type": "forge:ore_dict", + "ore": "dyeBlue" + } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_brown.json b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_brown.json new file mode 100644 index 000000000..5982c9e22 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_brown.json @@ -0,0 +1,23 @@ +{ + "result": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.brown", + "count": 8 + }, + "type": "appliedenergistics2:part_shaped", + "pattern": [ + "aaa", + "aba", + "aaa" + ], + "key": { + "b": { + "type": "forge:ore_dict", + "ore": "dyeBrown" + }, + "a": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.fluix" + } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_cyan.json b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_cyan.json new file mode 100644 index 000000000..a27f88fc8 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_cyan.json @@ -0,0 +1,23 @@ +{ + "result": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.cyan", + "count": 8 + }, + "type": "appliedenergistics2:part_shaped", + "pattern": [ + "aaa", + "aba", + "aaa" + ], + "key": { + "a": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.fluix" + }, + "b": { + "type": "forge:ore_dict", + "ore": "dyeCyan" + } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_fluix.json b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_fluix.json new file mode 100644 index 000000000..e3310a32f --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_fluix.json @@ -0,0 +1,25 @@ +{ + "result": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.fluix" + }, + "type": "appliedenergistics2:part_shapeless", + "ingredients": [ + { + "type": "appliedenergistics2:part", + "part": "cable_covered.fluix" + }, + { + "type": "appliedenergistics2:part", + "part": "cable_covered.fluix" + }, + { + "type": "appliedenergistics2:part", + "part": "cable_covered.fluix" + }, + { + "type": "appliedenergistics2:part", + "part": "cable_covered.fluix" + } + ] +} diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_fluix_clean.json b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_fluix_clean.json new file mode 100644 index 000000000..80f914652 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_fluix_clean.json @@ -0,0 +1,16 @@ +{ + "result": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.fluix" + }, + "type": "appliedenergistics2:part_shapeless", + "ingredients": [ + { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered" + }, + { + "item": "minecraft:water_bucket" + } + ] +} diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_gray.json b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_gray.json new file mode 100644 index 000000000..607c57c36 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_gray.json @@ -0,0 +1,23 @@ +{ + "result": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.gray", + "count": 8 + }, + "type": "appliedenergistics2:part_shaped", + "pattern": [ + "aaa", + "aba", + "aaa" + ], + "key": { + "a": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.fluix" + }, + "b": { + "type": "forge:ore_dict", + "ore": "dyeGray" + } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_green.json b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_green.json new file mode 100644 index 000000000..f382b7173 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_green.json @@ -0,0 +1,23 @@ +{ + "result": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.green", + "count": 8 + }, + "type": "appliedenergistics2:part_shaped", + "pattern": [ + "aaa", + "aba", + "aaa" + ], + "key": { + "b": { + "type": "forge:ore_dict", + "ore": "dyeGreen" + }, + "a": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.fluix" + } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_light_blue.json b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_light_blue.json new file mode 100644 index 000000000..afd6e1fb3 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_light_blue.json @@ -0,0 +1,23 @@ +{ + "result": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.light_blue", + "count": 8 + }, + "type": "appliedenergistics2:part_shaped", + "pattern": [ + "aaa", + "aba", + "aaa" + ], + "key": { + "a": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.fluix" + }, + "b": { + "type": "forge:ore_dict", + "ore": "dyeLightBlue" + } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_light_gray.json b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_light_gray.json new file mode 100644 index 000000000..cbbfcfa82 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_light_gray.json @@ -0,0 +1,23 @@ +{ + "result": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.light_gray", + "count": 8 + }, + "type": "appliedenergistics2:part_shaped", + "pattern": [ + "aaa", + "aba", + "aaa" + ], + "key": { + "a": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.fluix" + }, + "b": { + "type": "forge:ore_dict", + "ore": "dyeLightGray" + } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_lime.json b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_lime.json new file mode 100644 index 000000000..f7a596fe2 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_lime.json @@ -0,0 +1,23 @@ +{ + "result": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.lime", + "count": 8 + }, + "type": "appliedenergistics2:part_shaped", + "pattern": [ + "aaa", + "aba", + "aaa" + ], + "key": { + "a": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.fluix" + }, + "b": { + "type": "forge:ore_dict", + "ore": "dyeLime" + } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_magenta.json b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_magenta.json new file mode 100644 index 000000000..7bfa84924 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_magenta.json @@ -0,0 +1,23 @@ +{ + "result": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.magenta", + "count": 8 + }, + "type": "appliedenergistics2:part_shaped", + "pattern": [ + "aaa", + "aba", + "aaa" + ], + "key": { + "a": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.fluix" + }, + "b": { + "type": "forge:ore_dict", + "ore": "dyeMagenta" + } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_orange.json b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_orange.json new file mode 100644 index 000000000..4cdbf27f3 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_orange.json @@ -0,0 +1,23 @@ +{ + "result": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.orange", + "count": 8 + }, + "type": "appliedenergistics2:part_shaped", + "pattern": [ + "aaa", + "aba", + "aaa" + ], + "key": { + "a": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.fluix" + }, + "b": { + "type": "forge:ore_dict", + "ore": "dyeOrange" + } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_pink.json b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_pink.json new file mode 100644 index 000000000..98254d3b8 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_pink.json @@ -0,0 +1,23 @@ +{ + "result": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.pink", + "count": 8 + }, + "type": "appliedenergistics2:part_shaped", + "pattern": [ + "aaa", + "aba", + "aaa" + ], + "key": { + "a": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.fluix" + }, + "b": { + "type": "forge:ore_dict", + "ore": "dyePink" + } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_purple.json b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_purple.json new file mode 100644 index 000000000..bf51d09e7 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_purple.json @@ -0,0 +1,23 @@ +{ + "result": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.purple", + "count": 8 + }, + "type": "appliedenergistics2:part_shaped", + "pattern": [ + "aaa", + "aba", + "aaa" + ], + "key": { + "b": { + "type": "forge:ore_dict", + "ore": "dyePurple" + }, + "a": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.fluix" + } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_red.json b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_red.json new file mode 100644 index 000000000..72dc4e098 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_red.json @@ -0,0 +1,23 @@ +{ + "result": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.red", + "count": 8 + }, + "type": "appliedenergistics2:part_shaped", + "pattern": [ + "aaa", + "aba", + "aaa" + ], + "key": { + "a": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.fluix" + }, + "b": { + "type": "forge:ore_dict", + "ore": "dyeRed" + } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_white.json b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_white.json new file mode 100644 index 000000000..27ba7dc09 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_white.json @@ -0,0 +1,23 @@ +{ + "result": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.white", + "count": 8 + }, + "type": "appliedenergistics2:part_shaped", + "pattern": [ + "aaa", + "aba", + "aaa" + ], + "key": { + "a": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.fluix" + }, + "b": { + "type": "forge:ore_dict", + "ore": "dyeWhite" + } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_yellow.json b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_yellow.json new file mode 100644 index 000000000..844db59c3 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_covered_yellow.json @@ -0,0 +1,23 @@ +{ + "result": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.yellow", + "count": 8 + }, + "type": "appliedenergistics2:part_shaped", + "pattern": [ + "aaa", + "aba", + "aaa" + ], + "key": { + "b": { + "type": "forge:ore_dict", + "ore": "dyeYellow" + }, + "a": { + "type": "appliedenergistics2:part", + "part": "cable_dense_covered.fluix" + } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_smart_fluix.json b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_smart_fluix.json index 245634d23..5381c2a86 100644 --- a/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_smart_fluix.json +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cables/dense_smart_fluix.json @@ -7,19 +7,7 @@ "ingredients": [ { "type": "appliedenergistics2:part", - "part": "cable_covered.fluix" - }, - { - "type": "appliedenergistics2:part", - "part": "cable_covered.fluix" - }, - { - "type": "appliedenergistics2:part", - "part": "cable_covered.fluix" - }, - { - "type": "appliedenergistics2:part", - "part": "cable_covered.fluix" + "part": "cable_dense_covered.fluix" }, { "type": "forge:ore_dict", diff --git a/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/black.png b/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/black.png new file mode 100644 index 0000000000000000000000000000000000000000..4cad69b1c54322d1adcb8eab702eb72183784272 GIT binary patch literal 334 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4kiW$hCdQ-7c($0Fct^7J29*~C-ahlfq^C6 z(btiIVPik{pF~y$1_sUokH}&M2EM}}%y>M1MG6B0gJg+oL`iUdT1k0gQ7S`0VrE{6 zUS4X6f{C7io}syM-uz?+28Ml}E{-7{-fypL?)>p_k+4o3y9$h8^%{Q53s z=YvN}JQ|;@cQ|Obx0qwY*4XWzwB|R4ZF!xsf$ISRYfiaydT~YB#jY}0-e;`)xSp}@ zy4jK}l*A=|zOnDTn0OysJD15{+koQ>nd(m2d_F&E})eAvuk zp&wik>VEw8zNZ-lf3Huu(D(9vhSZLK>ks+s26&jizUiuctJEZdwE%{{EWftT%(w8* UkBnSX1_lNOPgg&ebxsLQ0AV77<^TWy literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/blue.png b/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/blue.png new file mode 100644 index 0000000000000000000000000000000000000000..3791536afd8877ec9f191a2131340408e69b6092 GIT binary patch literal 326 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4kiW$hCdQ-7c($0Fct^7J29*~C-ahlfq^C6 z(btiIVPik{pF~y$1_sUokH}&M2EM}}%y>M1MG6B0gJg+oL`iUdT1k0gQ7S`0VrE{6 zUS4X6f{C7io}syM-uz?+28L~(E{-7{-fyQIBVnb={%ot^%QmPrEJY|tK=hFuTE$B>T&gGO>Zrm(UrNpc5e(O zER5-kH`=4TD5-VNo`+5RXP0QLn7_dA|G&^F>e&}d_e5TOc0u@o))t0D0k*_~T?cpV aWi-fNu~tE2-3kT<1_n=8KbLh*2~7YTUv+f= literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/brown.png b/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/brown.png new file mode 100644 index 0000000000000000000000000000000000000000..4c440650649c8f83ec5148996e73f1374d5722a2 GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4kiW$hCdQ-7c($0Fct^7J29*~C-ahlfq^C6 z(btiIVPik{pF~y$1_sUokH}&M2EM}}%y>M1MG6B0gJg+oL`iUdT1k0gQ7S`0VrE{6 zUS4X6f{C7io}syM-uz?+28MHVjMG7Op!&A zV?F4s41b@!t(lWl=)}Je;i6u^HxGaDDn1OrT z1iMx8bD9>e|9y4=v-ipq{h3Xt6WRYoCin=Pn9DKe(^b{eyB!)WdHm#66Xv$_emWs` w=Ktym^^*@M$(cdT7ibb_Nhou?zK@Y_(aK|sI8GQdFfcH9y85}Sb4q9e0DIVlRsaA1 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/cyan.png b/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/cyan.png new file mode 100644 index 0000000000000000000000000000000000000000..150f4b324d009acb783feb3648f90b45744b536d GIT binary patch literal 329 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4kiW$hCdQ-7c($0Fct^7J29*~C-ahlfq^C6 z(btiIVPik{pF~y$1_sUokH}&M2EM}}%y>M1MG6B0gJg+oL`iUdT1k0gQ7S`0VrE{6 zUS4X6f{C7io}syM-uz?+28NxUE{-7{-fyQkay1(WxK=Nocl2|qu7|j73wQoR;T@&( z`F(1N^jta zn=1_#n~LQ!o)ySt^h-2y`;xe4g+~_cAckcyZbl` zR#9rK{+ eGHc>brdbb7C$5!M1MG6B0gJg+oL`iUdT1k0gQ7S`0VrE{6 zUS4X6f{C7io}syM-uz?+28LapE{-7{-fyoMave4hVZI=<=YsGTKG|wk{l_U-_~HHqi)~puThg+F`KvCcFOXboB^APG0mnI9s{U0IzpI_ixOy=m_CeqVy$k)m z1wKy=zCGmJKFht~;ENDOwi{opU&y{@lFMM*{Xls3JLb}i%y&_ZY5#UE*d6d7UGUC_ z3AMZ-7p$%BWYxtkh$%WOfA%`VeRdh)nu<$3VY0lhN_qR(LKz^~UN7SHq Q26>gi)78&qol`;+0Liy@oB#j- literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/green.png b/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/green.png new file mode 100644 index 0000000000000000000000000000000000000000..1de704133609a3c8594661637da3d27a0ce05c52 GIT binary patch literal 339 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4kiW$hCdQ-7c($0Fct^7J29*~C-ahlfq^C6 z(btiIVPik{pF~y$1_sUokH}&M2EM}}%y>M1MG6B0gJg+oL`iUdT1k0gQ7S`0VrE{6 zUS4X6f{C7io}syM-uz?+28P3)E{-7{-fyQIUoFVdQ&MBb@07T4wJpcdz literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/light_blue.png b/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/light_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..a7f38dcbaa4670330b3cd9d35572b71927aeca9c GIT binary patch literal 334 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4kiW$hCdQ-7c($0Fct^7J29*~C-ahlfq^C6 z(btiIVPik{pF~y$1_sUokH}&M2EM}}%y>M1MG6B0gJg+oL`iUdT1k0gQ7S`0VrE{6 zUS4X6f{C7io}syM-uz?+28Ml}E{-7{-fyQE@*Q&EVX4fX=XBm)X6^*t7z6I*y__ot2tO(IJkh%@QA8oVf~ zZ=AJPL_JRUqSy(S4DKIdf)&2+HkuclwEWGxPiVtVzoQ23(E;{ZF+Pqf?5(T{R_h(z z>fgZjXY+v@iW7_lXB=W%$fjqwM1MG6B0gJg+oL`iUdT1k0gQ7S`0VrE{6 zUS4X6f{C7io}syM-uz?+28PR?E{-7{-fyoMavgFIVYzVUKVQ?**6snozGduG^eqz z>oN6K?}4U_%;cTdZq+tKuX|o>5ieTst9XKJX=B`~cFj5eq&6@|b5;K4D#-fr zylKl~hx>5+Y)+}E&Mh!hwoUu!jRkHqVL}QjQnXY=dexu_Kksofx*+&&t;ucLK6U2 CafdMg literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/lime.png b/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/lime.png new file mode 100644 index 0000000000000000000000000000000000000000..efb6a78c64875a68fdc717c897db4b271b0d1979 GIT binary patch literal 327 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4kiW$hCdQ-7c($0Fct^7J29*~C-ahlfq^C6 z(btiIVPik{pF~y$1_sUokH}&M2EM}}%y>M1MG6B0gJg+oL`iUdT1k0gQ7S`0VrE{6 zUS4X6f{C7io}syM-uz?+28QjPE{-7{-ft&4avgTyaIN0=u4?`~#pfD3o%E)ySth@~ zBSL1jD;Mii!JfjJ$v%0>@#-><8RtFbi_?pEczJ`$g(k5r55$?wQgsfgy~yDV+oQHv zti@}ASb@0Y4Yl7hq<5sw{n@gfWtzmZ6|BDkKR*zO`Fk-kaP}t)bqA(@kqL7IT8udh zx>VWn0=J|b`nq59x6uVbt;S6Y#Ted2*{^EZ>#qC3{X6Gu3y*Z~9~Ton7qIGP9DLeT ZTg!aZUBo$=+YJ;<44$rjF6*2UngDf%b#4Fv literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/magenta.png b/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/magenta.png new file mode 100644 index 0000000000000000000000000000000000000000..8fb1f84c02e4fc49bcef3518467f14deec78a1d2 GIT binary patch literal 335 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4kiW$hCdQ-7c($0Fct^7J29*~C-ahlfq^C6 z(btiIVPik{pF~y$1_sUokH}&M2EM}}%y>M1MG6B0gJg+oL`iUdT1k0gQ7S`0VrE{6 zUS4X6f{C7io}syM-uz?+28R8fE{-7{-fyQIP>4{i$Cn}n3!|+u*Bx(9U9Zi?cZI9wKllJ_Mzk`=lfI2PFz6~n<jh#XvS zy_QL}TGMZj+9JIPodMz>bd^5Lx|5v$U{dinYZ;*pKke+=EMGN!3VfWz<@ERB#m4AV z&2`00CJ*Mb9^-7B(|JI|jKj2`Q}OP$J)XbkYkpVSpeVd>*M)!U56Rz^(lcCM1MG6B0gJg+oL`iUdT1k0gQ7S`0VrE{6 zUS4X6f{C7io}syM-uz?+28IKkE{-7{-fyQE@--Xqxb6%qpEgfmrFGEqd5gKjABcE_ zZVqUlFLnJ0OG^mn$!pS=Zv2_PO!VsN?C=V6aV49qM|xb=FIKsW=oK__|5H3L;pmMR z&Nac`LT+$wpLO8YBAo#1u1yT_*P5O`N=)^B^6!oQ4Hbu7dv4zNYgJ+4Jyq|jo=d=s z3-*#0E2g%+xut$!;W?dzGL8Zb?yim|W&2IP);O?Or)~T1TdCL0b1FzigWEzW_EpH~ mb*=l?#Xe~I%)RRy^VO1^e@(8LKNuJo7(8A5T-G@yGywqh27v|u literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/pink.png b/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/pink.png new file mode 100644 index 0000000000000000000000000000000000000000..7b7d9e8cb0460277c3f2efa8f56609c9aa93cf45 GIT binary patch literal 339 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4kiW$hCdQ-7c($0Fct^7J29*~C-ahlfq^C6 z(btiIVPik{pF~y$1_sUokH}&M2EM}}%y>M1MG6B0gJg+oL`iUdT1k0gQ7S`0VrE{6 zUS4X6f{C7io}syM-uz?+28P3)E{-7{-ft%#{KdkBWAa?9ZF}WS1G5?vP`DXgQ}fSTv*}t53p7ph@75(*ZSpDc|X{1FD`c z2+Fqk#T0D#h1KVwV)CZ`n2D;TpV(HjsC1v6D_iThGsOOdlCS*Bbq^-Er%sl?&BF8b zJX30O!$O-EPM`8tt@(cM1MG6B0gJg+oL`iUdT1k0gQ7S`0VrE{6 zUS4X6f{C7io}syM-uz?+28Ml}E{-7{-fyQkay2{fxK^vYzoh*|CGM!+E}gy3h03wq zam(cY3mn>B_$rC3wPkyU;Xn1{mzgrlWPiP5T=!gj$IeGBa)ajC0zJx z)I4dgn0lOWp!f-w72H3>1S@>sZ8R@9Y57}rpU{Sn>e+p}7RY49_&C1!6T@Rwuv+J6 zsZRsjpUnp>6ei>=8MN{`@x~;1Y}c({^7s6dYQY;5Is;-e{)a#GFXNsr5whv}r;DFD jCNzmGS+Fx<#=R%?8_&sKF51t)z`)??>gTe~DWM4f(`M1MG6B0gJg+oL`iUdT1k0gQ7S`0VrE{6 zUS4X6f{C7io}syM-uz?+28I)!E{-7{-fyQI^Q)x7vb8V(rj3A zWQ(=X9c$LKimj_A>2OzUX5(#IwXC76i~ZEJ^yLe^3^Ifl{0^NU+s#zBvh0XW$$s0o z1A+Jc-2M?zu*-d$&WSDDNq>3v$8VC#F0z%8ESb*9rd^Y9bxO;tWbRwfzVGL%{2=vY u>Di+9A~j5FR!tHT-*JGoUi`~pVMn!{O`oP|pJrfSVDNPHb6Mw<&;$S};(*Hl literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/transparent.png b/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..3df34b6d3419587d2476683712929a1b55a68203 GIT binary patch literal 334 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4kiW$hCdQ-7c($0Fct^7J29*~C-ahlfq^C6 z(btiIVPik{pF~y$1_sUokH}&M2EM}}%y>M1MG6B0gJg+oL`iUdT1k0gQ7S`0VrE{6 zUS4X6f{C7io}syM-uz?+28Ml}E{-7{-fyqmG-}< zb-1M^c$SkK*DnrV9d6mu`Y3g8hCDkaL0Wvaz+CCkL@>5Wx48%1-M z_c2?X4xD`bN1Ci(<(>SBP|Y)smhJl<%FtstO;l%Vp~M2`uNF+sTlpdub?C0$Tg+%7 z7E|%#cEd{-hF?Mwj{ECR?2?u_n7_m;QOx}7-q-aRyOvvcw@XD_EL-(&o#R?J)&_{h e;_P4kF>2+oENRo%=3!u9VDNPHb6Mw<&;$TRYj+0# literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/white.png b/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/white.png new file mode 100644 index 0000000000000000000000000000000000000000..10440112515c4928627b57e718e20d665188b17f GIT binary patch literal 331 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4kiW$hCdQ-7c($0Fct^7J29*~C-ahlfq^C6 z(btiIVPik{pF~y$1_sUokH}&M2EM}}%y>M1MG6B0gJg+oL`iUdT1k0gQ7S`0VrE{6 zUS4X6f{C7io}syM-uz?+28P|9E{-7{-fyoQY<@e=eQ{}RdTEpEE{ClZb*o{(?7yGjdOgTe~DWM4fqW^b( literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/yellow.png b/src/main/resources/assets/appliedenergistics2/textures/parts/cable/dense_covered/yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..11f11dce80b85a9100178023875f98e6ac837843 GIT binary patch literal 337 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4kiW$hCdQ-7c($0Fct^7J29*~C-ahlfq^C6 z(btiIVPik{pF~y$1_sUokH}&M2EM}}%y>M1MG6B0gJg+oL`iUdT1k0gQ7S`0VrE{6 zUS4X6f{C7io}syM-uz?+28M&4E{-7{-ft%zwDhrb-w>-gL>ZMK8r9_?N4ISI+`AiTy;tlCLEt@dHzL? zUZkN^dv2poW`piDzDo@^(`vsxz2|j6S>?jZ>6cGEx*_&r=`UBsx&L;o+t3`Bd1Ade zYtiQaIvPhPxpoukIJYn;GUiUc;Qe&c)ENuxei+M4a