diff options
97 files changed, 1241 insertions, 234 deletions
diff --git a/.factorypath b/.factorypath new file mode 100644 index 0000000..27b79f6 --- /dev/null +++ b/.factorypath @@ -0,0 +1,12 @@ +<factorypath> + <factorypathentry kind="EXTJAR" id="/home/kyle/.gradle/caches/modules-2/files-2.1/io.github.llamalad7/mixinextras-fabric/0.4.1/8d1a9e96afb990367fa1f904d17580d164da72e3/mixinextras-fabric-0.4.1.jar" enabled="true" runInBatchMode="false"/> + <factorypathentry kind="EXTJAR" id="/home/kyle/.gradle/caches/modules-2/files-2.1/net.fabricmc/sponge-mixin/0.15.2+mixin.0.8.7/2af2f021d8e02a0220dc27a7a72b4666d66d44ca/sponge-mixin-0.15.2+mixin.0.8.7.jar" enabled="true" runInBatchMode="false"/> + <factorypathentry kind="EXTJAR" id="/home/kyle/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/9.6/aa205cf0a06dbd8e04ece91c0b37c3f5d567546a/asm-9.6.jar" enabled="true" runInBatchMode="false"/> + <factorypathentry kind="EXTJAR" id="/home/kyle/.gradle/caches/modules-2/files-2.1/net.fabricmc/mapping-io/0.2.1/2a1aeedce104191bbb9e39e26abfbfeaf9b0590b/mapping-io-0.2.1.jar" enabled="true" runInBatchMode="false"/> + <factorypathentry kind="EXTJAR" id="/home/kyle/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-commons/9.6/f1a9e5508eff490744144565c47326c8648be309/asm-commons-9.6.jar" enabled="true" runInBatchMode="false"/> + <factorypathentry kind="EXTJAR" id="/home/kyle/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-tree/9.6/c0cdda9d211e965d2a4448aa3fd86110f2f8c2de/asm-tree-9.6.jar" enabled="true" runInBatchMode="false"/> + <factorypathentry kind="EXTJAR" id="/home/kyle/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-analysis/9.6/9ce6c7b174bd997fc2552dff47964546bd7a5ec3/asm-analysis-9.6.jar" enabled="true" runInBatchMode="false"/> + <factorypathentry kind="EXTJAR" id="/home/kyle/.gradle/caches/modules-2/files-2.1/net.fabricmc/fabric-mixin-compile-extensions/0.6.0/6fda0c85c419f0a259da017a1424f27507eb30f0/fabric-mixin-compile-extensions-0.6.0.jar" enabled="true" runInBatchMode="false"/> + <factorypathentry kind="EXTJAR" id="/home/kyle/.gradle/caches/fabric-loom/1.21.1/net.fabricmc.yarn.1_21_1.1.21.1+build.3-v2/mappings.jar" enabled="true" runInBatchMode="false"/> + <factorypathentry kind="EXTJAR" id="/home/kyle/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-util/9.6/f77caf84eb93786a749b2baa40865b9613e3eaee/asm-util-9.6.jar" enabled="true" runInBatchMode="false"/> +</factorypath> diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..097f9f9 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,9 @@ +# +# https://help.github.com/articles/dealing-with-line-endings/ +# +# Linux start script should use lf +/gradlew text eol=lf + +# These are Windows script files and should use crlf +*.bat text eol=crlf + diff --git a/build.gradle b/build.gradle index 7ba8032..933883c 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '1.4-SNAPSHOT' + id 'fabric-loom' version '1.8-SNAPSHOT' id 'maven-publish' } @@ -16,9 +16,7 @@ repositories { // Loom adds the essential maven repositories to download Minecraft and libraries from automatically. // See https://docs.gradle.org/current/userguide/declaring_repositories.html // for more information about repositories. - maven { - url "https://git.cshift.net/api/packages/CircleShift/maven" - } + mavenLocal() } loom { @@ -42,12 +40,8 @@ dependencies { // Fabric API. This is technically optional, but you probably want it anyway. modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - // Uncomment the following line to enable the deprecated Fabric API modules. - // These are included in the Fabric API production distribution and allow you to update your mod to the latest modules at a later more convenient time. - - // modImplementation "net.fabricmc.fabric-api:fabric-api-deprecated:${project.fabric_version}" - - modImplementation "net.cshift.api:TransitAPI:3.0.0-alpha-2" + // Transit API + modImplementation "net.cshift.mc:transit-api:3.0.1-rc-1" } processResources { @@ -59,7 +53,7 @@ processResources { } tasks.withType(JavaCompile).configureEach { - it.options.release = 17 + it.options.release = 21 } java { @@ -68,8 +62,8 @@ java { // If you remove this line, sources will not be generated. withSourcesJar() - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 } jar { @@ -81,7 +75,8 @@ jar { // configure the maven publication publishing { publications { - mavenJava(MavenPublication) { + create("mavenJava", MavenPublication) { + artifactId = project.archives_base_name from components.java } } @@ -92,18 +87,5 @@ publishing { // Notice: This block does NOT have the same function as the block in the top level. // The repositories here will be used for publishing your artifact, not for // retrieving dependencies. - maven { - name = "CShift" - url = uri("https://git.cshift.net/api/packages/CircleShift/maven") - - credentials(HttpHeaderCredentials) { - name = "Authorization" - value = "token ${auth_token}" - } - - authentication { - header(HttpHeaderAuthentication) - } - } } } diff --git a/gradle.properties b/gradle.properties index 4ffe135..17a8bfc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,14 +4,14 @@ org.gradle.parallel=true # Fabric Properties # check these on https://fabricmc.net/develop -minecraft_version=1.20.2 -yarn_mappings=1.20.2+build.1 -loader_version=0.14.22 +minecraft_version=1.21.1 +yarn_mappings=1.21.1+build.3 +loader_version=0.16.2 # Mod Properties -mod_version=0.0.2 -maven_group=net.cshift +mod_version=0.0.3 +maven_group=net.cshift.mc archives_base_name=sparkt # Dependencies -fabric_version=0.89.1+1.20.2 +fabric_version=0.102.1+1.21.1 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar Binary files differindex 033e24c..a4b76b9 100644 --- a/gradle/wrapper/gradle-wrapper.jar +++ b/gradle/wrapper/gradle-wrapper.jar diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ac72c34..df97d72 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/src/client/java/net/cshift/mc/sparkt/SparktClientInit.java b/src/client/java/net/cshift/mc/sparkt/SparktClientInit.java new file mode 100644 index 0000000..deedebb --- /dev/null +++ b/src/client/java/net/cshift/mc/sparkt/SparktClientInit.java @@ -0,0 +1,31 @@ +package net.cshift.mc.sparkt; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import net.cshift.mc.sparkt.netcode.payload.DeliveryPayload; +import net.cshift.mc.sparkt.netcode.payload.ProgressPayload; +import net.cshift.mc.sparkt.netcode.payload.TransitPayload; +import net.fabricmc.api.ClientModInitializer; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; + +public class SparktClientInit implements ClientModInitializer { + + public static final Logger LOG = LogManager.getFormatterLogger("Sparkt/Client/Init"); + + @Override + public void onInitializeClient() { + LOG.info("Closely watching to see the warm glow"); + ClientPlayNetworking.registerGlobalReceiver(DeliveryPayload.ID, (payload, context) -> { + LOG.info("Got some weird delivery packet! " + payload.uuid()); + }); + + ClientPlayNetworking.registerGlobalReceiver(ProgressPayload.ID, (payload, context) -> { + LOG.info("Got some weird progress packet! " + payload.map()); + }); + + ClientPlayNetworking.registerGlobalReceiver(TransitPayload.ID, (payload, context) -> { + LOG.info("Got some weird transit packet!" + payload.uuid()); + }); + } +} 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() - ); - } -} diff --git a/src/main/resources/assets/sparkt/blockstates/driver_electric.json b/src/main/resources/assets/sparkt/blockstates/driver_electric.json new file mode 100644 index 0000000..1caa02d --- /dev/null +++ b/src/main/resources/assets/sparkt/blockstates/driver_electric.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=east,lit=false": { + "model": "sparkt:block/driver_electric", + "x": 90, + "y": 90 + }, + "facing=north,lit=false": { + "model": "sparkt:block/driver_electric", + "x": 90 + }, + "facing=south,lit=false": { + "model": "sparkt:block/driver_electric", + "x": 90, + "y": 180 + }, + "facing=west,lit=false": { + "model": "sparkt:block/driver_electric", + "x": 90, + "y": 270 + }, + "facing=up,lit=false": { + "model": "sparkt:block/driver_electric" + }, + "facing=down,lit=false": { + "model": "sparkt:block/driver_electric", + "x": 180 + } + } +} diff --git a/src/main/resources/assets/sparkt/blockstates/driver_mechanical.json b/src/main/resources/assets/sparkt/blockstates/driver_mechanical.json index f01b009..6b292df 100644 --- a/src/main/resources/assets/sparkt/blockstates/driver_mechanical.json +++ b/src/main/resources/assets/sparkt/blockstates/driver_mechanical.json @@ -1,5 +1,30 @@ { "variants": { - "": { "model": "sparkt:block/driver_mechanical" } + "facing=east,lit=false": { + "model": "sparkt:block/driver_mechanical", + "x": 90, + "y": 90 + }, + "facing=north,lit=false": { + "model": "sparkt:block/driver_mechanical", + "x": 90 + }, + "facing=south,lit=false": { + "model": "sparkt:block/driver_mechanical", + "x": 90, + "y": 180 + }, + "facing=west,lit=false": { + "model": "sparkt:block/driver_mechanical", + "x": 90, + "y": 270 + }, + "facing=up,lit=false": { + "model": "sparkt:block/driver_mechanical" + }, + "facing=down,lit=false": { + "model": "sparkt:block/driver_mechanical", + "x": 180 + } } -}
\ No newline at end of file +} diff --git a/src/main/resources/assets/sparkt/blockstates/machine_block.json b/src/main/resources/assets/sparkt/blockstates/machine_block.json deleted file mode 100644 index c58ab84..0000000 --- a/src/main/resources/assets/sparkt/blockstates/machine_block.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "": { "model": "sparkt:block/machine_block" } - } -}
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/blockstates/machine_frame.json b/src/main/resources/assets/sparkt/blockstates/machine_frame.json new file mode 100644 index 0000000..2e5c3e6 --- /dev/null +++ b/src/main/resources/assets/sparkt/blockstates/machine_frame.json @@ -0,0 +1,34 @@ +{ + "variants": { + "facing=east,lit=false": { + "model": "sparkt:block/machine_frame", + "y": 90 + }, + "facing=north,lit=false": { + "model": "sparkt:block/machine_frame" + }, + "facing=south,lit=false": { + "model": "sparkt:block/machine_frame", + "y": 180 + }, + "facing=west,lit=false": { + "model": "sparkt:block/machine_frame", + "y": 270 + }, + "facing=east,lit=true": { + "model": "sparkt:block/machine_frame", + "y": 90 + }, + "facing=north,lit=true": { + "model": "sparkt:block/machine_frame" + }, + "facing=south,lit=true": { + "model": "sparkt:block/machine_frame", + "y": 180 + }, + "facing=west,lit=true": { + "model": "sparkt:block/machine_frame", + "y": 270 + } + } +}
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/blockstates/machine_furnace.json b/src/main/resources/assets/sparkt/blockstates/machine_furnace.json index 2c115f2..7903eec 100644 --- a/src/main/resources/assets/sparkt/blockstates/machine_furnace.json +++ b/src/main/resources/assets/sparkt/blockstates/machine_furnace.json @@ -1,5 +1,34 @@ { - "variants": { - "": { "model": "sparkt:block/machine_furnace" } - } + "variants": { + "facing=east,lit=false": { + "model": "sparkt:block/machine_furnace", + "y": 90 + }, + "facing=north,lit=false": { + "model": "sparkt:block/machine_furnace" + }, + "facing=south,lit=false": { + "model": "sparkt:block/machine_furnace", + "y": 180 + }, + "facing=west,lit=false": { + "model": "sparkt:block/machine_furnace", + "y": 270 + }, + "facing=east,lit=true": { + "model": "sparkt:block/machine_furnace_on", + "y": 90 + }, + "facing=north,lit=true": { + "model": "sparkt:block/machine_furnace_on" + }, + "facing=south,lit=true": { + "model": "sparkt:block/machine_furnace_on", + "y": 180 + }, + "facing=west,lit=true": { + "model": "sparkt:block/machine_furnace_on", + "y": 270 + } + } }
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/blockstates/machine_grinder.json b/src/main/resources/assets/sparkt/blockstates/machine_grinder.json index 5e233bf..7a5a0ce 100644 --- a/src/main/resources/assets/sparkt/blockstates/machine_grinder.json +++ b/src/main/resources/assets/sparkt/blockstates/machine_grinder.json @@ -1,5 +1,34 @@ { - "variants": { - "": { "model": "sparkt:block/machine_grinder" } - } + "variants": { + "facing=east,lit=false": { + "model": "sparkt:block/machine_grinder", + "y": 90 + }, + "facing=north,lit=false": { + "model": "sparkt:block/machine_grinder" + }, + "facing=south,lit=false": { + "model": "sparkt:block/machine_grinder", + "y": 180 + }, + "facing=west,lit=false": { + "model": "sparkt:block/machine_grinder", + "y": 270 + }, + "facing=east,lit=true": { + "model": "sparkt:block/machine_grinder_on", + "y": 90 + }, + "facing=north,lit=true": { + "model": "sparkt:block/machine_grinder_on" + }, + "facing=south,lit=true": { + "model": "sparkt:block/machine_grinder_on", + "y": 180 + }, + "facing=west,lit=true": { + "model": "sparkt:block/machine_grinder_on", + "y": 270 + } + } }
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/blockstates/ore_deepslate_tungsten.json b/src/main/resources/assets/sparkt/blockstates/ore_deepslate_tungsten.json new file mode 100644 index 0000000..e109934 --- /dev/null +++ b/src/main/resources/assets/sparkt/blockstates/ore_deepslate_tungsten.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "sparkt:block/ore_deepslate_tungsten" + } + } + }
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/blockstates/ore_tungsten.json b/src/main/resources/assets/sparkt/blockstates/ore_tungsten.json new file mode 100644 index 0000000..909ba46 --- /dev/null +++ b/src/main/resources/assets/sparkt/blockstates/ore_tungsten.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "sparkt:block/ore_tungsten" + } + } + }
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/lang/en_us.json b/src/main/resources/assets/sparkt/lang/en_us.json index 28005eb..c826e94 100644 --- a/src/main/resources/assets/sparkt/lang/en_us.json +++ b/src/main/resources/assets/sparkt/lang/en_us.json @@ -1,8 +1,17 @@ { - "block.sparkt.machine_block": "Machine Block", + "block.sparkt.ore_tungsten": "Tungsten Ore", + "block.sparkt.ore_deepslate_tungsten": "Deepslate Tungsten Ore", + + "item.sparkt.raw_tungsten": "Raw Tungsten", + "item.sparkt.ingot_tungsten": "Tungsten Ingot", + + "block.sparkt.machine_frame": "Machine Frame", "block.sparkt.machine_furnace": "Electric Furnace", "block.sparkt.wire": "Wire", - "block.sparkt.machine_grinder": "Electric Crusher", + "block.sparkt.machine_grinder": "Electric Grinder", "block.sparkt.driver_mechanical": "Mechanical Driver", - "block.sparkt.driver_thermal": "Thermal Driver" + "block.sparkt.driver_electric": "Electric Driver", + "block.sparkt.driver_thermal": "Thermal Driver", + + "item.sparkt.heating_element": "Heating Element" }
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/models/block/driver.json b/src/main/resources/assets/sparkt/models/block/driver.json new file mode 100644 index 0000000..e6d5824 --- /dev/null +++ b/src/main/resources/assets/sparkt/models/block/driver.json @@ -0,0 +1,9 @@ +{ + "parent": "block/orientable_with_bottom", + "textures": { + "top": "sparkt:block/driver_top", + "side": "#side", + "front": "#side", + "bottom": "sparkt:block/machine_bottom" + } +}
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/models/block/driver_electric.json b/src/main/resources/assets/sparkt/models/block/driver_electric.json new file mode 100644 index 0000000..19647b7 --- /dev/null +++ b/src/main/resources/assets/sparkt/models/block/driver_electric.json @@ -0,0 +1,6 @@ +{ + "parent": "sparkt:block/driver", + "textures": { + "side": "sparkt:block/driver_electric_side" + } +}
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/models/block/driver_mechanical.json b/src/main/resources/assets/sparkt/models/block/driver_mechanical.json index f3bdf7b..fe7a3b4 100644 --- a/src/main/resources/assets/sparkt/models/block/driver_mechanical.json +++ b/src/main/resources/assets/sparkt/models/block/driver_mechanical.json @@ -1,9 +1,6 @@ { - "parent": "block/orientable_with_bottom", - "textures": { - "top": "sparkt:block/driver_top", - "side": "sparkt:block/driver_side", - "front": "sparkt:block/driver_side", - "bottom": "sparkt:block/machine_bottom" - } + "parent": "sparkt:block/driver", + "textures": { + "side": "sparkt:block/driver_mechanical_side" + } }
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/models/block/machine_block.json b/src/main/resources/assets/sparkt/models/block/machine_frame.json index 679b548..679b548 100644 --- a/src/main/resources/assets/sparkt/models/block/machine_block.json +++ b/src/main/resources/assets/sparkt/models/block/machine_frame.json diff --git a/src/main/resources/assets/sparkt/models/block/machine_furnace_on.json b/src/main/resources/assets/sparkt/models/block/machine_furnace_on.json new file mode 100644 index 0000000..f6d8c8d --- /dev/null +++ b/src/main/resources/assets/sparkt/models/block/machine_furnace_on.json @@ -0,0 +1,6 @@ +{ + "parent": "sparkt:block/machine", + "textures": { + "front": "sparkt:block/furnace_side_on" + } +}
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/models/block/machine_grinder_on.json b/src/main/resources/assets/sparkt/models/block/machine_grinder_on.json new file mode 100644 index 0000000..4f28e03 --- /dev/null +++ b/src/main/resources/assets/sparkt/models/block/machine_grinder_on.json @@ -0,0 +1,6 @@ +{ + "parent": "sparkt:block/machine", + "textures": { + "front": "sparkt:block/grinder_side_on" + } +}
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/models/block/ore_deepslate_tungsten.json b/src/main/resources/assets/sparkt/models/block/ore_deepslate_tungsten.json new file mode 100644 index 0000000..fd7b09a --- /dev/null +++ b/src/main/resources/assets/sparkt/models/block/ore_deepslate_tungsten.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "sparkt:block/ore_deepslate_tungsten" + } + }
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/models/block/ore_tungsten.json b/src/main/resources/assets/sparkt/models/block/ore_tungsten.json new file mode 100644 index 0000000..a2b4235 --- /dev/null +++ b/src/main/resources/assets/sparkt/models/block/ore_tungsten.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "sparkt:block/ore_tungsten" + } + }
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/models/item/driver_electric.json b/src/main/resources/assets/sparkt/models/item/driver_electric.json new file mode 100644 index 0000000..05a68ef --- /dev/null +++ b/src/main/resources/assets/sparkt/models/item/driver_electric.json @@ -0,0 +1,3 @@ +{ + "parent": "sparkt:block/driver_electric" +}
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/models/item/heating_element.json b/src/main/resources/assets/sparkt/models/item/heating_element.json new file mode 100644 index 0000000..25717f8 --- /dev/null +++ b/src/main/resources/assets/sparkt/models/item/heating_element.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "sparkt:item/heating_element" + } +}
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/models/item/ingot_tungsten.json b/src/main/resources/assets/sparkt/models/item/ingot_tungsten.json new file mode 100644 index 0000000..dfa78d8 --- /dev/null +++ b/src/main/resources/assets/sparkt/models/item/ingot_tungsten.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "sparkt:item/ingot_tungsten" + } +}
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/models/item/machine_block.json b/src/main/resources/assets/sparkt/models/item/machine_block.json deleted file mode 100644 index a405f71..0000000 --- a/src/main/resources/assets/sparkt/models/item/machine_block.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "sparkt:block/machine_block" -}
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/models/item/machine_frame.json b/src/main/resources/assets/sparkt/models/item/machine_frame.json new file mode 100644 index 0000000..29ae308 --- /dev/null +++ b/src/main/resources/assets/sparkt/models/item/machine_frame.json @@ -0,0 +1,3 @@ +{ + "parent": "sparkt:block/machine_frame" +}
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/models/item/ore_deepslate_tungsten.json b/src/main/resources/assets/sparkt/models/item/ore_deepslate_tungsten.json new file mode 100644 index 0000000..6694b29 --- /dev/null +++ b/src/main/resources/assets/sparkt/models/item/ore_deepslate_tungsten.json @@ -0,0 +1,3 @@ +{ + "parent": "sparkt:block/ore_deepslate_tungsten" +}
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/models/item/ore_tungsten.json b/src/main/resources/assets/sparkt/models/item/ore_tungsten.json new file mode 100644 index 0000000..5f60378 --- /dev/null +++ b/src/main/resources/assets/sparkt/models/item/ore_tungsten.json @@ -0,0 +1,3 @@ +{ + "parent": "sparkt:block/ore_tungsten" +}
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/models/item/raw_tungsten.json b/src/main/resources/assets/sparkt/models/item/raw_tungsten.json new file mode 100644 index 0000000..3afb8a7 --- /dev/null +++ b/src/main/resources/assets/sparkt/models/item/raw_tungsten.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "sparkt:item/raw_tungsten" + } +}
\ No newline at end of file diff --git a/src/main/resources/assets/sparkt/textures/block/driver_electric_side.png b/src/main/resources/assets/sparkt/textures/block/driver_electric_side.png Binary files differnew file mode 100644 index 0000000..f609606 --- /dev/null +++ b/src/main/resources/assets/sparkt/textures/block/driver_electric_side.png diff --git a/src/main/resources/assets/sparkt/textures/block/driver_mechanical_side.png b/src/main/resources/assets/sparkt/textures/block/driver_mechanical_side.png Binary files differnew file mode 100644 index 0000000..dbff087 --- /dev/null +++ b/src/main/resources/assets/sparkt/textures/block/driver_mechanical_side.png diff --git a/src/main/resources/assets/sparkt/textures/block/driver_side.png b/src/main/resources/assets/sparkt/textures/block/driver_side.png Binary files differdeleted file mode 100644 index 51d0c2c..0000000 --- a/src/main/resources/assets/sparkt/textures/block/driver_side.png +++ /dev/null diff --git a/src/main/resources/assets/sparkt/textures/block/driver_top.png b/src/main/resources/assets/sparkt/textures/block/driver_top.png Binary files differindex 2e85d33..37ea8f1 100644 --- a/src/main/resources/assets/sparkt/textures/block/driver_top.png +++ b/src/main/resources/assets/sparkt/textures/block/driver_top.png diff --git a/src/main/resources/assets/sparkt/textures/block/furnace_side.png b/src/main/resources/assets/sparkt/textures/block/furnace_side.png Binary files differindex e7ba9c2..8c95dee 100644 --- a/src/main/resources/assets/sparkt/textures/block/furnace_side.png +++ b/src/main/resources/assets/sparkt/textures/block/furnace_side.png diff --git a/src/main/resources/assets/sparkt/textures/block/furnace_side_on.png b/src/main/resources/assets/sparkt/textures/block/furnace_side_on.png Binary files differnew file mode 100644 index 0000000..6f6b483 --- /dev/null +++ b/src/main/resources/assets/sparkt/textures/block/furnace_side_on.png diff --git a/src/main/resources/assets/sparkt/textures/block/furnace_side_on.png.mcmeta b/src/main/resources/assets/sparkt/textures/block/furnace_side_on.png.mcmeta new file mode 100644 index 0000000..0645f48 --- /dev/null +++ b/src/main/resources/assets/sparkt/textures/block/furnace_side_on.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/sparkt/textures/block/grinder_side.png b/src/main/resources/assets/sparkt/textures/block/grinder_side.png Binary files differindex 1f384f8..536f5f2 100644 --- a/src/main/resources/assets/sparkt/textures/block/grinder_side.png +++ b/src/main/resources/assets/sparkt/textures/block/grinder_side.png diff --git a/src/main/resources/assets/sparkt/textures/block/grinder_side_on.png b/src/main/resources/assets/sparkt/textures/block/grinder_side_on.png Binary files differnew file mode 100644 index 0000000..d4559e7 --- /dev/null +++ b/src/main/resources/assets/sparkt/textures/block/grinder_side_on.png diff --git a/src/main/resources/assets/sparkt/textures/block/grinder_side_on.png.mcmeta b/src/main/resources/assets/sparkt/textures/block/grinder_side_on.png.mcmeta new file mode 100644 index 0000000..0645f48 --- /dev/null +++ b/src/main/resources/assets/sparkt/textures/block/grinder_side_on.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/sparkt/textures/block/machine_bottom.png b/src/main/resources/assets/sparkt/textures/block/machine_bottom.png Binary files differindex 48d3f40..35162e2 100644 --- a/src/main/resources/assets/sparkt/textures/block/machine_bottom.png +++ b/src/main/resources/assets/sparkt/textures/block/machine_bottom.png diff --git a/src/main/resources/assets/sparkt/textures/block/machine_side.png b/src/main/resources/assets/sparkt/textures/block/machine_side.png Binary files differindex 6e1fb14..cfd6382 100644 --- a/src/main/resources/assets/sparkt/textures/block/machine_side.png +++ b/src/main/resources/assets/sparkt/textures/block/machine_side.png diff --git a/src/main/resources/assets/sparkt/textures/block/machine_top.png b/src/main/resources/assets/sparkt/textures/block/machine_top.png Binary files differindex 7d4463f..3a165c0 100644 --- a/src/main/resources/assets/sparkt/textures/block/machine_top.png +++ b/src/main/resources/assets/sparkt/textures/block/machine_top.png diff --git a/src/main/resources/assets/sparkt/textures/block/ore_deepslate_tungsten.png b/src/main/resources/assets/sparkt/textures/block/ore_deepslate_tungsten.png Binary files differnew file mode 100644 index 0000000..04100ca --- /dev/null +++ b/src/main/resources/assets/sparkt/textures/block/ore_deepslate_tungsten.png diff --git a/src/main/resources/assets/sparkt/textures/block/ore_tungsten.png b/src/main/resources/assets/sparkt/textures/block/ore_tungsten.png Binary files differnew file mode 100644 index 0000000..c824085 --- /dev/null +++ b/src/main/resources/assets/sparkt/textures/block/ore_tungsten.png diff --git a/src/main/resources/assets/sparkt/textures/item/heating_element.png b/src/main/resources/assets/sparkt/textures/item/heating_element.png Binary files differnew file mode 100644 index 0000000..65e9f6f --- /dev/null +++ b/src/main/resources/assets/sparkt/textures/item/heating_element.png diff --git a/src/main/resources/assets/sparkt/textures/item/ingot_tungsten.png b/src/main/resources/assets/sparkt/textures/item/ingot_tungsten.png Binary files differnew file mode 100644 index 0000000..5d7bdae --- /dev/null +++ b/src/main/resources/assets/sparkt/textures/item/ingot_tungsten.png diff --git a/src/main/resources/assets/sparkt/textures/item/raw_tungsten.png b/src/main/resources/assets/sparkt/textures/item/raw_tungsten.png Binary files differnew file mode 100644 index 0000000..2a9ac6a --- /dev/null +++ b/src/main/resources/assets/sparkt/textures/item/raw_tungsten.png diff --git a/src/main/resources/data/minecraft/tags/block/mineable/pickaxe.json b/src/main/resources/data/minecraft/tags/block/mineable/pickaxe.json new file mode 100644 index 0000000..2eeba2f --- /dev/null +++ b/src/main/resources/data/minecraft/tags/block/mineable/pickaxe.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "sparkt:ore_tungsten", + "sparkt:ore_deepslate_tungsten" + ] +}
\ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/block/needs_iron_tool.json b/src/main/resources/data/minecraft/tags/block/needs_iron_tool.json new file mode 100644 index 0000000..2eeba2f --- /dev/null +++ b/src/main/resources/data/minecraft/tags/block/needs_iron_tool.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "sparkt:ore_tungsten", + "sparkt:ore_deepslate_tungsten" + ] +}
\ No newline at end of file diff --git a/src/main/resources/data/sparkt/loot_tables/block/machine_block.json b/src/main/resources/data/sparkt/loot_table/blocks/machine_frame.json index 5c6db56..10e03be 100644 --- a/src/main/resources/data/sparkt/loot_tables/block/machine_block.json +++ b/src/main/resources/data/sparkt/loot_table/blocks/machine_frame.json @@ -6,7 +6,7 @@ "entries": [ { "type": "minecraft:item", - "name": "sparkt:machine_block" + "name": "sparkt:machine_frame" } ], "conditions": [ diff --git a/src/main/resources/data/sparkt/loot_table/blocks/ore_deepslate_tungsten.json b/src/main/resources/data/sparkt/loot_table/blocks/ore_deepslate_tungsten.json new file mode 100644 index 0000000..4e2f050 --- /dev/null +++ b/src/main/resources/data/sparkt/loot_table/blocks/ore_deepslate_tungsten.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "sparkt:ore_deepslate_tungsten" + }, + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops", + "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "sparkt:raw_tungsten" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "sparkt:blocks/ore_deepslate_tungsten" + }
\ No newline at end of file diff --git a/src/main/resources/data/sparkt/loot_table/blocks/ore_tungsten.json b/src/main/resources/data/sparkt/loot_table/blocks/ore_tungsten.json new file mode 100644 index 0000000..0cff1a3 --- /dev/null +++ b/src/main/resources/data/sparkt/loot_table/blocks/ore_tungsten.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "sparkt:ore_tungsten" + }, + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops", + "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "sparkt:raw_tungsten" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "sparkt:blocks/ore_tungsten" + }
\ No newline at end of file diff --git a/src/main/resources/data/sparkt/recipe/heating_element.json b/src/main/resources/data/sparkt/recipe/heating_element.json new file mode 100644 index 0000000..c5ee59f --- /dev/null +++ b/src/main/resources/data/sparkt/recipe/heating_element.json @@ -0,0 +1,23 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " w ", + "wfw", + " c " + ], + "key": { + "w": { + "item": "sparkt:ingot_tungsten" + }, + "f": { + "item": "minecraft:iron_ingot" + }, + "c": { + "item": "minecraft:copper_ingot" + } + }, + "result": { + "id": "sparkt:heating_element", + "count": 3 + } +}
\ No newline at end of file diff --git a/src/main/resources/data/sparkt/recipe/ingot_tungsten_blast_ore.json b/src/main/resources/data/sparkt/recipe/ingot_tungsten_blast_ore.json new file mode 100644 index 0000000..c8b636c --- /dev/null +++ b/src/main/resources/data/sparkt/recipe/ingot_tungsten_blast_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "group": "ingot_tungsten", + "ingredient": { + "item": "sparkt:ore_tungsten" + }, + "result": { + "id": "sparkt:ingot_tungsten" + } + }
\ No newline at end of file diff --git a/src/main/resources/data/sparkt/recipe/ingot_tungsten_blast_ore_deepslate.json b/src/main/resources/data/sparkt/recipe/ingot_tungsten_blast_ore_deepslate.json new file mode 100644 index 0000000..24096f5 --- /dev/null +++ b/src/main/resources/data/sparkt/recipe/ingot_tungsten_blast_ore_deepslate.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "group": "ingot_tungsten", + "ingredient": { + "item": "sparkt:ore_deepslate_tungsten" + }, + "result": { + "id": "sparkt:ingot_tungsten" + } + }
\ No newline at end of file diff --git a/src/main/resources/data/sparkt/recipe/ingot_tungsten_blast_raw.json b/src/main/resources/data/sparkt/recipe/ingot_tungsten_blast_raw.json new file mode 100644 index 0000000..8758117 --- /dev/null +++ b/src/main/resources/data/sparkt/recipe/ingot_tungsten_blast_raw.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "group": "ingot_tungsten", + "ingredient": { + "item": "sparkt:raw_tungsten" + }, + "result": { + "id": "sparkt:ingot_tungsten" + } + }
\ No newline at end of file diff --git a/src/main/resources/data/sparkt/recipe/ingot_tungsten_smelt_ore.json b/src/main/resources/data/sparkt/recipe/ingot_tungsten_smelt_ore.json new file mode 100644 index 0000000..7c049cf --- /dev/null +++ b/src/main/resources/data/sparkt/recipe/ingot_tungsten_smelt_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "group": "ingot_tungsten", + "ingredient": { + "item": "sparkt:ore_tungsten" + }, + "result": { + "id": "sparkt:ingot_tungsten" + } + }
\ No newline at end of file diff --git a/src/main/resources/data/sparkt/recipe/ingot_tungsten_smelt_ore_deepslate.json b/src/main/resources/data/sparkt/recipe/ingot_tungsten_smelt_ore_deepslate.json new file mode 100644 index 0000000..7d8b984 --- /dev/null +++ b/src/main/resources/data/sparkt/recipe/ingot_tungsten_smelt_ore_deepslate.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "group": "ingot_tungsten", + "ingredient": { + "item": "sparkt:ore_deepslate_tungsten" + }, + "result": { + "id": "sparkt:ingot_tungsten" + } + }
\ No newline at end of file diff --git a/src/main/resources/data/sparkt/recipe/ingot_tungsten_smelt_raw.json b/src/main/resources/data/sparkt/recipe/ingot_tungsten_smelt_raw.json new file mode 100644 index 0000000..3ea83f6 --- /dev/null +++ b/src/main/resources/data/sparkt/recipe/ingot_tungsten_smelt_raw.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "group": "ingot_tungsten", + "ingredient": { + "item": "sparkt:raw_tungsten" + }, + "result": { + "id": "sparkt:ingot_tungsten" + } + }
\ No newline at end of file diff --git a/src/main/resources/data/sparkt/recipe/machine_frame.json b/src/main/resources/data/sparkt/recipe/machine_frame.json new file mode 100644 index 0000000..06d2760 --- /dev/null +++ b/src/main/resources/data/sparkt/recipe/machine_frame.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "isi", + "s s", + "isi" + ], + "key": { + "s": { + "item": "minecraft:smooth_stone" + }, + "i": { + "item": "minecraft:iron_ingot" + } + }, + "result": { + "id": "sparkt:machine_frame", + "count": 2 + } +}
\ No newline at end of file diff --git a/src/main/resources/data/sparkt/recipe/machine_furnace.json b/src/main/resources/data/sparkt/recipe/machine_furnace.json new file mode 100644 index 0000000..9ab9dc4 --- /dev/null +++ b/src/main/resources/data/sparkt/recipe/machine_furnace.json @@ -0,0 +1,26 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "rmr", + "hfh", + "rhr" + ], + "key": { + "r": { + "item": "minecraft:redstone" + }, + "m": { + "item": "sparkt:machine_frame" + }, + "h": { + "item": "sparkt:heating_element" + }, + "f": { + "item": "minecraft:furnace" + } + }, + "result": { + "id": "sparkt:machine_furnace", + "count": 1 + } +}
\ No newline at end of file diff --git a/src/main/resources/data/sparkt/recipe/machine_grinder.json b/src/main/resources/data/sparkt/recipe/machine_grinder.json new file mode 100644 index 0000000..37cee40 --- /dev/null +++ b/src/main/resources/data/sparkt/recipe/machine_grinder.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "rir", + "pmp", + "ccc" + ], + "key": { + "r": { + "item": "minecraft:redstone" + }, + "i": { + "item": "minecraft:iron_block" + }, + "p": { + "item": "minecraft:piston" + }, + "m": { + "item": "sparkt:machine_frame" + }, + "c": { + "item": "minecraft:copper_ingot" + } + }, + "result": { + "id": "sparkt:machine_grinder", + "count": 1 + } +}
\ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 69935ee..c90ca38 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -18,15 +18,18 @@ "environment": "*", "entrypoints": { "main": [ - "net.cshift.sparkt.SparktInit" + "net.cshift.mc.sparkt.SparktInit" + ], + "client": [ + "net.cshift.mc.sparkt.SparktClientInit" ] }, "depends": { - "fabricloader": ">=0.8.0", - "fabric": "*", - "minecraft": "1.20.x", + "fabricloader": ">=0.16.0", + "fabric-api-base": "*", + "minecraft": "1.21.x", - "transit-api": "=3.0.0-alpha-2" + "transit-api": "=3.0.1-rc-1" } } |