From 2efbcdbd6b67800e48e143ff42727701b3c4c6ee Mon Sep 17 00:00:00 2001 From: Jozufozu Date: Thu, 9 Dec 2021 16:34:33 -0800 Subject: [PATCH] No more material spec, everything is StructType --- gradle.properties | 2 +- .../contraptions/base/flwdata/BeltType.java | 18 ++++++++--- .../base/flwdata/RotatingType.java | 18 ++++++++--- .../base/flwdata/UnsafeBeltWriter.java | 2 +- .../base/flwdata/UnsafeRotatingWriter.java | 2 +- .../base/flwdata/package-info.java | 6 ++++ .../components/actors/flwdata/ActorType.java | 18 ++++++++--- .../actors/flwdata/UnsafeActorWriter.java | 2 +- .../actors/flwdata/package-info.java | 6 ++++ .../glue/SuperGlueEntity.java | 32 ++++++------------- .../curiosities/toolbox/ToolboxInventory.java | 4 +-- .../logistics/block/flap/FlapType.java | 18 ++++++++--- .../block/flap/UnsafeFlapWriter.java | 2 +- .../logistics/block/flap/package-info.java | 6 ++++ .../foundation/render/AllMaterialSpecs.java | 18 +++++------ .../tileEntity/SmartTileEntity.java | 6 +--- 16 files changed, 96 insertions(+), 64 deletions(-) create mode 100644 src/main/java/com/simibubi/create/content/contraptions/base/flwdata/package-info.java create mode 100644 src/main/java/com/simibubi/create/content/contraptions/components/actors/flwdata/package-info.java create mode 100644 src/main/java/com/simibubi/create/content/logistics/block/flap/package-info.java diff --git a/gradle.properties b/gradle.properties index 8e6d96c94..dd0cb9ff4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -19,7 +19,7 @@ parchment_version = 2021.10.31 # dependency versions registrate_version = MC1.18-1.0.21 -flywheel_version = 1.18-0.4.0.9 +flywheel_version = 1.18-0.4.0.11 jei_version = 9.0.0.40 # curseforge information diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/BeltType.java b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/BeltType.java index 31454bf74..eaea40bac 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/BeltType.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/BeltType.java @@ -2,14 +2,17 @@ package com.simibubi.create.content.contraptions.base.flwdata; import com.jozufozu.flywheel.backend.gl.attrib.VertexFormat; import com.jozufozu.flywheel.backend.gl.buffer.VecBuffer; -import com.jozufozu.flywheel.backend.struct.Batched; -import com.jozufozu.flywheel.backend.struct.BatchingTransformer; -import com.jozufozu.flywheel.backend.struct.StructWriter; -import com.jozufozu.flywheel.backend.struct.Writeable; +import com.jozufozu.flywheel.api.struct.Batched; +import com.jozufozu.flywheel.api.struct.BatchingTransformer; +import com.jozufozu.flywheel.api.struct.StructWriter; +import com.jozufozu.flywheel.api.struct.Instanced; import com.jozufozu.flywheel.core.model.Model; import com.simibubi.create.foundation.render.AllInstanceFormats; +import com.simibubi.create.foundation.render.AllProgramSpecs; -public class BeltType implements Writeable, Batched { +import net.minecraft.resources.ResourceLocation; + +public class BeltType implements Instanced, Batched { @Override public BeltData create() { return new BeltData(); @@ -25,6 +28,11 @@ public class BeltType implements Writeable, Batched { return new UnsafeBeltWriter(backing, this); } + @Override + public ResourceLocation getProgramSpec() { + return AllProgramSpecs.BELT; + } + @Override public BatchingTransformer getTransformer(Model model) { return null; diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/RotatingType.java b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/RotatingType.java index 8ef3e4797..487bfe837 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/RotatingType.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/RotatingType.java @@ -2,14 +2,17 @@ package com.simibubi.create.content.contraptions.base.flwdata; import com.jozufozu.flywheel.backend.gl.attrib.VertexFormat; import com.jozufozu.flywheel.backend.gl.buffer.VecBuffer; -import com.jozufozu.flywheel.backend.struct.Batched; -import com.jozufozu.flywheel.backend.struct.BatchingTransformer; -import com.jozufozu.flywheel.backend.struct.StructWriter; -import com.jozufozu.flywheel.backend.struct.Writeable; +import com.jozufozu.flywheel.api.struct.Batched; +import com.jozufozu.flywheel.api.struct.BatchingTransformer; +import com.jozufozu.flywheel.api.struct.StructWriter; +import com.jozufozu.flywheel.api.struct.Instanced; import com.jozufozu.flywheel.core.model.Model; import com.simibubi.create.foundation.render.AllInstanceFormats; +import com.simibubi.create.foundation.render.AllProgramSpecs; -public class RotatingType implements Writeable, Batched { +import net.minecraft.resources.ResourceLocation; + +public class RotatingType implements Instanced, Batched { @Override public RotatingData create() { return new RotatingData(); @@ -25,6 +28,11 @@ public class RotatingType implements Writeable, Batched getTransformer(Model model) { return null; diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/UnsafeBeltWriter.java b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/UnsafeBeltWriter.java index 5774892d2..97010fb06 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/UnsafeBeltWriter.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/UnsafeBeltWriter.java @@ -3,7 +3,7 @@ package com.simibubi.create.content.contraptions.base.flwdata; import org.lwjgl.system.MemoryUtil; import com.jozufozu.flywheel.backend.gl.buffer.VecBuffer; -import com.jozufozu.flywheel.backend.struct.StructType; +import com.jozufozu.flywheel.api.struct.StructType; import com.jozufozu.flywheel.backend.struct.UnsafeBufferWriter; public class UnsafeBeltWriter extends UnsafeBufferWriter { diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/UnsafeRotatingWriter.java b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/UnsafeRotatingWriter.java index fbbc58c8c..f3fc54066 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/UnsafeRotatingWriter.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/UnsafeRotatingWriter.java @@ -3,7 +3,7 @@ package com.simibubi.create.content.contraptions.base.flwdata; import org.lwjgl.system.MemoryUtil; import com.jozufozu.flywheel.backend.gl.buffer.VecBuffer; -import com.jozufozu.flywheel.backend.struct.StructType; +import com.jozufozu.flywheel.api.struct.StructType; import com.jozufozu.flywheel.backend.struct.UnsafeBufferWriter; public class UnsafeRotatingWriter extends UnsafeBufferWriter { diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/package-info.java b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/package-info.java new file mode 100644 index 000000000..5eed85946 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/package-info.java @@ -0,0 +1,6 @@ +@ParametersAreNonnullByDefault @MethodsReturnNonnullByDefault +package com.simibubi.create.content.contraptions.base.flwdata; + +import javax.annotation.ParametersAreNonnullByDefault; + +import net.minecraft.MethodsReturnNonnullByDefault; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/flwdata/ActorType.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/flwdata/ActorType.java index 63dc68980..92124a615 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/flwdata/ActorType.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/flwdata/ActorType.java @@ -2,14 +2,17 @@ package com.simibubi.create.content.contraptions.components.actors.flwdata; import com.jozufozu.flywheel.backend.gl.attrib.VertexFormat; import com.jozufozu.flywheel.backend.gl.buffer.VecBuffer; -import com.jozufozu.flywheel.backend.struct.Batched; -import com.jozufozu.flywheel.backend.struct.BatchingTransformer; -import com.jozufozu.flywheel.backend.struct.StructWriter; -import com.jozufozu.flywheel.backend.struct.Writeable; +import com.jozufozu.flywheel.api.struct.Batched; +import com.jozufozu.flywheel.api.struct.BatchingTransformer; +import com.jozufozu.flywheel.api.struct.StructWriter; +import com.jozufozu.flywheel.api.struct.Instanced; import com.jozufozu.flywheel.core.model.Model; import com.simibubi.create.foundation.render.AllInstanceFormats; +import com.simibubi.create.foundation.render.AllProgramSpecs; -public class ActorType implements Writeable, Batched { +import net.minecraft.resources.ResourceLocation; + +public class ActorType implements Instanced, Batched { @Override public ActorData create() { return new ActorData(); @@ -25,6 +28,11 @@ public class ActorType implements Writeable, Batched { return new UnsafeActorWriter(backing, this); } + @Override + public ResourceLocation getProgramSpec() { + return AllProgramSpecs.ACTOR; + } + @Override public BatchingTransformer getTransformer(Model model) { return null; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/flwdata/UnsafeActorWriter.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/flwdata/UnsafeActorWriter.java index 08e700930..62457ba1a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/flwdata/UnsafeActorWriter.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/flwdata/UnsafeActorWriter.java @@ -3,7 +3,7 @@ package com.simibubi.create.content.contraptions.components.actors.flwdata; import org.lwjgl.system.MemoryUtil; import com.jozufozu.flywheel.backend.gl.buffer.VecBuffer; -import com.jozufozu.flywheel.backend.struct.StructType; +import com.jozufozu.flywheel.api.struct.StructType; import com.jozufozu.flywheel.backend.struct.UnsafeBufferWriter; public class UnsafeActorWriter extends UnsafeBufferWriter { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/flwdata/package-info.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/flwdata/package-info.java new file mode 100644 index 000000000..125403077 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/flwdata/package-info.java @@ -0,0 +1,6 @@ +@ParametersAreNonnullByDefault @MethodsReturnNonnullByDefault +package com.simibubi.create.content.contraptions.components.actors.flwdata; + +import javax.annotation.ParametersAreNonnullByDefault; + +import net.minecraft.MethodsReturnNonnullByDefault; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/glue/SuperGlueEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/glue/SuperGlueEntity.java index 199cae61f..fcf3a435d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/glue/SuperGlueEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/glue/SuperGlueEntity.java @@ -141,14 +141,9 @@ public class SuperGlueEntity extends Entity double depth = 2 - 1 / 128f; switch (axis) { - case X: - w = depth; - break; - case Y: - h = depth; - break; - case Z: - l = depth; + case X -> w = depth; + case Y -> h = depth; + case Z -> l = depth; } w = w / 32.0D; @@ -423,16 +418,12 @@ public class SuperGlueEntity extends Entity } float f = Mth.wrapDegrees(this.getYRot()); - switch (transformRotation) { - case CLOCKWISE_180: - return f + 180.0F; - case COUNTERCLOCKWISE_90: - return f + 90.0F; - case CLOCKWISE_90: - return f + 270.0F; - default: - return f; - } + return switch (transformRotation) { + case CLOCKWISE_180 -> f + 180.0F; + case COUNTERCLOCKWISE_90 -> f + 90.0F; + case CLOCKWISE_90 -> f + 270.0F; + default -> f; + }; } public BlockPos getHangingPosition() { @@ -490,9 +481,4 @@ public class SuperGlueEntity extends Entity public boolean isIgnoringBlockTriggers() { return true; } - - @Override - public Level getWorld() { - return level; - } } diff --git a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxInventory.java b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxInventory.java index 3dfb03a8b..b5c7e4674 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxInventory.java +++ b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxInventory.java @@ -98,7 +98,7 @@ public class ToolboxInventory extends ItemStackHandler { if (blockItem.getBlock() instanceof ShulkerBoxBlock) return false; } - + if (slot < 0 || slot >= getSlots()) return false; int compartment = slot / STACKS_PER_COMPARTMENT; @@ -144,7 +144,7 @@ public class ToolboxInventory extends ItemStackHandler { @Override protected void onContentsChanged(int slot) { - if (!settling && !te.getWorld().isClientSide) + if (!settling && !te.getLevel().isClientSide) settle(slot / STACKS_PER_COMPARTMENT); te.sendData(); super.onContentsChanged(slot); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/flap/FlapType.java b/src/main/java/com/simibubi/create/content/logistics/block/flap/FlapType.java index c565661f0..398edcc20 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/flap/FlapType.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/flap/FlapType.java @@ -2,14 +2,17 @@ package com.simibubi.create.content.logistics.block.flap; import com.jozufozu.flywheel.backend.gl.attrib.VertexFormat; import com.jozufozu.flywheel.backend.gl.buffer.VecBuffer; -import com.jozufozu.flywheel.backend.struct.Batched; -import com.jozufozu.flywheel.backend.struct.BatchingTransformer; -import com.jozufozu.flywheel.backend.struct.StructWriter; -import com.jozufozu.flywheel.backend.struct.Writeable; +import com.jozufozu.flywheel.api.struct.Batched; +import com.jozufozu.flywheel.api.struct.BatchingTransformer; +import com.jozufozu.flywheel.api.struct.StructWriter; +import com.jozufozu.flywheel.api.struct.Instanced; import com.jozufozu.flywheel.core.model.Model; import com.simibubi.create.foundation.render.AllInstanceFormats; +import com.simibubi.create.foundation.render.AllProgramSpecs; -public class FlapType implements Writeable, Batched { +import net.minecraft.resources.ResourceLocation; + +public class FlapType implements Instanced, Batched { @Override public FlapData create() { return new FlapData(); @@ -25,6 +28,11 @@ public class FlapType implements Writeable, Batched { return new UnsafeFlapWriter(backing, this); } + @Override + public ResourceLocation getProgramSpec() { + return AllProgramSpecs.FLAPS; + } + @Override public BatchingTransformer getTransformer(Model model) { return null; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/flap/UnsafeFlapWriter.java b/src/main/java/com/simibubi/create/content/logistics/block/flap/UnsafeFlapWriter.java index 5b1e22afd..258d5323e 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/flap/UnsafeFlapWriter.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/flap/UnsafeFlapWriter.java @@ -3,7 +3,7 @@ package com.simibubi.create.content.logistics.block.flap; import org.lwjgl.system.MemoryUtil; import com.jozufozu.flywheel.backend.gl.buffer.VecBuffer; -import com.jozufozu.flywheel.backend.struct.StructType; +import com.jozufozu.flywheel.api.struct.StructType; import com.jozufozu.flywheel.backend.struct.UnsafeBufferWriter; public class UnsafeFlapWriter extends UnsafeBufferWriter { diff --git a/src/main/java/com/simibubi/create/content/logistics/block/flap/package-info.java b/src/main/java/com/simibubi/create/content/logistics/block/flap/package-info.java new file mode 100644 index 000000000..2ec0735b8 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/logistics/block/flap/package-info.java @@ -0,0 +1,6 @@ +@ParametersAreNonnullByDefault @MethodsReturnNonnullByDefault +package com.simibubi.create.content.logistics.block.flap; + +import javax.annotation.ParametersAreNonnullByDefault; + +import net.minecraft.MethodsReturnNonnullByDefault; diff --git a/src/main/java/com/simibubi/create/foundation/render/AllMaterialSpecs.java b/src/main/java/com/simibubi/create/foundation/render/AllMaterialSpecs.java index e3a76ddb8..930193398 100644 --- a/src/main/java/com/simibubi/create/foundation/render/AllMaterialSpecs.java +++ b/src/main/java/com/simibubi/create/foundation/render/AllMaterialSpecs.java @@ -1,6 +1,6 @@ package com.simibubi.create.foundation.render; -import com.jozufozu.flywheel.api.MaterialSpec; +import com.jozufozu.flywheel.api.struct.StructType; import com.jozufozu.flywheel.event.GatherContextEvent; import com.simibubi.create.Create; import com.simibubi.create.content.contraptions.base.flwdata.BeltData; @@ -22,16 +22,16 @@ public class AllMaterialSpecs { // noop, make sure the static field are loaded. } - public static final MaterialSpec ROTATING = new MaterialSpec<>(Locations.ROTATING, AllProgramSpecs.ROTATING, new RotatingType()); - public static final MaterialSpec BELTS = new MaterialSpec<>(Locations.BELTS, AllProgramSpecs.BELT, new BeltType()); - public static final MaterialSpec ACTORS = new MaterialSpec<>(Locations.ACTORS, AllProgramSpecs.ACTOR, new ActorType()); - public static final MaterialSpec FLAPS = new MaterialSpec<>(Locations.FLAPS, AllProgramSpecs.FLAPS, new FlapType()); + public static final StructType ROTATING = new RotatingType(); + public static final StructType BELTS = new BeltType(); + public static final StructType ACTORS = new ActorType(); + public static final StructType FLAPS = new FlapType(); public static void flwInit(GatherContextEvent event) { - event.getBackend().register(ROTATING); - event.getBackend().register(BELTS); - event.getBackend().register(ACTORS); - event.getBackend().register(FLAPS); + event.getBackend().register(Locations.ROTATING, ROTATING); + event.getBackend().register(Locations.BELTS, BELTS); + event.getBackend().register(Locations.ACTORS, ACTORS); + event.getBackend().register(Locations.FLAPS, FLAPS); } public static class Locations { diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/SmartTileEntity.java b/src/main/java/com/simibubi/create/foundation/tileEntity/SmartTileEntity.java index 908b0d10e..fea1685d9 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/SmartTileEntity.java +++ b/src/main/java/com/simibubi/create/foundation/tileEntity/SmartTileEntity.java @@ -85,7 +85,7 @@ public abstract class SmartTileEntity extends SyncedTileEntity implements IParti behaviourList.forEach(TileEntityBehaviour::initialize); lazyTick(); } - + @Override public final void saveAdditional(CompoundTag compound) { write(compound, false); @@ -226,8 +226,4 @@ public abstract class SmartTileEntity extends SyncedTileEntity implements IParti public void refreshBlockState() { setBlockState(getLevel().getBlockState(getBlockPos())); } - - public Level getWorld() { - return getLevel(); - } }