Skip to content

Commit bdb8900

Browse files
committed
Updated to Create 6.0.1 and temporarily replaced CodeDrone's rendering with Flywheel's EntityRenderer
1 parent c9693a5 commit bdb8900

File tree

8 files changed

+95
-78
lines changed

8 files changed

+95
-78
lines changed

build.gradle

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -131,24 +131,26 @@ repositories {
131131
}
132132

133133
dependencies {
134-
modImplementation("com.simibubi.create:create-${minecraft_version}:${create_version}")
134+
modImplementation("com.simibubi.create:create-${minecraft_version}:${create_version}:all")
135135

136136
modImplementation("com.tterrag.registrate:Registrate:${registrate_version}")
137137

138-
modCompileOnly("dev.engine-room.flywheel:flywheel-forge-api-${flywheel_minecraft_version}:${flywheel_version}")
139-
modRuntimeOnly("dev.engine-room.flywheel:flywheel-forge-${flywheel_minecraft_version}:${flywheel_version}")
140-
modRuntimeOnly("dev.engine-room.vanillin:vanillin-forge-${flywheel_minecraft_version}:${flywheel_version}")
138+
implementation("io.github.llamalad7:mixinextras-forge:${mixin_extras_version}")
139+
140+
modCompileOnly("dev.engine-room.flywheel:flywheel-forge-api-${minecraft_version}:${flywheel_version}")
141+
modRuntimeOnly("dev.engine-room.flywheel:flywheel-forge-${minecraft_version}:${flywheel_version}")
142+
//modRuntimeOnly("dev.engine-room.vanillin:vanillin-forge-${minecraft_version}:${vanillin_version}")
141143

142144
modImplementation("net.createmod.ponder:Ponder-Forge-${minecraft_version}:${ponder_version}")
143145

144146
compileOnly(annotationProcessor("io.github.llamalad7:mixinextras-common:${mixin_extras_version}"))
145-
146-
// modCompileOnly("mezz.jei:jei-${jei_minecraft_version}-common-api:${jei_version}")
147-
// modCompileOnly("mezz.jei:jei-${jei_minecraft_version}-forge-api:${jei_version}")
148-
modImplementation("mezz.jei:jei-${jei_minecraft_version}-forge:${jei_version}")
149147

150-
modCompileOnly("top.theillusivec4.curios:curios-forge:${curios_version}+${curios_minecraft_version}:api")
151-
modRuntimeOnly("top.theillusivec4.curios:curios-forge:${curios_version}+${curios_minecraft_version}")
148+
// modCompileOnly("mezz.jei:jei-${minecraft_version}-common-api:${jei_version}")
149+
// modCompileOnly("mezz.jei:jei-${minecraft_version}-forge-api:${jei_version}")
150+
modImplementation("mezz.jei:jei-${minecraft_version}-forge:${jei_version}")
151+
152+
modCompileOnly("top.theillusivec4.curios:curios-forge:${curios_version}+${minecraft_version}:api")
153+
modRuntimeOnly("top.theillusivec4.curios:curios-forge:${curios_version}+${minecraft_version}")
152154

153155
// modImplementation("curse.maven:ic2-classic-242942:5555152")
154156
// modImplementation("curse.maven:druidcraft-340991:3101903")

gradle.properties

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,13 @@ parchment_version = 2023.09.03
1818
use_parchment = true
1919

2020
# dependency versions
21-
create_version = 6.0.0-5
21+
create_version = 6.0.1-23
2222
registrate_version = MC1.20-1.3.3
23-
flywheel_minecraft_version = 1.20.1
24-
flywheel_version = 1.0.0-beta-212
25-
jei_minecraft_version = 1.20.1
23+
flywheel_version = 1.0.1
24+
vanillin_version = 1.0.0-beta-217
2625
jei_version = 15.19.0.85
27-
curios_minecraft_version = 1.20.1
2826
curios_version = 5.3.1
29-
ponder_version = 1.0.34
27+
ponder_version = 1.0.39
3028
mixin_extras_version = 0.4.1
3129

3230
# mod options

src/main/java/com/workert/robotics/base/registries/BlockEntityRegistry.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import com.tterrag.registrate.util.entry.BlockEntityEntry;
66
import com.workert.robotics.Robotics;
77
import com.workert.robotics.content.computers.computer.ComputerBlockEntity;
8-
import com.workert.robotics.content.computers.computer.ComputerRenderer;
98
import com.workert.robotics.content.computers.ioblocks.redstonedetector.RedstoneDetectorBlockEntity;
109
import com.workert.robotics.content.computers.ioblocks.redstoneemitter.RedstoneEmitterBlockEntity;
1110
import com.workert.robotics.content.computers.ioblocks.redstonepulser.RedstonePulserBlockEntity;
@@ -24,9 +23,9 @@ public static void register() {
2423

2524
public static final BlockEntityEntry<ComputerBlockEntity> COMPUTER = Robotics.REGISTRATE
2625
.blockEntity("computer", ComputerBlockEntity::new)
27-
.visual(() -> SingleAxisRotatingVisual.of(AllPartialModels.COGWHEEL))
26+
.visual(() -> SingleAxisRotatingVisual.of(AllPartialModels.SHAFTLESS_COGWHEEL))
2827
.validBlock(BlockRegistry.COMPUTER)
29-
.renderer(() -> ComputerRenderer::new)
28+
//.renderer(() -> ComputerRenderer::new)
3029
.register();
3130

3231
public static final BlockEntityEntry<RedstoneDetectorBlockEntity> REDSTONE_DETECTOR = Robotics.REGISTRATE

src/main/java/com/workert/robotics/base/registries/EntityRegistry.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package com.workert.robotics.base.registries;
22

3+
import com.simibubi.create.foundation.data.CreateEntityBuilder;
34
import com.tterrag.registrate.util.entry.EntityEntry;
45
import com.workert.robotics.Robotics;
56
import com.workert.robotics.content.robotics.clockcopter.Clockcopter;
67
import com.workert.robotics.content.robotics.clockcopter.ClockcopterRenderer;
78
import com.workert.robotics.content.robotics.codedrone.CodeDrone;
89
import com.workert.robotics.content.robotics.codedrone.CodeDroneRenderer;
10+
import com.workert.robotics.content.robotics.codedrone.CodeDroneVisual;
911
import com.workert.robotics.content.robotics.flyingtoolbox.FlyingToolbox;
1012
import com.workert.robotics.content.robotics.flyingtoolbox.FlyingToolboxRenderer;
1113
import com.workert.robotics.content.utility.extendoboots.ExtendOBoots;
@@ -41,15 +43,16 @@ public static void register() {
4143
.renderer(() -> MinerRenderer::new)
4244
.register();
4345

44-
public static final EntityEntry<CodeDrone> CODE_DRONE = Robotics.REGISTRATE
45-
.entity("code_drone", CodeDrone::new, MobCategory.MISC)
46+
public static final EntityEntry<CodeDrone> CODE_DRONE = ((CreateEntityBuilder<CodeDrone, ?>) (Robotics.REGISTRATE
47+
.entity("code_drone", CodeDrone::new, MobCategory.MISC))
4648
.lang("Juan")
4749
.properties(properties -> properties.sized(1f, 0.4f))
4850
.attributes(() -> Mob.createMobAttributes()
4951
.add(Attributes.MOVEMENT_SPEED, 0.2F)
5052
.add(Attributes.MAX_HEALTH, 1.0D)
5153
.add(Attributes.FLYING_SPEED, 0.8F))
52-
.renderer(() -> CodeDroneRenderer::new)
54+
.renderer(() -> CodeDroneRenderer::new))
55+
.visual(() -> CodeDroneVisual::new, false)
5356
.register();
5457

5558
public static final EntityEntry<ExtendOBoots> EXTEND_O_BOOTS = Robotics.REGISTRATE

src/main/java/com/workert/robotics/content/robotics/codedrone/CodeDrone.java

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,8 @@
1616
import net.minecraft.world.item.Item;
1717
import net.minecraft.world.level.Level;
1818
import net.minecraftforge.common.world.ForgeChunkManager;
19-
import software.bernie.geckolib.core.animatable.GeoAnimatable;
20-
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
21-
import software.bernie.geckolib.core.animation.AnimatableManager;
22-
import software.bernie.geckolib.core.animation.AnimationController;
23-
import software.bernie.geckolib.core.animation.RawAnimation;
24-
import software.bernie.geckolib.core.object.PlayState;
25-
import software.bernie.geckolib.util.GeckoLibUtil;
2619

27-
public class CodeDrone extends AbstractRobotEntity implements FlyingAnimal, GeoAnimatable {
20+
public class CodeDrone extends AbstractRobotEntity implements FlyingAnimal {
2821
private final SimpleContainer inventory = new SimpleContainer(9);
2922

3023
public int last_chunk_x;
@@ -115,22 +108,4 @@ public boolean isProgrammable() {
115108
public SimpleContainer getInventory() {
116109
return this.inventory;
117110
}
118-
119-
@Override
120-
public void registerControllers(AnimatableManager.ControllerRegistrar registrar) {
121-
registrar.add(new AnimationController<>(this, "controller", 0, event -> {
122-
event.getController().setAnimation(RawAnimation.begin().thenLoop("animation.code_drone.idle"));
123-
return PlayState.CONTINUE;
124-
}));
125-
}
126-
127-
@Override
128-
public AnimatableInstanceCache getAnimatableInstanceCache() {
129-
return GeckoLibUtil.createInstanceCache(this);
130-
}
131-
132-
@Override
133-
public double getTick(Object object) {
134-
return 0;
135-
}
136111
}

src/main/java/com/workert/robotics/content/robotics/codedrone/CodeDroneModel.java

Lines changed: 0 additions & 25 deletions
This file was deleted.
Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
11
package com.workert.robotics.content.robotics.codedrone;
22

3-
import net.minecraft.client.renderer.entity.EntityRendererProvider.Context;
4-
import software.bernie.geckolib.renderer.GeoEntityRenderer;
3+
import net.minecraft.client.renderer.entity.EntityRenderer;
4+
import net.minecraft.client.renderer.entity.EntityRendererProvider;
5+
import net.minecraft.resources.ResourceLocation;
56

6-
public class CodeDroneRenderer extends GeoEntityRenderer<CodeDrone> {
7+
public class CodeDroneRenderer extends EntityRenderer<CodeDrone> {
78

8-
public CodeDroneRenderer(Context renderManager) {
9-
super(renderManager, new CodeDroneModel());
9+
public CodeDroneRenderer(EntityRendererProvider.Context context) {
10+
super(context);
11+
}
12+
13+
@Override
14+
public ResourceLocation getTextureLocation(CodeDrone codeDrone) {
15+
return null;
1016
}
1117
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
package com.workert.robotics.content.robotics.codedrone;
2+
3+
import com.simibubi.create.AllPartialModels;
4+
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
5+
import dev.engine_room.flywheel.lib.instance.InstanceTypes;
6+
import dev.engine_room.flywheel.lib.instance.TransformedInstance;
7+
import dev.engine_room.flywheel.lib.model.Models;
8+
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
9+
import dev.engine_room.flywheel.lib.visual.AbstractEntityVisual;
10+
import dev.engine_room.flywheel.lib.visual.SimpleDynamicVisual;
11+
import net.minecraft.util.Mth;
12+
import net.minecraft.world.phys.Vec3;
13+
14+
public class CodeDroneVisual extends AbstractEntityVisual<CodeDrone> implements SimpleDynamicVisual {
15+
public final TransformedInstance instance;
16+
17+
public CodeDroneVisual(VisualizationContext ctx, CodeDrone entity, float partialTick) {
18+
super(ctx, entity, partialTick);
19+
20+
PartialModel model = AllPartialModels.BLAZE_IDLE;
21+
22+
this.instance = this.instancerProvider().instancer(InstanceTypes.TRANSFORMED, Models.partial(model))
23+
.createInstance();
24+
25+
this.animate(partialTick);
26+
}
27+
28+
@Override
29+
public void beginFrame(Context ctx) {
30+
this.animate(ctx.partialTick());
31+
}
32+
33+
private void animate(float partialTick) {
34+
float yaw = Mth.lerp(partialTick, this.entity.yRotO, this.entity.getYRot());
35+
36+
Vec3 pos = CodeDroneVisual.this.entity.position();
37+
var renderOrigin = this.renderOrigin();
38+
var x = (float) (Mth.lerp(partialTick, this.entity.xo, pos.x) - renderOrigin.getX());
39+
var y = (float) (Mth.lerp(partialTick, this.entity.yo, pos.y) - renderOrigin.getY());
40+
var z = (float) (Mth.lerp(partialTick, this.entity.zo, pos.z) - renderOrigin.getZ());
41+
42+
long randomBits = (long) this.entity.getId() * 31L * 493286711L;
43+
randomBits = randomBits * randomBits * 4392167121L + randomBits * 98761L;
44+
float xNudge = (((float) (randomBits >> 16 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F;
45+
float yNudge = (((float) (randomBits >> 20 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F;
46+
float zNudge = (((float) (randomBits >> 24 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F;
47+
48+
this.instance.setIdentityTransform()
49+
.translate(x - 0.5 + xNudge, y + yNudge, z - 0.5 + zNudge)
50+
.rotateYCenteredDegrees(-yaw - 90)
51+
.light(this.computePackedLight(partialTick))
52+
.setChanged();
53+
}
54+
55+
@Override
56+
protected void _delete() {
57+
this.instance.delete();
58+
}
59+
}

0 commit comments

Comments
 (0)