Finish wireless terminals
@ -28,7 +28,7 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class ServerStorage implements ModInitializer {
|
public class ServerStorage implements ModInitializer {
|
||||||
public static final List<String> moduleList = Arrays.asList("bus", "configuration", "container", "display", "drive", "filtering", "inventory", "pagination", "pcb", "transport", "netherite_upgrade");
|
public static final List<String> moduleList = Arrays.asList("bus", "configuration", "container", "display", "drive", "filtering", "inventory", "pagination", "pcb", "transport", "antenna", "radio", "antenna_connector", "modem", "netherite_upgrade");
|
||||||
public static final List<String> tiers = Arrays.asList("iron", "golden", "diamond", "netherite");
|
public static final List<String> tiers = Arrays.asList("iron", "golden", "diamond", "netherite");
|
||||||
public static final List<String> materialList = Arrays.asList("pcb", "pcb_substrate", "cpu", "cpu_substrate", "drive_controller", "drive_casing");
|
public static final List<String> materialList = Arrays.asList("pcb", "pcb_substrate", "cpu", "cpu_substrate", "drive_controller", "drive_casing");
|
||||||
|
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
package systems.brn.serverstorage.blocks;
|
package systems.brn.serverstorage.blocks;
|
||||||
|
|
||||||
|
import eu.pb4.polymer.blocks.api.BlockModelType;
|
||||||
|
import eu.pb4.polymer.blocks.api.PolymerBlockModel;
|
||||||
|
import eu.pb4.polymer.blocks.api.PolymerBlockResourceUtils;
|
||||||
import eu.pb4.polymer.core.api.block.SimplePolymerBlock;
|
import eu.pb4.polymer.core.api.block.SimplePolymerBlock;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
@ -9,11 +12,14 @@ import net.minecraft.inventory.Inventory;
|
|||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
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.Identifier;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.Direction;
|
import net.minecraft.util.math.Direction;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import systems.brn.serverstorage.lib.ConnectionType;
|
import systems.brn.serverstorage.lib.ConnectionType;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
public class ConnectedBlock extends SimplePolymerBlock {
|
public class ConnectedBlock extends SimplePolymerBlock {
|
||||||
|
|
||||||
public static final EnumProperty<ConnectionType> NORTH = EnumProperty.of("north", ConnectionType.class);
|
public static final EnumProperty<ConnectionType> NORTH = EnumProperty.of("north", ConnectionType.class);
|
||||||
@ -23,6 +29,39 @@ public class ConnectedBlock extends SimplePolymerBlock {
|
|||||||
public static final EnumProperty<ConnectionType> UP = EnumProperty.of("up", ConnectionType.class);
|
public static final EnumProperty<ConnectionType> UP = EnumProperty.of("up", ConnectionType.class);
|
||||||
public static final EnumProperty<ConnectionType> DOWN = EnumProperty.of("down", ConnectionType.class);
|
public static final EnumProperty<ConnectionType> DOWN = EnumProperty.of("down", ConnectionType.class);
|
||||||
|
|
||||||
|
// Function to get Y-axis rotation for North, South, East, and West directions
|
||||||
|
public static int getRotationFromDirection(Direction direction) {
|
||||||
|
if (direction == Direction.EAST) {
|
||||||
|
return 90;
|
||||||
|
} else if (direction == Direction.SOUTH) {
|
||||||
|
return 180;
|
||||||
|
} else if (direction == Direction.WEST) {
|
||||||
|
return 270;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Function to get X-axis rotation for Up and Down directions
|
||||||
|
public static int getXRotationFromDirection(Direction direction) {
|
||||||
|
if (direction == Direction.UP) {
|
||||||
|
return 270;
|
||||||
|
} else if (direction == Direction.DOWN) {
|
||||||
|
return 90;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static HashMap<Direction, BlockState> generateRotations(Identifier identifier) {
|
||||||
|
Identifier modelIdentifier = identifier.withPath("block/" + identifier.getPath());
|
||||||
|
HashMap<Direction, BlockState> rotations = new HashMap<>();
|
||||||
|
for (Direction direction : Direction.values()) {
|
||||||
|
rotations.put(direction, PolymerBlockResourceUtils.requestBlock(BlockModelType.FULL_BLOCK, PolymerBlockModel.of(modelIdentifier, getXRotationFromDirection(direction), getRotationFromDirection(direction))));
|
||||||
|
}
|
||||||
|
return rotations;
|
||||||
|
}
|
||||||
|
|
||||||
public void setDefaultState() {
|
public void setDefaultState() {
|
||||||
setDefaultState(getStateManager().getDefaultState()
|
setDefaultState(getStateManager().getDefaultState()
|
||||||
.with(NORTH, ConnectionType.NONE)
|
.with(NORTH, ConnectionType.NONE)
|
||||||
@ -66,9 +105,9 @@ public class ConnectedBlock extends SimplePolymerBlock {
|
|||||||
BlockEntity blockEntity = world.getBlockEntity(neighborPos);
|
BlockEntity blockEntity = world.getBlockEntity(neighborPos);
|
||||||
boolean isConnectedToInventory = blockEntity instanceof Inventory;
|
boolean isConnectedToInventory = blockEntity instanceof Inventory;
|
||||||
ConnectionType connectionType = ConnectionType.NONE;
|
ConnectionType connectionType = ConnectionType.NONE;
|
||||||
if (isConnectedToBus){
|
if (isConnectedToBus) {
|
||||||
connectionType = ConnectionType.BUS;
|
connectionType = ConnectionType.BUS;
|
||||||
} else if (isConnectedToInventory){
|
} else if (isConnectedToInventory) {
|
||||||
connectionType = ConnectionType.INVENTORY;
|
connectionType = ConnectionType.INVENTORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
package systems.brn.serverstorage.blocks;
|
package systems.brn.serverstorage.blocks;
|
||||||
|
|
||||||
import eu.pb4.polymer.blocks.api.BlockModelType;
|
|
||||||
import eu.pb4.polymer.blocks.api.PolymerBlockModel;
|
|
||||||
import eu.pb4.polymer.blocks.api.PolymerBlockResourceUtils;
|
|
||||||
import eu.pb4.polymer.blocks.api.PolymerTexturedBlock;
|
import eu.pb4.polymer.blocks.api.PolymerTexturedBlock;
|
||||||
import eu.pb4.polymer.core.api.block.PolymerBlockUtils;
|
import eu.pb4.polymer.core.api.block.PolymerBlockUtils;
|
||||||
import net.fabricmc.fabric.api.event.player.UseBlockCallback;
|
import net.fabricmc.fabric.api.event.player.UseBlockCallback;
|
||||||
@ -27,24 +24,26 @@ import org.jetbrains.annotations.Nullable;
|
|||||||
import systems.brn.serverstorage.blockentities.HardDriveContainerBlockEntity;
|
import systems.brn.serverstorage.blockentities.HardDriveContainerBlockEntity;
|
||||||
import systems.brn.serverstorage.lib.StorageNetwork;
|
import systems.brn.serverstorage.lib.StorageNetwork;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
import static systems.brn.serverstorage.ServerStorage.*;
|
import static systems.brn.serverstorage.ServerStorage.*;
|
||||||
|
|
||||||
public class HardDriveContainerBlock extends ConnectedBlock implements PolymerTexturedBlock, BlockEntityProvider {
|
public class HardDriveContainerBlock extends ConnectedBlock implements PolymerTexturedBlock, BlockEntityProvider {
|
||||||
|
|
||||||
final Identifier identifier;
|
final Identifier identifier;
|
||||||
public static final DirectionProperty FACING = FacingBlock.FACING;
|
public static final DirectionProperty FACING = FacingBlock.FACING;
|
||||||
private final BlockState polymerBlockState;
|
private final HashMap<Direction, BlockState> rotations;
|
||||||
|
|
||||||
public HardDriveContainerBlock(AbstractBlock.Settings settings, Identifier identifier) {
|
public HardDriveContainerBlock(AbstractBlock.Settings settings, Identifier identifier) {
|
||||||
super(settings, Blocks.NOTE_BLOCK);
|
super(settings, Blocks.NOTE_BLOCK);
|
||||||
this.identifier = identifier;
|
this.identifier = identifier;
|
||||||
this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH));
|
this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH));
|
||||||
this.polymerBlockState = PolymerBlockResourceUtils.requestBlock(BlockModelType.FULL_BLOCK, PolymerBlockModel.of(identifier.withPath("block/" + identifier.getPath())));
|
this.rotations = generateRotations(identifier);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BlockState getPlacementState(ItemPlacementContext ctx) {
|
public BlockState getPlacementState(ItemPlacementContext ctx) {
|
||||||
return this.getDefaultState().with(FACING, ctx.getHorizontalPlayerFacing().getOpposite());
|
return this.getDefaultState().with(FACING, ctx.getPlayerLookDirection().getOpposite());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -55,7 +54,8 @@ public class HardDriveContainerBlock extends ConnectedBlock implements PolymerTe
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BlockState getPolymerBlockState(BlockState state) {
|
public BlockState getPolymerBlockState(BlockState state) {
|
||||||
return this.polymerBlockState;
|
Direction direction = state.get(FACING);
|
||||||
|
return rotations.get(direction);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void register() {
|
public static void register() {
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
package systems.brn.serverstorage.blocks;
|
package systems.brn.serverstorage.blocks;
|
||||||
|
|
||||||
import eu.pb4.polymer.blocks.api.BlockModelType;
|
|
||||||
import eu.pb4.polymer.blocks.api.PolymerBlockModel;
|
|
||||||
import eu.pb4.polymer.blocks.api.PolymerBlockResourceUtils;
|
|
||||||
import eu.pb4.polymer.blocks.api.PolymerTexturedBlock;
|
import eu.pb4.polymer.blocks.api.PolymerTexturedBlock;
|
||||||
import eu.pb4.polymer.core.api.block.PolymerBlockUtils;
|
import eu.pb4.polymer.core.api.block.PolymerBlockUtils;
|
||||||
import eu.pb4.sgui.api.elements.GuiElementBuilder;
|
import eu.pb4.sgui.api.elements.GuiElementBuilder;
|
||||||
@ -35,24 +32,26 @@ import systems.brn.serverstorage.lib.PagedGui;
|
|||||||
import systems.brn.serverstorage.screens.SearchScreen;
|
import systems.brn.serverstorage.screens.SearchScreen;
|
||||||
import systems.brn.serverstorage.screens.SettingsScreen;
|
import systems.brn.serverstorage.screens.SettingsScreen;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
import static systems.brn.serverstorage.ServerStorage.*;
|
import static systems.brn.serverstorage.ServerStorage.*;
|
||||||
import static systems.brn.serverstorage.lib.PagedGui.*;
|
import static systems.brn.serverstorage.lib.PagedGui.*;
|
||||||
|
|
||||||
public class InventoryInterfaceBlock extends ConnectedBlock implements PolymerTexturedBlock, BlockEntityProvider {
|
public class InventoryInterfaceBlock extends ConnectedBlock implements PolymerTexturedBlock, BlockEntityProvider {
|
||||||
final Identifier identifier;
|
final Identifier identifier;
|
||||||
public static final DirectionProperty FACING = FacingBlock.FACING;
|
public static final DirectionProperty FACING = FacingBlock.FACING;
|
||||||
private final BlockState polymerBlockState;
|
private final HashMap<Direction, BlockState> rotations;
|
||||||
|
|
||||||
public InventoryInterfaceBlock(Settings settings, Identifier identifier) {
|
public InventoryInterfaceBlock(Settings settings, Identifier identifier) {
|
||||||
super(settings, Blocks.NOTE_BLOCK);
|
super(settings, Blocks.NOTE_BLOCK);
|
||||||
this.identifier = identifier;
|
this.identifier = identifier;
|
||||||
this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH));
|
this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH));
|
||||||
this.polymerBlockState = PolymerBlockResourceUtils.requestBlock(BlockModelType.FULL_BLOCK, PolymerBlockModel.of(identifier.withPath("block/" + identifier.getPath())));
|
this.rotations = generateRotations(identifier);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BlockState getPlacementState(ItemPlacementContext ctx) {
|
public BlockState getPlacementState(ItemPlacementContext ctx) {
|
||||||
return this.getDefaultState().with(FACING, ctx.getHorizontalPlayerFacing().getOpposite());
|
return this.getDefaultState().with(FACING, ctx.getPlayerLookDirection().getOpposite());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -63,7 +62,8 @@ public class InventoryInterfaceBlock extends ConnectedBlock implements PolymerTe
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BlockState getPolymerBlockState(BlockState state) {
|
public BlockState getPolymerBlockState(BlockState state) {
|
||||||
return this.polymerBlockState;
|
Direction direction = state.get(FACING);
|
||||||
|
return rotations.get(direction);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void register() {
|
public static void register() {
|
||||||
@ -150,7 +150,7 @@ public class InventoryInterfaceBlock extends ConnectedBlock implements PolymerTe
|
|||||||
Block block = state.getBlock();
|
Block block = state.getBlock();
|
||||||
|
|
||||||
if (block instanceof InventoryInterfaceBlock) {
|
if (block instanceof InventoryInterfaceBlock) {
|
||||||
if (!world.getGameRules().getBoolean(ServerStorage_Interface_Enable)){
|
if (!world.getGameRules().getBoolean(ServerStorage_Interface_Enable)) {
|
||||||
playerEntity.sendMessage(Text.translatable("message.serverstorage.block_disabled"), true);
|
playerEntity.sendMessage(Text.translatable("message.serverstorage.block_disabled"), true);
|
||||||
return ActionResult.PASS;
|
return ActionResult.PASS;
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
package systems.brn.serverstorage.blocks;
|
package systems.brn.serverstorage.blocks;
|
||||||
|
|
||||||
import eu.pb4.polymer.blocks.api.BlockModelType;
|
|
||||||
import eu.pb4.polymer.blocks.api.PolymerBlockModel;
|
|
||||||
import eu.pb4.polymer.blocks.api.PolymerBlockResourceUtils;
|
|
||||||
import eu.pb4.polymer.blocks.api.PolymerTexturedBlock;
|
import eu.pb4.polymer.blocks.api.PolymerTexturedBlock;
|
||||||
import eu.pb4.polymer.core.api.block.PolymerBlockUtils;
|
import eu.pb4.polymer.core.api.block.PolymerBlockUtils;
|
||||||
import net.fabricmc.fabric.api.event.player.UseBlockCallback;
|
import net.fabricmc.fabric.api.event.player.UseBlockCallback;
|
||||||
@ -34,6 +31,7 @@ import systems.brn.serverstorage.lib.WirelessTerminalComponents;
|
|||||||
import systems.brn.serverstorage.screens.RadioBlockPlayerMangementScreen;
|
import systems.brn.serverstorage.screens.RadioBlockPlayerMangementScreen;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@ -43,18 +41,19 @@ import static systems.brn.serverstorage.lib.Util.removePosition;
|
|||||||
public class RadioInterfaceBlock extends ConnectedBlock implements PolymerTexturedBlock, BlockEntityProvider {
|
public class RadioInterfaceBlock extends ConnectedBlock implements PolymerTexturedBlock, BlockEntityProvider {
|
||||||
final Identifier identifier;
|
final Identifier identifier;
|
||||||
public static final DirectionProperty FACING = FacingBlock.FACING;
|
public static final DirectionProperty FACING = FacingBlock.FACING;
|
||||||
private final BlockState polymerBlockState;
|
private final HashMap<Direction, BlockState> rotations;
|
||||||
|
|
||||||
public RadioInterfaceBlock(Settings settings, Identifier identifier) {
|
public RadioInterfaceBlock(Settings settings, Identifier identifier) {
|
||||||
super(settings, Blocks.NOTE_BLOCK);
|
super(settings, Blocks.NOTE_BLOCK);
|
||||||
this.identifier = identifier;
|
this.identifier = identifier;
|
||||||
this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH));
|
this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH));
|
||||||
this.polymerBlockState = PolymerBlockResourceUtils.requestBlock(BlockModelType.FULL_BLOCK, PolymerBlockModel.of(identifier.withPath("block/" + identifier.getPath())));
|
this.rotations = generateRotations(identifier);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BlockState getPlacementState(ItemPlacementContext ctx) {
|
public BlockState getPlacementState(ItemPlacementContext ctx) {
|
||||||
return this.getDefaultState().with(FACING, ctx.getHorizontalPlayerFacing().getOpposite());
|
return this.getDefaultState().with(FACING, ctx.getPlayerLookDirection().getOpposite());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -65,7 +64,8 @@ public class RadioInterfaceBlock extends ConnectedBlock implements PolymerTextur
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BlockState getPolymerBlockState(BlockState state) {
|
public BlockState getPolymerBlockState(BlockState state) {
|
||||||
return this.polymerBlockState;
|
Direction direction = state.get(FACING);
|
||||||
|
return rotations.get(direction);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void register() {
|
public static void register() {
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
package systems.brn.serverstorage.blocks;
|
package systems.brn.serverstorage.blocks;
|
||||||
|
|
||||||
import eu.pb4.polymer.blocks.api.BlockModelType;
|
|
||||||
import eu.pb4.polymer.blocks.api.PolymerBlockModel;
|
|
||||||
import eu.pb4.polymer.blocks.api.PolymerBlockResourceUtils;
|
|
||||||
import eu.pb4.polymer.blocks.api.PolymerTexturedBlock;
|
import eu.pb4.polymer.blocks.api.PolymerTexturedBlock;
|
||||||
import eu.pb4.polymer.core.api.block.PolymerBlockUtils;
|
import eu.pb4.polymer.core.api.block.PolymerBlockUtils;
|
||||||
import net.fabricmc.fabric.api.event.player.UseBlockCallback;
|
import net.fabricmc.fabric.api.event.player.UseBlockCallback;
|
||||||
@ -33,6 +30,7 @@ import org.jetbrains.annotations.Nullable;
|
|||||||
import systems.brn.serverstorage.blockentities.StorageInterfaceBlockEntity;
|
import systems.brn.serverstorage.blockentities.StorageInterfaceBlockEntity;
|
||||||
import systems.brn.serverstorage.screens.StorageScreen;
|
import systems.brn.serverstorage.screens.StorageScreen;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static systems.brn.serverstorage.ServerStorage.*;
|
import static systems.brn.serverstorage.ServerStorage.*;
|
||||||
@ -41,18 +39,18 @@ import static systems.brn.serverstorage.lib.Util.generateBookContent;
|
|||||||
public class StorageInterfaceBlock extends ConnectedBlock implements PolymerTexturedBlock, BlockEntityProvider {
|
public class StorageInterfaceBlock extends ConnectedBlock implements PolymerTexturedBlock, BlockEntityProvider {
|
||||||
final Identifier identifier;
|
final Identifier identifier;
|
||||||
public static final DirectionProperty FACING = FacingBlock.FACING;
|
public static final DirectionProperty FACING = FacingBlock.FACING;
|
||||||
private final BlockState polymerBlockState;
|
private final HashMap<Direction, BlockState> rotations;
|
||||||
|
|
||||||
public StorageInterfaceBlock(Settings settings, Identifier identifier) {
|
public StorageInterfaceBlock(Settings settings, Identifier identifier) {
|
||||||
super(settings, Blocks.NOTE_BLOCK);
|
super(settings, Blocks.NOTE_BLOCK);
|
||||||
this.identifier = identifier;
|
this.identifier = identifier;
|
||||||
this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH));
|
this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH));
|
||||||
this.polymerBlockState = PolymerBlockResourceUtils.requestBlock(BlockModelType.FULL_BLOCK, PolymerBlockModel.of(identifier.withPath("block/" + identifier.getPath())));
|
this.rotations = generateRotations(identifier);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BlockState getPlacementState(ItemPlacementContext ctx) {
|
public BlockState getPlacementState(ItemPlacementContext ctx) {
|
||||||
return this.getDefaultState().with(FACING, ctx.getHorizontalPlayerFacing().getOpposite());
|
return this.getDefaultState().with(FACING, ctx.getPlayerLookDirection().getOpposite());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -63,7 +61,8 @@ public class StorageInterfaceBlock extends ConnectedBlock implements PolymerText
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BlockState getPolymerBlockState(BlockState state) {
|
public BlockState getPolymerBlockState(BlockState state) {
|
||||||
return this.polymerBlockState;
|
Direction direction = state.get(FACING);
|
||||||
|
return rotations.get(direction);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void register() {
|
public static void register() {
|
||||||
|
@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"multipart": [
|
|
||||||
{
|
|
||||||
"when": { "north": "none", "south": "none", "west": "none", "east": "none", "up": "none", "down": "none" },
|
|
||||||
"apply": { "model": "serverstorage:block/bus_connector_blank" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"when": { "north": "bus" },
|
|
||||||
"apply": { "model": "serverstorage:block/bus_connector_bus_north" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"when": { "south": "bus" },
|
|
||||||
"apply": { "model": "serverstorage:block/bus_connector_bus_south" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"when": { "west": "bus" },
|
|
||||||
"apply": { "model": "serverstorage:block/bus_connector_bus_west" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"when": { "east": "bus" },
|
|
||||||
"apply": { "model": "serverstorage:block/bus_connector_bus_east" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"when": { "up": "bus" },
|
|
||||||
"apply": { "model": "serverstorage:block/bus_connector_bus_up" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"when": { "down": "bus" },
|
|
||||||
"apply": { "model": "serverstorage:block/bus_connector_bus_down" }
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
{
|
|
||||||
"variants": {
|
|
||||||
"facing=down": {
|
|
||||||
"model": "serverstorage:block/drive_container",
|
|
||||||
"x": 180
|
|
||||||
},
|
|
||||||
"facing=east": {
|
|
||||||
"model": "serverstorage:block/drive_container",
|
|
||||||
"y": 90
|
|
||||||
},
|
|
||||||
"facing=north": {
|
|
||||||
"model": "serverstorage:block/drive_container"
|
|
||||||
},
|
|
||||||
"facing=south": {
|
|
||||||
"model": "serverstorage:block/drive_container",
|
|
||||||
"y": 180
|
|
||||||
},
|
|
||||||
"facing=up": {
|
|
||||||
"model": "serverstorage:block/drive_container",
|
|
||||||
"x": 90
|
|
||||||
},
|
|
||||||
"facing=west": {
|
|
||||||
"model": "serverstorage:block/drive_container",
|
|
||||||
"y": 270
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"multipart": [
|
|
||||||
{
|
|
||||||
"when": { "north": "none", "south": "none", "west": "none", "east": "none", "up": "none", "down": "none" },
|
|
||||||
"apply": { "model": "serverstorage:block/inventory_interface_blank" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"when": { "north": "inventory" },
|
|
||||||
"apply": { "model": "serverstorage:block/inventory_interface_inventory_north" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"when": { "south": "inventory" },
|
|
||||||
"apply": { "model": "serverstorage:block/inventory_interface_inventory_south" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"when": { "west": "inventory" },
|
|
||||||
"apply": { "model": "serverstorage:block/inventory_interface_inventory_west" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"when": { "east": "inventory" },
|
|
||||||
"apply": { "model": "serverstorage:block/inventory_interface_inventory_east" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"when": { "up": "inventory" },
|
|
||||||
"apply": { "model": "serverstorage:block/inventory_interface_inventory_up" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"when": { "down": "inventory" },
|
|
||||||
"apply": { "model": "serverstorage:block/inventory_interface_inventory_down" }
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,26 +0,0 @@
|
|||||||
{
|
|
||||||
"variants": {
|
|
||||||
"facing=down": {
|
|
||||||
"model": "serverstorage:block/storage",
|
|
||||||
"x": 180
|
|
||||||
},
|
|
||||||
"facing=east": {
|
|
||||||
"model": "serverstorage:block/storage",
|
|
||||||
"y": 90
|
|
||||||
},
|
|
||||||
"facing=north": {
|
|
||||||
"model": "serverstorage:block/storage"
|
|
||||||
},
|
|
||||||
"facing=south": {
|
|
||||||
"model": "serverstorage:block/storage",
|
|
||||||
"y": 180
|
|
||||||
},
|
|
||||||
"facing=up": {
|
|
||||||
"model": "serverstorage:block/storage"
|
|
||||||
},
|
|
||||||
"facing=west": {
|
|
||||||
"model": "serverstorage:block/storage",
|
|
||||||
"y": 270
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -34,6 +34,10 @@
|
|||||||
"item.serverstorage.module_inventory": "Inventory Module",
|
"item.serverstorage.module_inventory": "Inventory Module",
|
||||||
"item.serverstorage.module_pagination": "Pagination Module",
|
"item.serverstorage.module_pagination": "Pagination Module",
|
||||||
"item.serverstorage.module_transport": "Transport Module",
|
"item.serverstorage.module_transport": "Transport Module",
|
||||||
|
"item.serverstorage.module_antenna": "Antenna Module",
|
||||||
|
"item.serverstorage.module_radio": "Radio Module",
|
||||||
|
"item.serverstorage.module_antenna_connector": "Antenna Connector Module",
|
||||||
|
"item.serverstorage.module_modem": "MoDem Module",
|
||||||
"item.serverstorage.module_netherite_upgrade": "Netherite Upgrade Module",
|
"item.serverstorage.module_netherite_upgrade": "Netherite Upgrade Module",
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "block/cube_all",
|
|
||||||
"textures": {
|
|
||||||
"all": "serverstorage:block/bus_connector_blank"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "block/cube_all",
|
|
||||||
"textures": {
|
|
||||||
"all": "serverstorage:block/bus_connector_blank"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "block/cube",
|
|
||||||
"textures": {
|
|
||||||
"down": "serverstorage:block/bus_connector_bus",
|
|
||||||
"up": "serverstorage:block/bus_connector_blank",
|
|
||||||
"north": "serverstorage:block/bus_connector_blank",
|
|
||||||
"south": "serverstorage:block/bus_connector_blank",
|
|
||||||
"west": "serverstorage:block/bus_connector_blank",
|
|
||||||
"east": "serverstorage:block/bus_connector_blank"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "block/cube",
|
|
||||||
"textures": {
|
|
||||||
"down": "serverstorage:block/bus_connector_blank",
|
|
||||||
"up": "serverstorage:block/bus_connector_blank",
|
|
||||||
"north": "serverstorage:block/bus_connector_blank",
|
|
||||||
"south": "serverstorage:block/bus_connector_blank",
|
|
||||||
"west": "serverstorage:block/bus_connector_blank",
|
|
||||||
"east": "serverstorage:block/bus_connector_bus"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "block/cube",
|
|
||||||
"textures": {
|
|
||||||
"down": "serverstorage:block/bus_connector_blank",
|
|
||||||
"up": "serverstorage:block/bus_connector_blank",
|
|
||||||
"north": "serverstorage:block/bus_connector_bus",
|
|
||||||
"south": "serverstorage:block/bus_connector_blank",
|
|
||||||
"west": "serverstorage:block/bus_connector_blank",
|
|
||||||
"east": "serverstorage:block/bus_connector_blank"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "block/cube",
|
|
||||||
"textures": {
|
|
||||||
"down": "serverstorage:block/bus_connector_blank",
|
|
||||||
"up": "serverstorage:block/bus_connector_blank",
|
|
||||||
"north": "serverstorage:block/bus_connector_blank",
|
|
||||||
"south": "serverstorage:block/bus_connector_bus",
|
|
||||||
"west": "serverstorage:block/bus_connector_blank",
|
|
||||||
"east": "serverstorage:block/bus_connector_blank"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "block/cube",
|
|
||||||
"textures": {
|
|
||||||
"down": "serverstorage:block/bus_connector_blank",
|
|
||||||
"up": "serverstorage:block/bus_connector_bus",
|
|
||||||
"north": "serverstorage:block/bus_connector_blank",
|
|
||||||
"south": "serverstorage:block/bus_connector_blank",
|
|
||||||
"west": "serverstorage:block/bus_connector_blank",
|
|
||||||
"east": "serverstorage:block/bus_connector_blank"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "block/cube",
|
|
||||||
"textures": {
|
|
||||||
"down": "serverstorage:block/bus_connector_blank",
|
|
||||||
"up": "serverstorage:block/bus_connector_blank",
|
|
||||||
"north": "serverstorage:block/bus_connector_blank",
|
|
||||||
"south": "serverstorage:block/bus_connector_blank",
|
|
||||||
"west": "serverstorage:block/bus_connector_bus",
|
|
||||||
"east": "serverstorage:block/bus_connector_blank"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "block/cube_all",
|
|
||||||
"textures": {
|
|
||||||
"all": "serverstorage:block/bus_connector_blank"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +1,11 @@
|
|||||||
{
|
{
|
||||||
"parent": "block/orientable_vertical",
|
"parent": "block/orientable",
|
||||||
"textures": {
|
"textures": {
|
||||||
"front": "serverstorage:block/drive_container_front",
|
"front": "serverstorage:block/drive_container_front",
|
||||||
"side": "serverstorage:block/drive_container_side"
|
"side": "serverstorage:block/drive_container_side",
|
||||||
|
"top": "serverstorage:block/drive_container_side",
|
||||||
|
"east": "serverstorage:block/drive_container_side",
|
||||||
|
"south": "serverstorage:block/drive_container_side",
|
||||||
|
"west": "serverstorage:block/drive_container_side"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "block/cube_all",
|
|
||||||
"textures": {
|
|
||||||
"all": "serverstorage:block/inventory_interface_blank"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "block/cube",
|
|
||||||
"textures": {
|
|
||||||
"down": "serverstorage:block/inventory_interface_inventory",
|
|
||||||
"up": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"north": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"south": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"west": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"east": "serverstorage:block/inventory_interface_blank"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "block/cube",
|
|
||||||
"textures": {
|
|
||||||
"down": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"up": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"north": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"south": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"west": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"east": "serverstorage:block/inventory_interface_inventory"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "block/cube",
|
|
||||||
"textures": {
|
|
||||||
"down": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"up": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"north": "serverstorage:block/inventory_interface_inventory",
|
|
||||||
"south": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"west": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"east": "serverstorage:block/inventory_interface_blank"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "block/cube",
|
|
||||||
"textures": {
|
|
||||||
"down": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"up": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"north": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"south": "serverstorage:block/inventory_interface_inventory",
|
|
||||||
"west": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"east": "serverstorage:block/inventory_interface_blank"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "block/cube",
|
|
||||||
"textures": {
|
|
||||||
"down": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"up": "serverstorage:block/inventory_interface_inventory",
|
|
||||||
"north": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"south": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"west": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"east": "serverstorage:block/inventory_interface_blank"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "block/cube",
|
|
||||||
"textures": {
|
|
||||||
"down": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"up": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"north": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"south": "serverstorage:block/inventory_interface_blank",
|
|
||||||
"west": "serverstorage:block/inventory_interface_inventory",
|
|
||||||
"east": "serverstorage:block/inventory_interface_blank"
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"parent": "block/orientable",
|
||||||
|
"textures": {
|
||||||
|
"front": "serverstorage:block/radio_interface_front",
|
||||||
|
"side": "serverstorage:block/radio_interface_side",
|
||||||
|
"top": "serverstorage:block/radio_interface_side",
|
||||||
|
"east": "serverstorage:block/radio_interface_side",
|
||||||
|
"south": "serverstorage:block/radio_interface_side",
|
||||||
|
"west": "serverstorage:block/radio_interface_side"
|
||||||
|
}
|
||||||
|
}
|
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"parent": "serverstorage:block/bus_connector_blank"
|
"parent": "serverstorage:block/bus_connector"
|
||||||
}
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/handheld",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "serverstorage:item/diamond_antenna"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/handheld",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "serverstorage:item/golden_antenna"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/handheld",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "serverstorage:item/iron_antenna"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/handheld",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "serverstorage:item/module_antenna"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/handheld",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "serverstorage:item/module_antenna_connector"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/handheld",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "serverstorage:item/module_modem"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/handheld",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "serverstorage:item/module_radio"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/handheld",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "serverstorage:item/netherite_antenna"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"parent": "serverstorage:block/radio_interface"
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/handheld",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "serverstorage:item/wireless_terminal"
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 421 B |
After Width: | Height: | Size: 657 B |
After Width: | Height: | Size: 180 B |
After Width: | Height: | Size: 180 B |
After Width: | Height: | Size: 180 B |
After Width: | Height: | Size: 186 B |
After Width: | Height: | Size: 204 B |
After Width: | Height: | Size: 200 B |
After Width: | Height: | Size: 201 B |
After Width: | Height: | Size: 185 B |
After Width: | Height: | Size: 670 B |
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"category": "misc",
|
||||||
|
"pattern": [
|
||||||
|
" ##",
|
||||||
|
"## ",
|
||||||
|
"# "
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"#": {
|
||||||
|
"item": "minecraft:diamond"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"id": "serverstorage:diamond_antenna",
|
||||||
|
"count": 1
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"category": "misc",
|
||||||
|
"pattern": [
|
||||||
|
" ##",
|
||||||
|
"## ",
|
||||||
|
"# "
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"#": {
|
||||||
|
"item": "minecraft:gold_ingot"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"id": "serverstorage:golden_antenna",
|
||||||
|
"count": 1
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"category": "misc",
|
||||||
|
"pattern": [
|
||||||
|
" ##",
|
||||||
|
"## ",
|
||||||
|
"# "
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"#": {
|
||||||
|
"item": "minecraft:iron_ingot"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"id": "serverstorage:iron_antenna",
|
||||||
|
"count": 1
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"category": "misc",
|
||||||
|
"pattern": [
|
||||||
|
"RIR",
|
||||||
|
"SCS",
|
||||||
|
"GGG"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"G": {
|
||||||
|
"item": "minecraft:gold_nugget"
|
||||||
|
},
|
||||||
|
"R": {
|
||||||
|
"item": "minecraft:iron_ingot"
|
||||||
|
},
|
||||||
|
"I": {
|
||||||
|
"item": "minecraft:gold_ingot"
|
||||||
|
},
|
||||||
|
"C": {
|
||||||
|
"item": "serverstorage:material_cpu"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "serverstorage:material_pcb_substrate"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"id": "serverstorage:module_antenna",
|
||||||
|
"count": 1
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"category": "misc",
|
||||||
|
"pattern": [
|
||||||
|
"RGR",
|
||||||
|
"SCS",
|
||||||
|
"GGG"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"G": {
|
||||||
|
"item": "minecraft:gold_nugget"
|
||||||
|
},
|
||||||
|
"R": {
|
||||||
|
"item": "minecraft:iron_ingot"
|
||||||
|
},
|
||||||
|
"C": {
|
||||||
|
"item": "serverstorage:material_cpu"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "serverstorage:material_pcb_substrate"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"id": "serverstorage:module_antenna_connector",
|
||||||
|
"count": 1
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"category": "misc",
|
||||||
|
"pattern": [
|
||||||
|
"ICI",
|
||||||
|
"SCS",
|
||||||
|
"GGG"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"G": {
|
||||||
|
"item": "minecraft:gold_nugget"
|
||||||
|
},
|
||||||
|
"I": {
|
||||||
|
"item": "minecraft:gold_ingot"
|
||||||
|
},
|
||||||
|
"C": {
|
||||||
|
"item": "serverstorage:material_cpu"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "serverstorage:material_pcb_substrate"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"id": "serverstorage:module_modem",
|
||||||
|
"count": 1
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"category": "misc",
|
||||||
|
"pattern": [
|
||||||
|
"CIC",
|
||||||
|
"SCS",
|
||||||
|
"GGG"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"G": {
|
||||||
|
"item": "minecraft:gold_nugget"
|
||||||
|
},
|
||||||
|
"I": {
|
||||||
|
"item": "minecraft:gold_ingot"
|
||||||
|
},
|
||||||
|
"C": {
|
||||||
|
"item": "serverstorage:material_cpu"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "serverstorage:material_pcb_substrate"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"id": "serverstorage:module_radio",
|
||||||
|
"count": 1
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:smithing_transform",
|
||||||
|
"addition": {
|
||||||
|
"item": "minecraft:netherite_ingot"
|
||||||
|
},
|
||||||
|
"base": {
|
||||||
|
"item": "serverstorage:diamond_antenna"
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"count": 1,
|
||||||
|
"id": "serverstorage:netherite_antenna"
|
||||||
|
},
|
||||||
|
"template": {
|
||||||
|
"item": "serverstorage:module_netherite_upgrade"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"category": "misc",
|
||||||
|
"pattern": [
|
||||||
|
"CBH",
|
||||||
|
"MUG",
|
||||||
|
"MPF"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"P": {
|
||||||
|
"item": "serverstorage:material_pcb"
|
||||||
|
},
|
||||||
|
"U": {
|
||||||
|
"item": "serverstorage:material_cpu"
|
||||||
|
},
|
||||||
|
"C": {
|
||||||
|
"item": "serverstorage:module_radio"
|
||||||
|
},
|
||||||
|
"B": {
|
||||||
|
"item": "serverstorage:module_bus"
|
||||||
|
},
|
||||||
|
"H": {
|
||||||
|
"item": "serverstorage:module_antenna_connector"
|
||||||
|
},
|
||||||
|
"M": {
|
||||||
|
"item": "serverstorage:module_modem"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "serverstorage:module_configuration"
|
||||||
|
},
|
||||||
|
"F": {
|
||||||
|
"item": "serverstorage:module_pagination"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"id": "serverstorage:radio_interface",
|
||||||
|
"count": 1
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"category": "misc",
|
||||||
|
"pattern": [
|
||||||
|
"AHM",
|
||||||
|
"CGF",
|
||||||
|
"UMP"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"P": {
|
||||||
|
"item": "serverstorage:material_pcb"
|
||||||
|
},
|
||||||
|
"U": {
|
||||||
|
"item": "serverstorage:material_cpu"
|
||||||
|
},
|
||||||
|
"A": {
|
||||||
|
"item": "serverstorage:module_antenna"
|
||||||
|
},
|
||||||
|
"C": {
|
||||||
|
"item": "serverstorage:module_radio"
|
||||||
|
},
|
||||||
|
"H": {
|
||||||
|
"item": "serverstorage:module_antenna_connector"
|
||||||
|
},
|
||||||
|
"M": {
|
||||||
|
"item": "serverstorage:module_modem"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "serverstorage:module_configuration"
|
||||||
|
},
|
||||||
|
"F": {
|
||||||
|
"item": "serverstorage:module_pagination"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"id": "serverstorage:wireless_terminal",
|
||||||
|
"count": 1
|
||||||
|
}
|
||||||
|
}
|