Add cable colors
|
@ -0,0 +1,35 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
base_color=blue
|
||||||
|
|
||||||
|
modulate() {
|
||||||
|
echo $1, $2
|
||||||
|
mkdir -p src/main/resources/assets/phycon/textures/block/cable/$1
|
||||||
|
for f in src/main/resources/assets/phycon/textures/block/cable/$base_color/*; do
|
||||||
|
echo $f
|
||||||
|
convert $f -modulate $2 src/main/resources/assets/phycon/textures/block/cable/$1/$(basename $f)
|
||||||
|
done
|
||||||
|
echo "---"
|
||||||
|
}
|
||||||
|
|
||||||
|
# modulate <color> <brightness>,<saturation>,<hue>
|
||||||
|
# brightness: 100 is initial, +/- 100
|
||||||
|
# saturnation: 100 is initial, +/- 100
|
||||||
|
# hue: (<gimp hue> / 180) * 100 + 100
|
||||||
|
|
||||||
|
modulate white 200,0,100
|
||||||
|
modulate orange 100,120,200
|
||||||
|
modulate magenta 100,100,146
|
||||||
|
modulate light_blue 140,65,100
|
||||||
|
modulate yellow 100,109,8
|
||||||
|
modulate lime 100,100,53
|
||||||
|
modulate pink 172,50,172
|
||||||
|
modulate gray 60,10,100
|
||||||
|
modulate light_gray 105,3,39
|
||||||
|
modulate cyan 112,65,84
|
||||||
|
modulate purple 109,76,133
|
||||||
|
modulate brown 60,45,190
|
||||||
|
modulate green 60,50,30
|
||||||
|
modulate red 100,100,176
|
||||||
|
modulate black 30,0,100
|
||||||
|
|
|
@ -8,6 +8,7 @@ import net.minecraft.item.ItemPlacementContext
|
||||||
import net.minecraft.state.StateManager
|
import net.minecraft.state.StateManager
|
||||||
import net.minecraft.state.property.EnumProperty
|
import net.minecraft.state.property.EnumProperty
|
||||||
import net.minecraft.util.ActionResult
|
import net.minecraft.util.ActionResult
|
||||||
|
import net.minecraft.util.DyeColor
|
||||||
import net.minecraft.util.Hand
|
import net.minecraft.util.Hand
|
||||||
import net.minecraft.util.Identifier
|
import net.minecraft.util.Identifier
|
||||||
import net.minecraft.util.hit.BlockHitResult
|
import net.minecraft.util.hit.BlockHitResult
|
||||||
|
@ -32,7 +33,9 @@ import java.util.*
|
||||||
/**
|
/**
|
||||||
* @author shadowfacts
|
* @author shadowfacts
|
||||||
*/
|
*/
|
||||||
class CableBlock: Block(
|
class CableBlock(
|
||||||
|
val color: DyeColor,
|
||||||
|
): Block(
|
||||||
FabricBlockSettings.of(CABLE_MATERIAL)
|
FabricBlockSettings.of(CABLE_MATERIAL)
|
||||||
.strength(0.3f)
|
.strength(0.3f)
|
||||||
.nonOpaque()
|
.nonOpaque()
|
||||||
|
@ -112,22 +115,20 @@ class CableBlock: Block(
|
||||||
val offsetPos = pos.offset(direction)
|
val offsetPos = pos.offset(direction)
|
||||||
val state = world.getBlockState(offsetPos)
|
val state = world.getBlockState(offsetPos)
|
||||||
val block = state.block
|
val block = state.block
|
||||||
return when (block) {
|
return if (block == this) {
|
||||||
this -> {
|
|
||||||
val prop = CONNECTIONS[direction.opposite]
|
val prop = CONNECTIONS[direction.opposite]
|
||||||
when (state[prop]) {
|
when (state[prop]) {
|
||||||
CableConnection.DISABLED -> CableConnection.DISABLED
|
CableConnection.DISABLED -> CableConnection.DISABLED
|
||||||
else -> CableConnection.ON
|
else -> CableConnection.ON
|
||||||
}
|
}
|
||||||
}
|
} else if (block is NetworkComponentBlock && block !is CableBlock) {
|
||||||
is NetworkComponentBlock -> {
|
|
||||||
if (block.getNetworkConnectedSides(state, world, offsetPos).contains(direction.opposite)) {
|
if (block.getNetworkConnectedSides(state, world, offsetPos).contains(direction.opposite)) {
|
||||||
CableConnection.ON
|
CableConnection.ON
|
||||||
} else {
|
} else {
|
||||||
CableConnection.OFF
|
CableConnection.OFF
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else -> CableConnection.OFF
|
CableConnection.OFF
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,10 @@ class PhyModelProvider(resourceManager: ResourceManager) : ModelResourceProvider
|
||||||
val EXTRACTOR_SIDE = Identifier(PhysicalConnectivity.MODID, "block/extractor_side")
|
val EXTRACTOR_SIDE = Identifier(PhysicalConnectivity.MODID, "block/extractor_side")
|
||||||
val INSERTER = Identifier(PhysicalConnectivity.MODID, "block/inserter")
|
val INSERTER = Identifier(PhysicalConnectivity.MODID, "block/inserter")
|
||||||
val INSERTER_SIDE = Identifier(PhysicalConnectivity.MODID, "block/inserter_side")
|
val INSERTER_SIDE = Identifier(PhysicalConnectivity.MODID, "block/inserter_side")
|
||||||
val CABLE_BLUE = Identifier(PhysicalConnectivity.MODID, "block/cable/blue")
|
|
||||||
|
val CABLES = DyeColor.values().map {
|
||||||
|
Identifier(PhysicalConnectivity.MODID, "block/cable/${it.getName()}") to it
|
||||||
|
}.toMap()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun loadModelResource(resourceId: Identifier, context: ModelProviderContext): UnbakedModel? {
|
override fun loadModelResource(resourceId: Identifier, context: ModelProviderContext): UnbakedModel? {
|
||||||
|
@ -35,7 +38,7 @@ class PhyModelProvider(resourceManager: ResourceManager) : ModelResourceProvider
|
||||||
REDSTONE_EMITTER -> SimpleFaceDeviceModel(REDSTONE_EMITTER_SIDE)
|
REDSTONE_EMITTER -> SimpleFaceDeviceModel(REDSTONE_EMITTER_SIDE)
|
||||||
EXTRACTOR -> SimpleFaceDeviceModel(EXTRACTOR_SIDE)
|
EXTRACTOR -> SimpleFaceDeviceModel(EXTRACTOR_SIDE)
|
||||||
INSERTER -> SimpleFaceDeviceModel(INSERTER_SIDE)
|
INSERTER -> SimpleFaceDeviceModel(INSERTER_SIDE)
|
||||||
CABLE_BLUE -> ColoredCableModel(DyeColor.BLUE)
|
in CABLES -> ColoredCableModel(CABLES[resourceId]!!)
|
||||||
else -> null
|
else -> null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
package net.shadowfacts.phycon.init
|
package net.shadowfacts.phycon.init
|
||||||
|
|
||||||
import net.minecraft.block.Block
|
import net.minecraft.block.Block
|
||||||
|
import net.minecraft.util.DyeColor
|
||||||
import net.minecraft.util.Identifier
|
import net.minecraft.util.Identifier
|
||||||
import net.minecraft.util.registry.Registry
|
import net.minecraft.util.registry.Registry
|
||||||
|
import net.shadowfacts.phycon.PhysicalConnectivity
|
||||||
import net.shadowfacts.phycon.block.cable.CableBlock
|
import net.shadowfacts.phycon.block.cable.CableBlock
|
||||||
import net.shadowfacts.phycon.block.extractor.ExtractorBlock
|
import net.shadowfacts.phycon.block.extractor.ExtractorBlock
|
||||||
import net.shadowfacts.phycon.block.inserter.InserterBlock
|
import net.shadowfacts.phycon.block.inserter.InserterBlock
|
||||||
|
@ -18,10 +20,11 @@ import net.shadowfacts.phycon.block.terminal.TerminalBlock
|
||||||
*/
|
*/
|
||||||
object PhyBlocks {
|
object PhyBlocks {
|
||||||
|
|
||||||
|
val CABLES = DyeColor.values().map { it to CableBlock(it) }.toMap()
|
||||||
|
|
||||||
val INTERFACE = InterfaceBlock()
|
val INTERFACE = InterfaceBlock()
|
||||||
val TERMINAL = TerminalBlock()
|
val TERMINAL = TerminalBlock()
|
||||||
val SWITCH = SwitchBlock()
|
val SWITCH = SwitchBlock()
|
||||||
val CABLE = CableBlock()
|
|
||||||
val EXTRACTOR = ExtractorBlock()
|
val EXTRACTOR = ExtractorBlock()
|
||||||
val INSERTER = InserterBlock()
|
val INSERTER = InserterBlock()
|
||||||
val MINER = MinerBlock()
|
val MINER = MinerBlock()
|
||||||
|
@ -29,10 +32,13 @@ object PhyBlocks {
|
||||||
val REDSTONE_EMITTER = RedstoneEmitterBlock()
|
val REDSTONE_EMITTER = RedstoneEmitterBlock()
|
||||||
|
|
||||||
fun init() {
|
fun init() {
|
||||||
|
for ((color, block) in CABLES) {
|
||||||
|
register(Identifier(PhysicalConnectivity.MODID, "cable_${color.getName()}"), block)
|
||||||
|
}
|
||||||
|
|
||||||
register(InterfaceBlock.ID, INTERFACE)
|
register(InterfaceBlock.ID, INTERFACE)
|
||||||
register(TerminalBlock.ID, TERMINAL)
|
register(TerminalBlock.ID, TERMINAL)
|
||||||
register(SwitchBlock.ID, SWITCH)
|
register(SwitchBlock.ID, SWITCH)
|
||||||
register(CableBlock.ID, CABLE)
|
|
||||||
register(ExtractorBlock.ID, EXTRACTOR)
|
register(ExtractorBlock.ID, EXTRACTOR)
|
||||||
register(InserterBlock.ID, INSERTER)
|
register(InserterBlock.ID, INSERTER)
|
||||||
register(MinerBlock.ID, MINER)
|
register(MinerBlock.ID, MINER)
|
||||||
|
|
|
@ -24,10 +24,13 @@ import net.shadowfacts.phycon.item.FaceDeviceBlockItem
|
||||||
*/
|
*/
|
||||||
object PhyItems {
|
object PhyItems {
|
||||||
|
|
||||||
|
val CABLES = PhyBlocks.CABLES.map { (color, block) ->
|
||||||
|
color to BlockItem(block, Item.Settings())
|
||||||
|
}.toMap()
|
||||||
|
|
||||||
val INTERFACE = FaceDeviceBlockItem(PhyBlocks.INTERFACE, Item.Settings())
|
val INTERFACE = FaceDeviceBlockItem(PhyBlocks.INTERFACE, Item.Settings())
|
||||||
val TERMINAL = DeviceBlockItem(PhyBlocks.TERMINAL, Item.Settings())
|
val TERMINAL = DeviceBlockItem(PhyBlocks.TERMINAL, Item.Settings())
|
||||||
val SWITCH = BlockItem(PhyBlocks.SWITCH, Item.Settings())
|
val SWITCH = BlockItem(PhyBlocks.SWITCH, Item.Settings())
|
||||||
val CABLE = BlockItem(PhyBlocks.CABLE, Item.Settings())
|
|
||||||
val EXTRACTOR = FaceDeviceBlockItem(PhyBlocks.EXTRACTOR, Item.Settings())
|
val EXTRACTOR = FaceDeviceBlockItem(PhyBlocks.EXTRACTOR, Item.Settings())
|
||||||
val INSERTER = FaceDeviceBlockItem(PhyBlocks.INSERTER, Item.Settings())
|
val INSERTER = FaceDeviceBlockItem(PhyBlocks.INSERTER, Item.Settings())
|
||||||
val MINER = DeviceBlockItem(PhyBlocks.MINER, Item.Settings())
|
val MINER = DeviceBlockItem(PhyBlocks.MINER, Item.Settings())
|
||||||
|
@ -44,10 +47,13 @@ object PhyItems {
|
||||||
val REDSTONE_PROCESSOR = Item(Item.Settings())
|
val REDSTONE_PROCESSOR = Item(Item.Settings())
|
||||||
|
|
||||||
fun init() {
|
fun init() {
|
||||||
|
for ((color, item) in CABLES) {
|
||||||
|
register(Identifier(PhysicalConnectivity.MODID, "cable_${color.getName()}"), item)
|
||||||
|
}
|
||||||
|
|
||||||
register(InterfaceBlock.ID, INTERFACE)
|
register(InterfaceBlock.ID, INTERFACE)
|
||||||
register(TerminalBlock.ID, TERMINAL)
|
register(TerminalBlock.ID, TERMINAL)
|
||||||
register(SwitchBlock.ID, SWITCH)
|
register(SwitchBlock.ID, SWITCH)
|
||||||
register(CableBlock.ID, CABLE)
|
|
||||||
register(ExtractorBlock.ID, EXTRACTOR)
|
register(ExtractorBlock.ID, EXTRACTOR)
|
||||||
register(InserterBlock.ID, INSERTER)
|
register(InserterBlock.ID, INSERTER)
|
||||||
register(MinerBlock.ID, MINER)
|
register(MinerBlock.ID, MINER)
|
||||||
|
|
|
@ -15,7 +15,7 @@ class FaceDeviceBlockItem(block: FaceDeviceBlock<*>, settings: Settings = Settin
|
||||||
|
|
||||||
override fun getPlacementState(context: ItemPlacementContext): BlockState? {
|
override fun getPlacementState(context: ItemPlacementContext): BlockState? {
|
||||||
val hitState = context.world.getBlockState(context.blockPos)
|
val hitState = context.world.getBlockState(context.blockPos)
|
||||||
if (hitState.block == PhyBlocks.CABLE) {
|
if (hitState.block is CableBlock) {
|
||||||
val hitBlockEdge = context.hitPos.getComponentAlongAxis(context.side.axis) % 1 == 0.0
|
val hitBlockEdge = context.hitPos.getComponentAlongAxis(context.side.axis) % 1 == 0.0
|
||||||
|
|
||||||
val placementSide = if (hitBlockEdge) context.side.opposite else context.side
|
val placementSide = if (hitBlockEdge) context.side.opposite else context.side
|
||||||
|
|
|
@ -14,6 +14,7 @@ import net.minecraft.util.math.Vec3d
|
||||||
import net.shadowfacts.phycon.PhysicalConnectivity
|
import net.shadowfacts.phycon.PhysicalConnectivity
|
||||||
import net.shadowfacts.phycon.block.DeviceBlock
|
import net.shadowfacts.phycon.block.DeviceBlock
|
||||||
import net.shadowfacts.phycon.block.FaceDeviceBlock
|
import net.shadowfacts.phycon.block.FaceDeviceBlock
|
||||||
|
import net.shadowfacts.phycon.block.cable.CableBlock
|
||||||
import net.shadowfacts.phycon.init.PhyBlocks
|
import net.shadowfacts.phycon.init.PhyBlocks
|
||||||
import net.shadowfacts.phycon.util.containsInclusive
|
import net.shadowfacts.phycon.util.containsInclusive
|
||||||
|
|
||||||
|
@ -34,7 +35,7 @@ class ScrewdriverItem: Item(Settings().maxCount(1)) {
|
||||||
val newState =
|
val newState =
|
||||||
when (block) {
|
when (block) {
|
||||||
is DeviceBlock<*> -> screwdriverDeviceBlock(context, state, block)
|
is DeviceBlock<*> -> screwdriverDeviceBlock(context, state, block)
|
||||||
PhyBlocks.CABLE -> screwdriverCableBlock(context)
|
is CableBlock -> screwdriverCableBlock(context, state)
|
||||||
PhyBlocks.SWITCH -> screwdriverSwitchBlock(context)
|
PhyBlocks.SWITCH -> screwdriverSwitchBlock(context)
|
||||||
else -> null
|
else -> null
|
||||||
}
|
}
|
||||||
|
@ -81,19 +82,19 @@ class ScrewdriverItem: Item(Settings().maxCount(1)) {
|
||||||
val faceShape = block.faceShapes[state[FaceDeviceBlock.FACING]]!!
|
val faceShape = block.faceShapes[state[FaceDeviceBlock.FACING]]!!
|
||||||
// if we hit the face part of block, leave the cable behind
|
// if we hit the face part of block, leave the cable behind
|
||||||
if (faceShape.boundingBox.containsInclusive(hitInsideBlock)) {
|
if (faceShape.boundingBox.containsInclusive(hitInsideBlock)) {
|
||||||
return PhyBlocks.CABLE.getInitialState(context.world, context.blockPos)
|
return (state.block as CableBlock).getInitialState(context.world, context.blockPos)
|
||||||
} else {
|
} else {
|
||||||
if (!context.world.isClient) {
|
if (!context.world.isClient) {
|
||||||
val cable = ItemEntity(context.world, context.blockPos.x.toDouble(), context.blockPos.y.toDouble(), context.blockPos.z.toDouble(), ItemStack(PhyBlocks.CABLE))
|
val cable = ItemEntity(context.world, context.blockPos.x.toDouble(), context.blockPos.y.toDouble(), context.blockPos.z.toDouble(), ItemStack(state.block))
|
||||||
context.world.spawnEntity(cable)
|
context.world.spawnEntity(cable)
|
||||||
}
|
}
|
||||||
return Blocks.AIR.defaultState
|
return Blocks.AIR.defaultState
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun screwdriverCableBlock(context: ItemUsageContext): BlockState? {
|
private fun screwdriverCableBlock(context: ItemUsageContext, state: BlockState): BlockState? {
|
||||||
if (!context.world.isClient) {
|
if (!context.world.isClient) {
|
||||||
val entity = ItemEntity(context.world, context.blockPos.x.toDouble(), context.blockPos.y.toDouble(), context.blockPos.z.toDouble(), ItemStack(PhyBlocks.CABLE))
|
val entity = ItemEntity(context.world, context.blockPos.x.toDouble(), context.blockPos.y.toDouble(), context.blockPos.z.toDouble(), ItemStack(state.block))
|
||||||
context.world.spawnEntity(entity)
|
context.world.spawnEntity(entity)
|
||||||
}
|
}
|
||||||
return Blocks.AIR.defaultState
|
return Blocks.AIR.defaultState
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"multipart": [
|
||||||
|
{
|
||||||
|
"apply": { "model": "phycon:block/cable/black" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"multipart": [
|
||||||
|
{
|
||||||
|
"apply": { "model": "phycon:block/cable/brown" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"multipart": [
|
||||||
|
{
|
||||||
|
"apply": { "model": "phycon:block/cable/cyan" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"multipart": [
|
||||||
|
{
|
||||||
|
"apply": { "model": "phycon:block/cable/gray" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"multipart": [
|
||||||
|
{
|
||||||
|
"apply": { "model": "phycon:block/cable/green" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"multipart": [
|
||||||
|
{
|
||||||
|
"apply": { "model": "phycon:block/cable/light_blue" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"multipart": [
|
||||||
|
{
|
||||||
|
"apply": { "model": "phycon:block/cable/light_gray" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"multipart": [
|
||||||
|
{
|
||||||
|
"apply": { "model": "phycon:block/cable/lime" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"multipart": [
|
||||||
|
{
|
||||||
|
"apply": { "model": "phycon:block/cable/magenta" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"multipart": [
|
||||||
|
{
|
||||||
|
"apply": { "model": "phycon:block/cable/orange" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"multipart": [
|
||||||
|
{
|
||||||
|
"apply": { "model": "phycon:block/cable/pink" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"multipart": [
|
||||||
|
{
|
||||||
|
"apply": { "model": "phycon:block/cable/purple" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"multipart": [
|
||||||
|
{
|
||||||
|
"apply": { "model": "phycon:block/cable/red" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"multipart": [
|
||||||
|
{
|
||||||
|
"apply": { "model": "phycon:block/cable/white" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"multipart": [
|
||||||
|
{
|
||||||
|
"apply": { "model": "phycon:block/cable/yellow" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -2,7 +2,22 @@
|
||||||
"block.phycon.switch": "Network Switch",
|
"block.phycon.switch": "Network Switch",
|
||||||
"block.phycon.network_interface": "Inventory Interface",
|
"block.phycon.network_interface": "Inventory Interface",
|
||||||
"block.phycon.terminal": "Terminal",
|
"block.phycon.terminal": "Terminal",
|
||||||
"block.phycon.cable": "Cable",
|
"block.phycon.cable_white": "White Cable",
|
||||||
|
"block.phycon.cable_orange": "Orange Cable",
|
||||||
|
"block.phycon.cable_magenta": "Magenta Cable",
|
||||||
|
"block.phycon.cable_light_blue": "Light Blue Cable",
|
||||||
|
"block.phycon.cable_yellow": "Yellow Cable",
|
||||||
|
"block.phycon.cable_lime": "Lime Cable",
|
||||||
|
"block.phycon.cable_pink": "Pink Cable",
|
||||||
|
"block.phycon.cable_gray": "Gray Cable",
|
||||||
|
"block.phycon.cable_light_gray": "Light Gray Cable",
|
||||||
|
"block.phycon.cable_cyan": "Cyan Cable",
|
||||||
|
"block.phycon.cable_purple": "Purple Cable",
|
||||||
|
"block.phycon.cable_blue": "Blue Cable",
|
||||||
|
"block.phycon.cable_brown": "Brown Cable",
|
||||||
|
"block.phycon.cable_green": "Green Cable",
|
||||||
|
"block.phycon.cable_red": "Red Cable",
|
||||||
|
"block.phycon.cable_black": "Black Cable",
|
||||||
"block.phycon.extractor": "Inventory Extractor",
|
"block.phycon.extractor": "Inventory Extractor",
|
||||||
"block.phycon.inserter": "Inventory Inserter",
|
"block.phycon.inserter": "Inventory Inserter",
|
||||||
"block.phycon.miner": "Block Miner",
|
"block.phycon.miner": "Block Miner",
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/block",
|
||||||
|
"textures": {
|
||||||
|
"center": "phycon:block/cable/black/cap_end"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"from": [6, 6, 6],
|
||||||
|
"to": [10, 10, 10],
|
||||||
|
"faces": {
|
||||||
|
"down": {"texture": "#center"},
|
||||||
|
"up": {"texture": "#center"},
|
||||||
|
"north": {"texture": "#center"},
|
||||||
|
"south": {"texture": "#center"},
|
||||||
|
"west": {"texture": "#center"},
|
||||||
|
"east": {"texture": "#center"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/block",
|
||||||
|
"textures": {
|
||||||
|
"center": "phycon:block/cable/brown/cap_end"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"from": [6, 6, 6],
|
||||||
|
"to": [10, 10, 10],
|
||||||
|
"faces": {
|
||||||
|
"down": {"texture": "#center"},
|
||||||
|
"up": {"texture": "#center"},
|
||||||
|
"north": {"texture": "#center"},
|
||||||
|
"south": {"texture": "#center"},
|
||||||
|
"west": {"texture": "#center"},
|
||||||
|
"east": {"texture": "#center"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/block",
|
||||||
|
"textures": {
|
||||||
|
"center": "phycon:block/cable/cyan/cap_end"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"from": [6, 6, 6],
|
||||||
|
"to": [10, 10, 10],
|
||||||
|
"faces": {
|
||||||
|
"down": {"texture": "#center"},
|
||||||
|
"up": {"texture": "#center"},
|
||||||
|
"north": {"texture": "#center"},
|
||||||
|
"south": {"texture": "#center"},
|
||||||
|
"west": {"texture": "#center"},
|
||||||
|
"east": {"texture": "#center"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/block",
|
||||||
|
"textures": {
|
||||||
|
"center": "phycon:block/cable/gray/cap_end"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"from": [6, 6, 6],
|
||||||
|
"to": [10, 10, 10],
|
||||||
|
"faces": {
|
||||||
|
"down": {"texture": "#center"},
|
||||||
|
"up": {"texture": "#center"},
|
||||||
|
"north": {"texture": "#center"},
|
||||||
|
"south": {"texture": "#center"},
|
||||||
|
"west": {"texture": "#center"},
|
||||||
|
"east": {"texture": "#center"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/block",
|
||||||
|
"textures": {
|
||||||
|
"center": "phycon:block/cable/green/cap_end"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"from": [6, 6, 6],
|
||||||
|
"to": [10, 10, 10],
|
||||||
|
"faces": {
|
||||||
|
"down": {"texture": "#center"},
|
||||||
|
"up": {"texture": "#center"},
|
||||||
|
"north": {"texture": "#center"},
|
||||||
|
"south": {"texture": "#center"},
|
||||||
|
"west": {"texture": "#center"},
|
||||||
|
"east": {"texture": "#center"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/block",
|
||||||
|
"textures": {
|
||||||
|
"center": "phycon:block/cable/light_blue/cap_end"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"from": [6, 6, 6],
|
||||||
|
"to": [10, 10, 10],
|
||||||
|
"faces": {
|
||||||
|
"down": {"texture": "#center"},
|
||||||
|
"up": {"texture": "#center"},
|
||||||
|
"north": {"texture": "#center"},
|
||||||
|
"south": {"texture": "#center"},
|
||||||
|
"west": {"texture": "#center"},
|
||||||
|
"east": {"texture": "#center"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/block",
|
||||||
|
"textures": {
|
||||||
|
"center": "phycon:block/cable/light_gray/cap_end"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"from": [6, 6, 6],
|
||||||
|
"to": [10, 10, 10],
|
||||||
|
"faces": {
|
||||||
|
"down": {"texture": "#center"},
|
||||||
|
"up": {"texture": "#center"},
|
||||||
|
"north": {"texture": "#center"},
|
||||||
|
"south": {"texture": "#center"},
|
||||||
|
"west": {"texture": "#center"},
|
||||||
|
"east": {"texture": "#center"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/block",
|
||||||
|
"textures": {
|
||||||
|
"center": "phycon:block/cable/lime/cap_end"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"from": [6, 6, 6],
|
||||||
|
"to": [10, 10, 10],
|
||||||
|
"faces": {
|
||||||
|
"down": {"texture": "#center"},
|
||||||
|
"up": {"texture": "#center"},
|
||||||
|
"north": {"texture": "#center"},
|
||||||
|
"south": {"texture": "#center"},
|
||||||
|
"west": {"texture": "#center"},
|
||||||
|
"east": {"texture": "#center"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/block",
|
||||||
|
"textures": {
|
||||||
|
"center": "phycon:block/cable/magenta/cap_end"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"from": [6, 6, 6],
|
||||||
|
"to": [10, 10, 10],
|
||||||
|
"faces": {
|
||||||
|
"down": {"texture": "#center"},
|
||||||
|
"up": {"texture": "#center"},
|
||||||
|
"north": {"texture": "#center"},
|
||||||
|
"south": {"texture": "#center"},
|
||||||
|
"west": {"texture": "#center"},
|
||||||
|
"east": {"texture": "#center"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/block",
|
||||||
|
"textures": {
|
||||||
|
"center": "phycon:block/cable/orange/cap_end"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"from": [6, 6, 6],
|
||||||
|
"to": [10, 10, 10],
|
||||||
|
"faces": {
|
||||||
|
"down": {"texture": "#center"},
|
||||||
|
"up": {"texture": "#center"},
|
||||||
|
"north": {"texture": "#center"},
|
||||||
|
"south": {"texture": "#center"},
|
||||||
|
"west": {"texture": "#center"},
|
||||||
|
"east": {"texture": "#center"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/block",
|
||||||
|
"textures": {
|
||||||
|
"center": "phycon:block/cable/pink/cap_end"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"from": [6, 6, 6],
|
||||||
|
"to": [10, 10, 10],
|
||||||
|
"faces": {
|
||||||
|
"down": {"texture": "#center"},
|
||||||
|
"up": {"texture": "#center"},
|
||||||
|
"north": {"texture": "#center"},
|
||||||
|
"south": {"texture": "#center"},
|
||||||
|
"west": {"texture": "#center"},
|
||||||
|
"east": {"texture": "#center"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/block",
|
||||||
|
"textures": {
|
||||||
|
"center": "phycon:block/cable/purple/cap_end"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"from": [6, 6, 6],
|
||||||
|
"to": [10, 10, 10],
|
||||||
|
"faces": {
|
||||||
|
"down": {"texture": "#center"},
|
||||||
|
"up": {"texture": "#center"},
|
||||||
|
"north": {"texture": "#center"},
|
||||||
|
"south": {"texture": "#center"},
|
||||||
|
"west": {"texture": "#center"},
|
||||||
|
"east": {"texture": "#center"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/block",
|
||||||
|
"textures": {
|
||||||
|
"center": "phycon:block/cable/red/cap_end"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"from": [6, 6, 6],
|
||||||
|
"to": [10, 10, 10],
|
||||||
|
"faces": {
|
||||||
|
"down": {"texture": "#center"},
|
||||||
|
"up": {"texture": "#center"},
|
||||||
|
"north": {"texture": "#center"},
|
||||||
|
"south": {"texture": "#center"},
|
||||||
|
"west": {"texture": "#center"},
|
||||||
|
"east": {"texture": "#center"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/block",
|
||||||
|
"textures": {
|
||||||
|
"center": "phycon:block/cable/white/cap_end"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"from": [6, 6, 6],
|
||||||
|
"to": [10, 10, 10],
|
||||||
|
"faces": {
|
||||||
|
"down": {"texture": "#center"},
|
||||||
|
"up": {"texture": "#center"},
|
||||||
|
"north": {"texture": "#center"},
|
||||||
|
"south": {"texture": "#center"},
|
||||||
|
"west": {"texture": "#center"},
|
||||||
|
"east": {"texture": "#center"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/block",
|
||||||
|
"textures": {
|
||||||
|
"center": "phycon:block/cable/yellow/cap_end"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"from": [6, 6, 6],
|
||||||
|
"to": [10, 10, 10],
|
||||||
|
"faces": {
|
||||||
|
"down": {"texture": "#center"},
|
||||||
|
"up": {"texture": "#center"},
|
||||||
|
"north": {"texture": "#center"},
|
||||||
|
"south": {"texture": "#center"},
|
||||||
|
"west": {"texture": "#center"},
|
||||||
|
"east": {"texture": "#center"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
After Width: | Height: | Size: 874 B |
After Width: | Height: | Size: 933 B |
After Width: | Height: | Size: 909 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 880 B |
After Width: | Height: | Size: 985 B |
After Width: | Height: | Size: 949 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.6 KiB |