diff options
Diffstat (limited to 'src/main/java/net')
31 files changed, 606 insertions, 168 deletions
diff --git a/src/main/java/net/cshift/mc/sparkt/SparktInit.java b/src/main/java/net/cshift/mc/sparkt/SparktInit.java new file mode 100644 index 0000000..f35c094 --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/SparktInit.java @@ -0,0 +1,32 @@ +package net.cshift.mc.sparkt; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import net.cshift.mc.sparkt.block.Blocks; +import net.cshift.mc.sparkt.block.entity.BlockEntityTypes; +import net.cshift.mc.sparkt.item.Items; +import net.cshift.mc.sparkt.netcode.payload.DeliveryPayload; +import net.cshift.mc.sparkt.netcode.payload.TransitPayload; +import net.fabricmc.api.ModInitializer; +import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry; + +public class SparktInit implements ModInitializer { + + public static final Logger LOG = LogManager.getFormatterLogger("Sparkt/Init"); + public static final String MODID = "sparkt"; + + @Override + public void onInitialize() { + LOG.info("Preparing to spark a reaction!"); + Blocks.register(); + Items.register(); + BlockEntityTypes.register(); + + PayloadTypeRegistry.playS2C().register(DeliveryPayload.ID, DeliveryPayload.CODEC); + // PayloadTypeRegistry.playS2C().register(ProgressPayload.ID, ProgressPayload.CODEC); + PayloadTypeRegistry.playS2C().register(TransitPayload.ID, TransitPayload.CODEC); + } + + +} diff --git a/src/main/java/net/cshift/mc/sparkt/block/Blocks.java b/src/main/java/net/cshift/mc/sparkt/block/Blocks.java new file mode 100644 index 0000000..e7cdd47 --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/block/Blocks.java @@ -0,0 +1,50 @@ +package net.cshift.mc.sparkt.block; + +import net.cshift.mc.sparkt.SparktInit; +import net.minecraft.block.Block; +import net.minecraft.block.ExperienceDroppingBlock; +import net.minecraft.block.AbstractBlock.Settings; +import net.minecraft.item.BlockItem; +import net.minecraft.item.Item; +import net.minecraft.util.Identifier; +import net.minecraft.util.math.intprovider.ConstantIntProvider; +import net.minecraft.registry.*; + +public class Blocks { + + public static final Block MACHINE_FRAME = new MachineFrame(Settings.create().strength(1, 1)); + public static final Block MACHINE_FURNACE = new MachineFurnace(Settings.create().strength(1, 1)); + public static final Block DRIVER_MECHANICAL = new DriverMechanical(Settings.create().strength(1, 1)); + public static final Block DRIVER_ELECTRIC = new DriverElectric(Settings.create().strength(1, 1)); + public static final Block MACHINE_GRINDER = new MachineGrinder(Settings.create().strength(1, 1)); + public static final Block WIRE = new Wire(Settings.create().strength(1, 1)); + + public static final Block ORE_TUNGSTEN = new ExperienceDroppingBlock(ConstantIntProvider.create(0), Settings.create().requiresTool().strength(3.0f, 3.0f)); + public static final Block ORE_DEEPSLATE_TUNGSTEN = new ExperienceDroppingBlock(ConstantIntProvider.create(0), Settings.create().requiresTool().strength(3.0f, 3.0f)); + + public static void register() { + Registry.register(Registries.BLOCK, Identifier.of(SparktInit.MODID, "machine_frame"), MACHINE_FRAME); + Registry.register(Registries.ITEM, Identifier.of(SparktInit.MODID, "machine_frame"), new BlockItem(MACHINE_FRAME, new Item.Settings())); + + Registry.register(Registries.BLOCK, Identifier.of(SparktInit.MODID, "machine_furnace"), MACHINE_FURNACE); + Registry.register(Registries.ITEM, Identifier.of(SparktInit.MODID, "machine_furnace"), new BlockItem(MACHINE_FURNACE, new Item.Settings())); + + Registry.register(Registries.BLOCK, Identifier.of(SparktInit.MODID, "machine_grinder"), MACHINE_GRINDER); + Registry.register(Registries.ITEM, Identifier.of(SparktInit.MODID, "machine_grinder"), new BlockItem(MACHINE_GRINDER, new Item.Settings())); + + Registry.register(Registries.BLOCK, Identifier.of(SparktInit.MODID, "driver_mechanical"), DRIVER_MECHANICAL); + Registry.register(Registries.ITEM, Identifier.of(SparktInit.MODID, "driver_mechanical"), new BlockItem(DRIVER_MECHANICAL, new Item.Settings())); + + Registry.register(Registries.BLOCK, Identifier.of(SparktInit.MODID, "driver_electric"), DRIVER_ELECTRIC); + Registry.register(Registries.ITEM, Identifier.of(SparktInit.MODID, "driver_electric"), new BlockItem(DRIVER_ELECTRIC, new Item.Settings())); + + Registry.register(Registries.BLOCK, Identifier.of(SparktInit.MODID, "ore_tungsten"), ORE_TUNGSTEN); + Registry.register(Registries.ITEM, Identifier.of(SparktInit.MODID, "ore_tungsten"), new BlockItem(ORE_TUNGSTEN, new Item.Settings())); + + Registry.register(Registries.BLOCK, Identifier.of(SparktInit.MODID, "ore_deepslate_tungsten"), ORE_DEEPSLATE_TUNGSTEN); + Registry.register(Registries.ITEM, Identifier.of(SparktInit.MODID, "ore_deepslate_tungsten"), new BlockItem(ORE_DEEPSLATE_TUNGSTEN, new Item.Settings())); + + Registry.register(Registries.BLOCK, Identifier.of(SparktInit.MODID, "wire"), WIRE); + Registry.register(Registries.ITEM, Identifier.of(SparktInit.MODID, "wire"), new BlockItem(WIRE, new Item.Settings())); + } +} diff --git a/src/main/java/net/cshift/mc/sparkt/block/DriverElectric.java b/src/main/java/net/cshift/mc/sparkt/block/DriverElectric.java new file mode 100644 index 0000000..31ed63b --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/block/DriverElectric.java @@ -0,0 +1,31 @@ +package net.cshift.mc.sparkt.block; + +import com.mojang.serialization.MapCodec; + +import net.cshift.mc.sparkt.block.entity.MachineDriverEntity; +import net.minecraft.block.BlockState; +import net.minecraft.block.entity.BlockEntity; +import net.minecraft.item.ItemPlacementContext; +import net.minecraft.util.math.BlockPos; + +public class DriverElectric extends MachineBlock{ + public static final MapCodec<DriverElectric> CODEC = createCodec(DriverElectric::new); + + public MapCodec<DriverElectric> getCodec() { + return CODEC; + } + + public DriverElectric(Settings settings) { + super(settings); + } + + @Override + public BlockEntity createBlockEntity(BlockPos var1, BlockState var2) { + return new MachineDriverEntity(var1, var2); + } + + @Override + public BlockState getPlacementState(ItemPlacementContext ctx) { + return (BlockState)this.getDefaultState().with(FACING, ctx.getPlayerLookDirection().getOpposite()); + } +}
\ No newline at end of file diff --git a/src/main/java/net/cshift/mc/sparkt/block/DriverMechanical.java b/src/main/java/net/cshift/mc/sparkt/block/DriverMechanical.java new file mode 100644 index 0000000..c1f5954 --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/block/DriverMechanical.java @@ -0,0 +1,32 @@ +package net.cshift.mc.sparkt.block; + +import com.mojang.serialization.MapCodec; + +import net.cshift.mc.sparkt.block.entity.MachineDriverEntity; +import net.minecraft.block.BlockState; +import net.minecraft.block.entity.BlockEntity; +import net.minecraft.item.ItemPlacementContext; +import net.minecraft.util.math.BlockPos; + +public class DriverMechanical extends MachineBlock{ + + public static final MapCodec<DriverMechanical> CODEC = createCodec(DriverMechanical::new); + + public MapCodec<DriverMechanical> getCodec() { + return CODEC; + } + + public DriverMechanical(Settings settings) { + super(settings); + } + + @Override + public BlockEntity createBlockEntity(BlockPos var1, BlockState var2) { + return new MachineDriverEntity(var1, var2); + } + + @Override + public BlockState getPlacementState(ItemPlacementContext ctx) { + return (BlockState)this.getDefaultState().with(FACING, ctx.getPlayerLookDirection().getOpposite()); + } +} diff --git a/src/main/java/net/cshift/mc/sparkt/block/MachineBlock.java b/src/main/java/net/cshift/mc/sparkt/block/MachineBlock.java new file mode 100644 index 0000000..92e95f2 --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/block/MachineBlock.java @@ -0,0 +1,67 @@ +package net.cshift.mc.sparkt.block; + +import com.mojang.serialization.MapCodec; + +import net.cshift.mc.sparkt.block.entity.MachineNodeEntity; +import net.minecraft.block.AbstractBlock; +import net.minecraft.block.Block; +import net.minecraft.block.BlockRenderType; +import net.minecraft.block.BlockState; +import net.minecraft.block.BlockWithEntity; +import net.minecraft.block.FacingBlock; +import net.minecraft.block.entity.BlockEntity; +import net.minecraft.entity.LivingEntity; +import net.minecraft.item.ItemPlacementContext; +import net.minecraft.item.ItemStack; +import net.minecraft.state.StateManager; +import net.minecraft.state.property.*; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.world.World; + +public abstract class MachineBlock extends BlockWithEntity { + public static final DirectionProperty FACING; + public static final BooleanProperty ACTIVE; + + public MachineBlock(AbstractBlock.Settings settings) { + super(settings); + this.setDefaultState( + this.stateManager + .getDefaultState() + .with(FACING, Direction.NORTH) + .with(ACTIVE, false) + ); + } + + @Override + public BlockRenderType getRenderType(BlockState state) { + return BlockRenderType.MODEL; + } + + @Override + public BlockEntity createBlockEntity(BlockPos var1, BlockState var2) { + return new MachineNodeEntity(var1, var2); + } + + @Override + public void onPlaced(World world, BlockPos pos, BlockState state, LivingEntity placer, ItemStack itemStack) { + super.onPlaced(world, pos, state, placer, itemStack); + } + + public BlockState getPlacementState(ItemPlacementContext ctx) { + return (BlockState)this.getDefaultState().with(FACING, ctx.getHorizontalPlayerFacing().getOpposite()); + } + + @Override + protected void appendProperties(StateManager.Builder<Block, BlockState> builder) { + super.appendProperties(builder); + builder.add(new Property[]{FACING, ACTIVE}); + } + + protected abstract MapCodec<? extends BlockWithEntity> getCodec(); + + static { + FACING = FacingBlock.FACING; + ACTIVE = Properties.LIT; + } +} diff --git a/src/main/java/net/cshift/mc/sparkt/block/MachineFrame.java b/src/main/java/net/cshift/mc/sparkt/block/MachineFrame.java new file mode 100644 index 0000000..10f6314 --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/block/MachineFrame.java @@ -0,0 +1,17 @@ +package net.cshift.mc.sparkt.block; + +import com.mojang.serialization.MapCodec; + +import net.minecraft.block.AbstractBlock; + +public class MachineFrame extends MachineBlock{ + public static final MapCodec<MachineFrame> CODEC = createCodec(MachineFrame::new); + + public MapCodec<MachineFrame> getCodec() { + return CODEC; + } + + public MachineFrame(AbstractBlock.Settings settings) { + super(settings); + } +} diff --git a/src/main/java/net/cshift/mc/sparkt/block/MachineFurnace.java b/src/main/java/net/cshift/mc/sparkt/block/MachineFurnace.java new file mode 100644 index 0000000..0ae61e0 --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/block/MachineFurnace.java @@ -0,0 +1,23 @@ +package net.cshift.mc.sparkt.block; + +import com.mojang.serialization.MapCodec; + +import net.minecraft.util.math.Direction; + +public class MachineFurnace extends MachineBlock{ + public static final MapCodec<MachineFurnace> CODEC = createCodec(MachineFurnace::new); + + public MapCodec<MachineFurnace> getCodec() { + return CODEC; + } + + public MachineFurnace(Settings settings) { + super(settings); + this.setDefaultState( + this.stateManager + .getDefaultState() + .with(FACING, Direction.NORTH) + .with(ACTIVE, true) + ); + } +} diff --git a/src/main/java/net/cshift/mc/sparkt/block/MachineGrinder.java b/src/main/java/net/cshift/mc/sparkt/block/MachineGrinder.java new file mode 100644 index 0000000..87c7808 --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/block/MachineGrinder.java @@ -0,0 +1,23 @@ +package net.cshift.mc.sparkt.block; + +import com.mojang.serialization.MapCodec; + +import net.minecraft.util.math.Direction; + +public class MachineGrinder extends MachineBlock{ + public static final MapCodec<MachineGrinder> CODEC = createCodec(MachineGrinder::new); + + public MapCodec<MachineGrinder> getCodec() { + return CODEC; + } + + public MachineGrinder(Settings settings) { + super(settings); + this.setDefaultState( + this.stateManager + .getDefaultState() + .with(FACING, Direction.NORTH) + .with(ACTIVE, true) + ); + } +} diff --git a/src/main/java/net/cshift/mc/sparkt/block/Wire.java b/src/main/java/net/cshift/mc/sparkt/block/Wire.java new file mode 100644 index 0000000..3ad78ed --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/block/Wire.java @@ -0,0 +1,44 @@ +package net.cshift.mc.sparkt.block; + +import org.jetbrains.annotations.Nullable; + +import com.mojang.serialization.MapCodec; + +import net.cshift.mc.sparkt.block.entity.BlockEntityTypes; +import net.cshift.mc.sparkt.block.entity.WireEntity; +import net.minecraft.block.BlockState; +import net.minecraft.block.BlockWithEntity; +import net.minecraft.block.entity.BlockEntity; +import net.minecraft.block.entity.BlockEntityTicker; +import net.minecraft.block.entity.BlockEntityType; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +public class Wire extends BlockWithEntity { + public static final MapCodec<Wire> CODEC = createCodec(Wire::new); + + public MapCodec<Wire> getCodec() { + return CODEC; + } + + public Wire(Settings settings) { + super(settings); + } + + @Override + public BlockEntity createBlockEntity(BlockPos var1, BlockState var2) { + return new WireEntity(var1, var2); + } + + @Override + public <T extends BlockEntity> BlockEntityTicker<T> getTicker(World world, BlockState state, + BlockEntityType<T> type) { + // TODO Auto-generated method stub + return validateTicker(world, type, BlockEntityTypes.WIRE_ENTITY); + } + + @Nullable + protected static <T extends BlockEntity> BlockEntityTicker<T> validateTicker(World world, BlockEntityType<T> givenType, BlockEntityType<? extends WireEntity> expectedType) { + return world.isClient ? null : validateTicker(givenType, expectedType, WireEntity::tick); + } +} diff --git a/src/main/java/net/cshift/mc/sparkt/block/entity/BlockEntityTypes.java b/src/main/java/net/cshift/mc/sparkt/block/entity/BlockEntityTypes.java new file mode 100644 index 0000000..102cc00 --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/block/entity/BlockEntityTypes.java @@ -0,0 +1,36 @@ +package net.cshift.mc.sparkt.block.entity; + +import net.cshift.mc.sparkt.SparktInit; +import net.cshift.mc.sparkt.block.Blocks; +import net.minecraft.block.Block; +import net.minecraft.block.entity.BlockEntityType; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.util.Identifier; + +public class BlockEntityTypes { + + public static final BlockEntityType<MachineNodeEntity> MACHINE_BLOCK_ENTITY = Registry.register( + Registries.BLOCK_ENTITY_TYPE, + Identifier.of(SparktInit.MODID, "machine_node_entity"), + net.minecraft.block.entity.BlockEntityType.Builder.create(MachineNodeEntity::new, new Block[]{Blocks.MACHINE_FRAME, Blocks.MACHINE_FURNACE, Blocks.MACHINE_GRINDER}).build() + ); + + public static final BlockEntityType<MachineDriverEntity> MACHINE_DRIVER_ENTITY = Registry.register( + Registries.BLOCK_ENTITY_TYPE, + Identifier.of(SparktInit.MODID, "machine_driver_entity"), + net.minecraft.block.entity.BlockEntityType.Builder.create(MachineDriverEntity::new, new Block[]{Blocks.DRIVER_MECHANICAL, Blocks.DRIVER_ELECTRIC}).build() + ); + + public static final BlockEntityType<WireEntity> WIRE_ENTITY = Registry.register( + Registries.BLOCK_ENTITY_TYPE, + Identifier.of(SparktInit.MODID, "wire_entity"), + net.minecraft.block.entity.BlockEntityType.Builder.create(WireEntity::new, new Block[]{Blocks.WIRE}).build() + ); + + public static void register() { + MACHINE_BLOCK_ENTITY.getRegistryEntry(); + MACHINE_DRIVER_ENTITY.getRegistryEntry(); + WIRE_ENTITY.getRegistryEntry(); + } +} diff --git a/src/main/java/net/cshift/sparkt/block/entity/MachineFurnaceEntity.java b/src/main/java/net/cshift/mc/sparkt/block/entity/MachineDriverEntity.java index d45938c..52cf125 100644 --- a/src/main/java/net/cshift/sparkt/block/entity/MachineFurnaceEntity.java +++ b/src/main/java/net/cshift/mc/sparkt/block/entity/MachineDriverEntity.java @@ -1,61 +1,60 @@ -package net.cshift.sparkt.block.entity; +package net.cshift.mc.sparkt.block.entity; +import net.cshift.mc.transit.network.Channel; +import net.cshift.mc.transit.network.INode; +import net.cshift.mc.transit.network.PoolManifest; +import net.cshift.mc.transit.network.packet.IStaticPacket; import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntity; -import net.minecraft.block.entity.BlockEntityType; import net.minecraft.util.math.BlockPos; -import net.cshift.api.transit.network.*; -import net.cshift.api.transit.network.packet.*; +public class MachineDriverEntity extends BlockEntity implements INode{ -public class MachineFurnaceEntity extends BlockEntity implements INode { - - public MachineFurnaceEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) { - super(type, pos, state); + public MachineDriverEntity(BlockPos pos, BlockState state) { + super(BlockEntityTypes.MACHINE_DRIVER_ENTITY, pos, state); //TODO Auto-generated constructor stub } @Override - public IStaticPacket accept(IStaticPacket arg0, Channel<?> arg1) { + public PoolManifest getManifest() { // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'accept'"); + throw new UnsupportedOperationException("Unimplemented method 'getManifest'"); } @Override - public <T> Channel<T> connect(int arg0, String arg1, INode arg2) { + public <T> Channel<T> connect(int poolID, String group, INode asker) { // TODO Auto-generated method stub throw new UnsupportedOperationException("Unimplemented method 'connect'"); } @Override - public <T> Channel<T> connectDefault(String arg0, INode arg1) { + public <T> Channel<T> connectDefault(String group, INode asker) { // TODO Auto-generated method stub throw new UnsupportedOperationException("Unimplemented method 'connectDefault'"); } @Override - public PoolManifest getManifest() { + public <T> IStaticPacket<T> accept(IStaticPacket<T> packet, Channel<T> channel) { // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'getManifest'"); + throw new UnsupportedOperationException("Unimplemented method 'accept'"); } @Override - public <T> Number getPressure(Channel<T> arg0) { + public <T> Number getPressure(Channel<T> channel) { // TODO Auto-generated method stub throw new UnsupportedOperationException("Unimplemented method 'getPressure'"); } @Override - public <T> Number getRate(Channel<T> arg0) { + public <T> Number getRate(Channel<T> channel) { // TODO Auto-generated method stub throw new UnsupportedOperationException("Unimplemented method 'getRate'"); } @Override - public <T> void onTerminate(Channel<T> arg0) { + public <T> void onTerminate(Channel<T> channel) { // TODO Auto-generated method stub throw new UnsupportedOperationException("Unimplemented method 'onTerminate'"); } - -}
\ No newline at end of file +} diff --git a/src/main/java/net/cshift/sparkt/block/entity/MachineNode.java b/src/main/java/net/cshift/mc/sparkt/block/entity/MachineNodeEntity.java index 111d8cc..4c21801 100644 --- a/src/main/java/net/cshift/sparkt/block/entity/MachineNode.java +++ b/src/main/java/net/cshift/mc/sparkt/block/entity/MachineNodeEntity.java @@ -1,19 +1,19 @@ -package net.cshift.sparkt.block.entity; +package net.cshift.mc.sparkt.block.entity; -import net.cshift.api.transit.network.*; -import net.cshift.api.transit.network.packet.IStaticPacket; +import net.cshift.mc.transit.network.*; +import net.cshift.mc.transit.network.packet.IStaticPacket; import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntity; import net.minecraft.util.math.BlockPos; -public class MachineNode extends BlockEntity implements INode { +public class MachineNodeEntity extends BlockEntity implements INode { - public MachineNode(BlockPos pos, BlockState state) { - super(BlockEntityTypes.MACHINE_NODE, pos, state); + public MachineNodeEntity(BlockPos pos, BlockState state) { + super(BlockEntityTypes.MACHINE_BLOCK_ENTITY, pos, state); } @Override - public IStaticPacket accept(IStaticPacket arg0, Channel<?> arg1) { + public <T> IStaticPacket<T> accept(IStaticPacket<T> arg0, Channel<T> arg1) { // TODO Auto-generated method stub throw new UnsupportedOperationException("Unimplemented method 'accept'"); } diff --git a/src/main/java/net/cshift/mc/sparkt/block/entity/WireEntity.java b/src/main/java/net/cshift/mc/sparkt/block/entity/WireEntity.java new file mode 100644 index 0000000..208a84f --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/block/entity/WireEntity.java @@ -0,0 +1,82 @@ +package net.cshift.mc.sparkt.block.entity; + +import net.cshift.mc.sparkt.netcode.payload.DeliveryPayload; +import net.cshift.mc.transit.network.*; +import net.cshift.mc.transit.network.packet.IStaticPacket; +import net.fabricmc.fabric.api.networking.v1.PlayerLookup; +import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; +import net.minecraft.block.BlockState; +import net.minecraft.block.entity.BlockEntity; +import net.minecraft.server.network.ServerPlayerEntity; +import net.minecraft.server.world.ServerWorld; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +public class WireEntity extends BlockEntity implements INode { + public static final int COOLDOWN = 40; + private int ticks = COOLDOWN; + + + public WireEntity(BlockPos pos, BlockState state) { + super(BlockEntityTypes.WIRE_ENTITY, pos, state); + + } + + @Override + public <T> IStaticPacket<T> accept(IStaticPacket<T> arg0, Channel<T> arg1) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'accept'"); + } + + @Override + public <T> Channel<T> connect(int arg0, String arg1, INode arg2) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'connect'"); + } + + @Override + public <T> Channel<T> connectDefault(String arg0, INode arg1) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'connectDefault'"); + } + + @Override + public PoolManifest getManifest() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'getManifest'"); + } + + @Override + public <T> Number getPressure(Channel<T> arg0) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'getPressure'"); + } + + @Override + public <T> Number getRate(Channel<T> arg0) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'getRate'"); + } + + @Override + public <T> void onTerminate(Channel<T> arg0) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'onTerminate'"); + } + + public static void tick(World world, BlockPos pos, BlockState state, WireEntity blockEntity) { + if (world.isClient) + return; + + blockEntity.ticks--; + + if (blockEntity.ticks > 0) + return; + + for (ServerPlayerEntity player : PlayerLookup.world((ServerWorld) world)) + ServerPlayNetworking.send(player, new DeliveryPayload("lmao")); + + blockEntity.ticks = COOLDOWN; + } + +} diff --git a/src/main/java/net/cshift/mc/sparkt/item/HeatingElement.java b/src/main/java/net/cshift/mc/sparkt/item/HeatingElement.java new file mode 100644 index 0000000..5c7bc61 --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/item/HeatingElement.java @@ -0,0 +1,11 @@ +package net.cshift.mc.sparkt.item; + +import net.minecraft.item.Item; + +public class HeatingElement extends Item { + + public HeatingElement(Settings settings) { + super(settings); + } + +} diff --git a/src/main/java/net/cshift/mc/sparkt/item/IngotTungsten.java b/src/main/java/net/cshift/mc/sparkt/item/IngotTungsten.java new file mode 100644 index 0000000..1f8d92e --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/item/IngotTungsten.java @@ -0,0 +1,11 @@ +package net.cshift.mc.sparkt.item; + +import net.minecraft.item.Item; + +public class IngotTungsten extends Item{ + + public IngotTungsten(Settings settings) { + super(settings); + } + +} diff --git a/src/main/java/net/cshift/mc/sparkt/item/Items.java b/src/main/java/net/cshift/mc/sparkt/item/Items.java new file mode 100644 index 0000000..94c53e9 --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/item/Items.java @@ -0,0 +1,20 @@ +package net.cshift.mc.sparkt.item; + +import net.cshift.mc.sparkt.SparktInit; +import net.minecraft.item.Item; +import net.minecraft.item.Item.Settings; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.util.Identifier; + +public class Items { + public static final Item INGOT_TUNGSTEN = new IngotTungsten(new Settings()); + public static final Item RAW_TUNGSTEN = new RawTungsten(new Settings()); + public static final Item HEATING_ELEMENT = new HeatingElement(new Settings()); + + public static void register() { + Registry.register(Registries.ITEM, Identifier.of(SparktInit.MODID, "ingot_tungsten"), INGOT_TUNGSTEN); + Registry.register(Registries.ITEM, Identifier.of(SparktInit.MODID, "raw_tungsten"), RAW_TUNGSTEN); + Registry.register(Registries.ITEM, Identifier.of(SparktInit.MODID, "heating_element"), HEATING_ELEMENT); + } +} diff --git a/src/main/java/net/cshift/mc/sparkt/item/RawTungsten.java b/src/main/java/net/cshift/mc/sparkt/item/RawTungsten.java new file mode 100644 index 0000000..18e6213 --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/item/RawTungsten.java @@ -0,0 +1,11 @@ +package net.cshift.mc.sparkt.item; + +import net.minecraft.item.Item; + +public class RawTungsten extends Item { + + public RawTungsten(Settings settings) { + super(settings); + } + +} diff --git a/src/main/java/net/cshift/mc/sparkt/netcode/ClientRenderNetwork.java b/src/main/java/net/cshift/mc/sparkt/netcode/ClientRenderNetwork.java new file mode 100644 index 0000000..067d0e0 --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/netcode/ClientRenderNetwork.java @@ -0,0 +1,5 @@ +package net.cshift.mc.sparkt.netcode; + +public class ClientRenderNetwork { + +} diff --git a/src/main/java/net/cshift/mc/sparkt/netcode/NetConstants.java b/src/main/java/net/cshift/mc/sparkt/netcode/NetConstants.java new file mode 100644 index 0000000..a7358eb --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/netcode/NetConstants.java @@ -0,0 +1,10 @@ +package net.cshift.mc.sparkt.netcode; + +import net.cshift.mc.sparkt.SparktInit; +import net.minecraft.util.Identifier; + +public class NetConstants { + public static final Identifier TRANSIT_PACKET_ID = Identifier.of(SparktInit.MODID, "net_transit"); + public static final Identifier PROGRESS_PACKET_ID = Identifier.of(SparktInit.MODID, "net_progress"); + public static final Identifier DELIVERY_PACKET_ID = Identifier.of(SparktInit.MODID, "net_delivery"); +} diff --git a/src/main/java/net/cshift/mc/sparkt/netcode/ServerRenderNetwork.java b/src/main/java/net/cshift/mc/sparkt/netcode/ServerRenderNetwork.java new file mode 100644 index 0000000..6bb249d --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/netcode/ServerRenderNetwork.java @@ -0,0 +1,10 @@ +package net.cshift.mc.sparkt.netcode; + +public class ServerRenderNetwork { + + + static void update() { + + } + +} diff --git a/src/main/java/net/cshift/mc/sparkt/netcode/payload/DeliveryPayload.java b/src/main/java/net/cshift/mc/sparkt/netcode/payload/DeliveryPayload.java new file mode 100644 index 0000000..5c7caff --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/netcode/payload/DeliveryPayload.java @@ -0,0 +1,22 @@ +package net.cshift.mc.sparkt.netcode.payload; + +import net.cshift.mc.sparkt.netcode.NetConstants; +import net.minecraft.network.RegistryByteBuf; +import net.minecraft.network.codec.PacketCodec; +import net.minecraft.network.codec.PacketCodecs; +import net.minecraft.network.packet.CustomPayload; + +public record DeliveryPayload (String uuid) implements CustomPayload { + public static final CustomPayload.Id<DeliveryPayload> ID = new CustomPayload.Id<>(NetConstants.DELIVERY_PACKET_ID); + + public static final PacketCodec<RegistryByteBuf, DeliveryPayload> CODEC = PacketCodec.tuple( + PacketCodecs.STRING, DeliveryPayload::uuid, + DeliveryPayload::new + ); + + @Override + public CustomPayload.Id<? extends CustomPayload> getId () + { + return ID; + } +} diff --git a/src/main/java/net/cshift/mc/sparkt/netcode/payload/ProgressPayload.java b/src/main/java/net/cshift/mc/sparkt/netcode/payload/ProgressPayload.java new file mode 100644 index 0000000..bbc0395 --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/netcode/payload/ProgressPayload.java @@ -0,0 +1,19 @@ +package net.cshift.mc.sparkt.netcode.payload; + +import java.util.HashMap; + +import net.cshift.mc.sparkt.netcode.NetConstants; +import net.minecraft.network.RegistryByteBuf; +import net.minecraft.network.codec.PacketCodec; +import net.minecraft.network.packet.CustomPayload; + +public record ProgressPayload (HashMap<String, Double> map) implements CustomPayload { + public static final CustomPayload.Id<ProgressPayload> ID = new CustomPayload.Id<>(NetConstants.PROGRESS_PACKET_ID); + public static final PacketCodec<RegistryByteBuf, ProgressPayload> CODEC = PacketCodec.tuple(null, null, null); + + @Override + public CustomPayload.Id<? extends CustomPayload> getId () + { + return ID; + } +} diff --git a/src/main/java/net/cshift/mc/sparkt/netcode/payload/TransitPayload.java b/src/main/java/net/cshift/mc/sparkt/netcode/payload/TransitPayload.java new file mode 100644 index 0000000..bc7bb6c --- /dev/null +++ b/src/main/java/net/cshift/mc/sparkt/netcode/payload/TransitPayload.java @@ -0,0 +1,25 @@ +package net.cshift.mc.sparkt.netcode.payload; + +import com.mojang.authlib.properties.PropertyMap; + +import net.cshift.mc.sparkt.netcode.NetConstants; +import net.minecraft.network.RegistryByteBuf; +import net.minecraft.network.codec.PacketCodec; +import net.minecraft.network.codec.PacketCodecs; +import net.minecraft.network.packet.CustomPayload; + +public record TransitPayload(String uuid, PropertyMap obj) implements CustomPayload { + public static final CustomPayload.Id<TransitPayload> ID = new CustomPayload.Id<>(NetConstants.TRANSIT_PACKET_ID); + + public static final PacketCodec<RegistryByteBuf, TransitPayload> CODEC = PacketCodec.tuple( + PacketCodecs.STRING, TransitPayload::uuid, + PacketCodecs.PROPERTY_MAP, TransitPayload::obj, + TransitPayload::new + ); + + @Override + public CustomPayload.Id<? extends CustomPayload> getId () + { + return ID; + } +} diff --git a/src/main/java/net/cshift/sparkt/SparktInit.java b/src/main/java/net/cshift/sparkt/SparktInit.java deleted file mode 100644 index 0b85404..0000000 --- a/src/main/java/net/cshift/sparkt/SparktInit.java +++ /dev/null @@ -1,22 +0,0 @@ -package net.cshift.sparkt; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -import net.cshift.sparkt.block.Blocks; -import net.cshift.sparkt.block.entity.BlockEntityTypes; -import net.fabricmc.api.ModInitializer; - -public class SparktInit implements ModInitializer { - - public static final Logger LOG = LogManager.getFormatterLogger("Sparkt|Init"); - public static final String MODID = "sparkt"; - - @Override - public void onInitialize() { - LOG.info("Preparing to spark a reaction!"); - Blocks.register(); - BlockEntityTypes.register(); - } - -}
\ No newline at end of file diff --git a/src/main/java/net/cshift/sparkt/block/Blocks.java b/src/main/java/net/cshift/sparkt/block/Blocks.java deleted file mode 100644 index 3aab1e2..0000000 --- a/src/main/java/net/cshift/sparkt/block/Blocks.java +++ /dev/null @@ -1,32 +0,0 @@ -package net.cshift.sparkt.block; - -import net.cshift.sparkt.SparktInit; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import net.minecraft.block.Block; -import net.minecraft.item.BlockItem; -import net.minecraft.item.Item; -import net.minecraft.util.Identifier; -import net.minecraft.registry.*; - -public class Blocks { - - public static final Block MACHINE_BLOCK = new MachineBlock(FabricBlockSettings.create().strength(1, 1)); - public static final Block MACHINE_FURNACE = new MachineFurnace(FabricBlockSettings.create().strength(1, 1)); - public static final Block DRIVER_MECHANICAL = new DriverMechanical(FabricBlockSettings.create().strength(1, 1)); - public static final Block MACHINE_GRINDER = new MachineGrinder(FabricBlockSettings.create().strength(1, 1)); - //public static final Block - - public static void register() { - Registry.register(Registries.BLOCK, new Identifier(SparktInit.MODID, "machine_block"), MACHINE_BLOCK); - Registry.register(Registries.ITEM, new Identifier(SparktInit.MODID, "machine_block"), new BlockItem(MACHINE_BLOCK, new Item.Settings())); - - Registry.register(Registries.BLOCK, new Identifier(SparktInit.MODID, "machine_furnace"), MACHINE_FURNACE); - Registry.register(Registries.ITEM, new Identifier(SparktInit.MODID, "machine_furnace"), new BlockItem(MACHINE_FURNACE, new Item.Settings())); - - Registry.register(Registries.BLOCK, new Identifier(SparktInit.MODID, "driver_mechanical"), DRIVER_MECHANICAL); - Registry.register(Registries.ITEM, new Identifier(SparktInit.MODID, "driver_mechanical"), new BlockItem(DRIVER_MECHANICAL, new Item.Settings())); - - Registry.register(Registries.BLOCK, new Identifier(SparktInit.MODID, "machine_grinder"), MACHINE_GRINDER); - Registry.register(Registries.ITEM, new Identifier(SparktInit.MODID, "machine_grinder"), new BlockItem(MACHINE_GRINDER, new Item.Settings())); - } -}
\ No newline at end of file diff --git a/src/main/java/net/cshift/sparkt/block/DriverMechanical.java b/src/main/java/net/cshift/sparkt/block/DriverMechanical.java deleted file mode 100644 index a0f690e..0000000 --- a/src/main/java/net/cshift/sparkt/block/DriverMechanical.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.cshift.sparkt.block; - -public class DriverMechanical extends MachineBlock{ - - public DriverMechanical(Settings settings) { - super(settings); - } - -}
\ No newline at end of file diff --git a/src/main/java/net/cshift/sparkt/block/MachineBlock.java b/src/main/java/net/cshift/sparkt/block/MachineBlock.java deleted file mode 100644 index 875f295..0000000 --- a/src/main/java/net/cshift/sparkt/block/MachineBlock.java +++ /dev/null @@ -1,28 +0,0 @@ -package net.cshift.sparkt.block; - -import net.cshift.sparkt.block.entity.MachineNode; -import net.minecraft.block.BlockState; -import net.minecraft.block.BlockWithEntity; -import net.minecraft.block.entity.BlockEntity; -import net.minecraft.entity.LivingEntity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class MachineBlock extends BlockWithEntity { - - public MachineBlock(Settings settings) { - super(settings); - } - - @Override - public BlockEntity createBlockEntity(BlockPos var1, BlockState var2) { - return new MachineNode(var1, var2); - } - - @Override - public void onPlaced(World world, BlockPos pos, BlockState state, LivingEntity placer, ItemStack itemStack) { - super.onPlaced(world, pos, state, placer, itemStack); - } - -}
\ No newline at end of file diff --git a/src/main/java/net/cshift/sparkt/block/MachineFurnace.java b/src/main/java/net/cshift/sparkt/block/MachineFurnace.java deleted file mode 100644 index 2c815ce..0000000 --- a/src/main/java/net/cshift/sparkt/block/MachineFurnace.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.cshift.sparkt.block; - -public class MachineFurnace extends MachineBlock{ - - public MachineFurnace(Settings settings) { - super(settings); - } - -}
\ No newline at end of file diff --git a/src/main/java/net/cshift/sparkt/block/MachineGrinder.java b/src/main/java/net/cshift/sparkt/block/MachineGrinder.java deleted file mode 100644 index 890fa7e..0000000 --- a/src/main/java/net/cshift/sparkt/block/MachineGrinder.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.cshift.sparkt.block; - -public class MachineGrinder extends MachineBlock{ - - public MachineGrinder(Settings settings) { - super(settings); - } - -}
\ No newline at end of file diff --git a/src/main/java/net/cshift/sparkt/block/Wire.java b/src/main/java/net/cshift/sparkt/block/Wire.java deleted file mode 100644 index fa0da3d..0000000 --- a/src/main/java/net/cshift/sparkt/block/Wire.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.cshift.sparkt.block; - -import net.minecraft.block.Block; - -public class Wire extends Block{ - - public Wire(Settings settings) { - super(settings); - } - -}
\ No newline at end of file diff --git a/src/main/java/net/cshift/sparkt/block/entity/BlockEntityTypes.java b/src/main/java/net/cshift/sparkt/block/entity/BlockEntityTypes.java deleted file mode 100644 index f4b1379..0000000 --- a/src/main/java/net/cshift/sparkt/block/entity/BlockEntityTypes.java +++ /dev/null @@ -1,22 +0,0 @@ -package net.cshift.sparkt.block.entity; - -import net.cshift.sparkt.SparktInit; -import net.cshift.sparkt.block.Blocks; -import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder; -import net.minecraft.block.entity.BlockEntityType; -import net.minecraft.registry.Registries; -import net.minecraft.registry.Registry; -import net.minecraft.util.Identifier; - -public class BlockEntityTypes { - - public static BlockEntityType<MachineNode> MACHINE_NODE; - - public static void register() { - MACHINE_NODE = Registry.register( - Registries.BLOCK_ENTITY_TYPE, - new Identifier(SparktInit.MODID, "machine_block_entity"), - FabricBlockEntityTypeBuilder.<MachineNode>create(MachineNode::new, Blocks.MACHINE_BLOCK).build() - ); - } -} |