Skip to content

Commit cd5bf45

Browse files
committed
Finish updating to 1.1.2+1.21.10
1 parent f1e0fae commit cd5bf45

File tree

9 files changed

+179
-106
lines changed

9 files changed

+179
-106
lines changed

build.gradle

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -79,14 +79,14 @@ dependencies {
7979
modImplementation "dev.isxander:yet-another-config-lib:3.8.0+1.21.9-fabric"
8080

8181

82-
modImplementation include('eu.pb4:factorytools:0.8.1+1.21.9')
83-
modImplementation 'eu.pb4:polymer-core:0.14.2+1.21.9'
84-
modImplementation ('eu.pb4:polymer-blocks:0.14.2+1.21.9')
85-
modImplementation 'eu.pb4:polymer-resource-pack:0.14.2+1.21.9'
86-
modImplementation ('eu.pb4:polymer-sound-patcher:0.14.2+1.21.9')
87-
modImplementation 'eu.pb4:polymer-resource-pack-extras:0.14.2+1.21.9'
88-
modImplementation ('eu.pb4:polymer-autohost:0.14.2+1.21.9')
89-
modImplementation 'eu.pb4:polymer-virtual-entity:0.14.2+1.21.9'
82+
modImplementation include('eu.pb4:factorytools:0.8.2+1.21.10')
83+
modImplementation 'eu.pb4:polymer-core:0.14.3+1.21.10'
84+
modImplementation ('eu.pb4:polymer-blocks:0.14.3+1.21.10')
85+
modImplementation 'eu.pb4:polymer-resource-pack:0.14.3+1.21.10'
86+
modImplementation ('eu.pb4:polymer-sound-patcher:0.14.3+1.21.10')
87+
modImplementation 'eu.pb4:polymer-resource-pack-extras:0.14.3+1.21.10'
88+
modImplementation ('eu.pb4:polymer-autohost:0.14.3+1.21.10')
89+
modImplementation 'eu.pb4:polymer-virtual-entity:0.14.3+1.21.10'
9090

9191

9292
include(implementation(annotationProcessor("com.github.bawnorton.mixinsquared:mixinsquared-fabric:0.3.3")))

src/main/java/eu/pb4/enderscapepatch/impl/block/BaseFactoryBlock.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,14 @@
2323

2424
public record BaseFactoryBlock(BlockState clientState, boolean tick, BiFunction<BlockState, BlockPos, BlockModel> modelFunction) implements FactoryBlock, PolymerTexturedBlock, BSMMParticleBlock {
2525
public static final BaseFactoryBlock BARRIER = new BaseFactoryBlock(Blocks.BARRIER. getDefaultState(), false, BlockStateModel::longRange);
26-
public static final BaseFactoryBlock TOP_TRAPDOOR = new BaseFactoryBlock(PolymerBlockResourceUtils.requestEmpty(BlockModelType.TOP_TRAPDOOR), false, BlockStateModel::longRange);
26+
public static final BaseFactoryBlock CAMPFIRE = new BaseFactoryBlock(PolymerBlockResourceUtils.requestEmpty(BlockModelType.CAMPFIRE), false, BlockStateModel::longRange);
27+
//public static final BaseFactoryBlock TOP_TRAPDOOR = new BaseFactoryBlock(PolymerBlockResourceUtils.requestEmpty(BlockModelType.TOP_TRAPDOOR), false, BlockStateModel::longRange);
2728
public static final BaseFactoryBlock VINE = new BaseFactoryBlock(PolymerBlockResourceUtils.requestEmpty(BlockModelType.VINES_BLOCK), false, BlockStateModel::longRange);
2829
public static final BaseFactoryBlock SAPLING = new BaseFactoryBlock(PolymerBlockResourceUtils.requestEmpty(BlockModelType.PLANT_BLOCK),false, BlockStateModel::midRange);
2930
public static final BaseFactoryBlock SAPLING_SHORT = new BaseFactoryBlock(PolymerBlockResourceUtils.requestEmpty(BlockModelType.PLANT_BLOCK),false, BlockStateModel::shortRange);
30-
public static final BaseFactoryBlock KELP = new BaseFactoryBlock(PolymerBlockResourceUtils.requestEmpty(BlockModelType.KELP_BLOCK),false, BlockStateModel::longRange);
31-
public static final BaseFactoryBlock TRIPWIRE = new BaseFactoryBlock(PolymerBlockResourceUtils.requestEmpty(BlockModelType.TRIPWIRE_BLOCK),false, BlockStateModel::longRange);
32-
public static final BaseFactoryBlock TRIPWIRE_FLAT = new BaseFactoryBlock(PolymerBlockResourceUtils.requestEmpty(BlockModelType.TRIPWIRE_BLOCK_FLAT),false, BlockStateModel::longRange);
31+
//public static final BaseFactoryBlock KELP = new BaseFactoryBlock(PolymerBlockResourceUtils.requestEmpty(BlockModelType.KELP_BLOCK),false, BlockStateModel::longRange);
32+
//public static final BaseFactoryBlock TRIPWIRE = new BaseFactoryBlock(PolymerBlockResourceUtils.requestEmpty(BlockModelType.TRIPWIRE_BLOCK),false, BlockStateModel::longRange);
33+
//public static final BaseFactoryBlock TRIPWIRE_FLAT = new BaseFactoryBlock(PolymerBlockResourceUtils.requestEmpty(BlockModelType.TRIPWIRE_BLOCK_FLAT),false, BlockStateModel::longRange);
3334

3435
@Override
3536
public BlockState getPolymerBlockState(BlockState state, PacketContext context) {
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
package eu.pb4.enderscapepatch.impl.block;
2+
3+
import eu.pb4.factorytools.api.block.FactoryBlock;
4+
import eu.pb4.factorytools.api.block.model.generic.BSMMParticleBlock;
5+
import eu.pb4.factorytools.api.block.model.generic.BlockStateModel;
6+
import eu.pb4.factorytools.api.virtualentity.BlockModel;
7+
import eu.pb4.polymer.blocks.api.BlockModelType;
8+
import eu.pb4.polymer.blocks.api.PolymerBlockResourceUtils;
9+
import eu.pb4.polymer.blocks.api.PolymerTexturedBlock;
10+
import eu.pb4.polymer.virtualentity.api.ElementHolder;
11+
import net.minecraft.block.BlockState;
12+
import net.minecraft.block.LanternBlock;
13+
import net.minecraft.item.ItemStack;
14+
import net.minecraft.server.network.ServerPlayerEntity;
15+
import net.minecraft.server.world.ServerWorld;
16+
import net.minecraft.util.Hand;
17+
import net.minecraft.util.Util;
18+
import net.minecraft.util.hit.BlockHitResult;
19+
import net.minecraft.util.math.BlockPos;
20+
import net.minecraft.util.math.Direction;
21+
import org.jetbrains.annotations.Nullable;
22+
import xyz.nucleoid.packettweaker.PacketContext;
23+
24+
import java.util.EnumMap;
25+
import java.util.function.BiFunction;
26+
27+
public record LanternFactoryBlock(boolean tick, BiFunction<BlockState, BlockPos, BlockModel> modelFunction) implements FactoryBlock, PolymerTexturedBlock, BSMMParticleBlock {
28+
public static final LanternFactoryBlock INSTANCE = new LanternFactoryBlock(false, BlockStateModel::longRange);
29+
30+
private static final BlockState REGULAR = PolymerBlockResourceUtils.requestEmpty(BlockModelType.LANTERN);
31+
private static final BlockState REGULAR_WATERLOGGED = PolymerBlockResourceUtils.requestEmpty(BlockModelType.LANTERN_WATERLOGGED);
32+
private static final BlockState HANGING = PolymerBlockResourceUtils.requestEmpty(BlockModelType.LANTERN_HANGING);
33+
private static final BlockState HANGING_WATERLOGGED = PolymerBlockResourceUtils.requestEmpty(BlockModelType.LANTERN_HANGING_WATERLOGGED);
34+
35+
@Override
36+
public BlockState getPolymerBlockState(BlockState state, PacketContext context) {
37+
return state.get(LanternBlock.HANGING)
38+
? (state.get(LanternBlock.WATERLOGGED) ? HANGING_WATERLOGGED : HANGING)
39+
: (state.get(LanternBlock.WATERLOGGED) ? REGULAR_WATERLOGGED : REGULAR);
40+
}
41+
42+
@Override
43+
public @Nullable ElementHolder createElementHolder(ServerWorld world, BlockPos pos, BlockState initialBlockState) {
44+
return this.modelFunction.apply(initialBlockState, pos);
45+
}
46+
47+
@Override
48+
public boolean tickElementHolder(ServerWorld world, BlockPos pos, BlockState initialBlockState) {
49+
return this.tick;
50+
}
51+
52+
public LanternFactoryBlock withModel(BiFunction<BlockState, BlockPos, BlockModel> modelFunction) {
53+
return new LanternFactoryBlock(this.tick, modelFunction);
54+
}
55+
56+
public LanternFactoryBlock withTick(boolean tick) {
57+
return new LanternFactoryBlock(tick, this.modelFunction);
58+
}
59+
60+
@Override
61+
public boolean isIgnoringBlockInteractionPlaySoundExceptedEntity(BlockState state, ServerPlayerEntity player, Hand hand, ItemStack stack, ServerWorld world, BlockHitResult blockHitResult) {
62+
return true;
63+
}
64+
}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
package eu.pb4.enderscapepatch.impl.block;
2+
3+
import eu.pb4.factorytools.api.block.FactoryBlock;
4+
import eu.pb4.factorytools.api.block.model.generic.BSMMParticleBlock;
5+
import eu.pb4.factorytools.api.block.model.generic.BlockStateModel;
6+
import eu.pb4.factorytools.api.virtualentity.BlockModel;
7+
import eu.pb4.polymer.blocks.api.BlockModelType;
8+
import eu.pb4.polymer.blocks.api.PolymerBlockResourceUtils;
9+
import eu.pb4.polymer.blocks.api.PolymerTexturedBlock;
10+
import eu.pb4.polymer.virtualentity.api.ElementHolder;
11+
import net.minecraft.block.BlockState;
12+
import net.minecraft.block.Blocks;
13+
import net.minecraft.block.ShelfBlock;
14+
import net.minecraft.item.ItemStack;
15+
import net.minecraft.server.network.ServerPlayerEntity;
16+
import net.minecraft.server.world.ServerWorld;
17+
import net.minecraft.util.Hand;
18+
import net.minecraft.util.Util;
19+
import net.minecraft.util.hit.BlockHitResult;
20+
import net.minecraft.util.math.BlockPos;
21+
import net.minecraft.util.math.Direction;
22+
import org.jetbrains.annotations.Nullable;
23+
import xyz.nucleoid.packettweaker.PacketContext;
24+
25+
import java.util.EnumMap;
26+
import java.util.function.BiFunction;
27+
28+
public record ShelfFactoryBlock(boolean tick, BiFunction<BlockState, BlockPos, BlockModel> modelFunction) implements FactoryBlock, PolymerTexturedBlock, BSMMParticleBlock {
29+
public static final ShelfFactoryBlock INSTANCE = new ShelfFactoryBlock(false, BlockStateModel::longRange);
30+
31+
private static final EnumMap<Direction, BlockState> SHELVES = Util.make(new EnumMap<>(Direction.class),
32+
x -> {
33+
for (var dir : Direction.Type.HORIZONTAL) {
34+
x.put(dir, PolymerBlockResourceUtils.requestEmpty(BlockModelType.getShelf(dir, false)));
35+
}
36+
});
37+
private static final EnumMap<Direction, BlockState> SHELVES_WATERLOGGED = Util.make(new EnumMap<>(Direction.class),
38+
x -> {
39+
for (var dir : Direction.Type.HORIZONTAL) {
40+
x.put(dir, PolymerBlockResourceUtils.requestEmpty(BlockModelType.getShelf(dir, true)));
41+
}
42+
});
43+
44+
@Override
45+
public BlockState getPolymerBlockState(BlockState state, PacketContext context) {
46+
return (state.get(ShelfBlock.WATERLOGGED) ? SHELVES_WATERLOGGED : SHELVES).get(state.get(ShelfBlock.FACING));
47+
}
48+
49+
@Override
50+
public @Nullable ElementHolder createElementHolder(ServerWorld world, BlockPos pos, BlockState initialBlockState) {
51+
return this.modelFunction.apply(initialBlockState, pos);
52+
}
53+
54+
@Override
55+
public boolean tickElementHolder(ServerWorld world, BlockPos pos, BlockState initialBlockState) {
56+
return this.tick;
57+
}
58+
59+
public ShelfFactoryBlock withModel(BiFunction<BlockState, BlockPos, BlockModel> modelFunction) {
60+
return new ShelfFactoryBlock(this.tick, modelFunction);
61+
}
62+
63+
public ShelfFactoryBlock withTick(boolean tick) {
64+
return new ShelfFactoryBlock(tick, this.modelFunction);
65+
}
66+
67+
@Override
68+
public boolean isIgnoringBlockInteractionPlaySoundExceptedEntity(BlockState state, ServerPlayerEntity player, Hand hand, ItemStack stack, ServerWorld world, BlockHitResult blockHitResult) {
69+
return true;
70+
}
71+
}

src/main/java/eu/pb4/enderscapepatch/impl/block/WaterloggableFactoryBlock.java

Lines changed: 0 additions & 73 deletions
This file was deleted.

src/main/java/eu/pb4/enderscapepatch/impl/entity/model/RustleModel.java

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import eu.pb4.factorytools.api.virtualentity.emuvanilla.EntityValueExtraction;
44
import eu.pb4.factorytools.api.virtualentity.emuvanilla.animation.Animation;
55
import eu.pb4.factorytools.api.virtualentity.emuvanilla.model.*;
6-
import eu.pb4.factorytools.api.virtualentity.emuvanilla.model.Dilation;
76
import net.bunten.enderscape.entity.rustle.Rustle;
87
import net.minecraft.util.math.MathHelper;
98

@@ -12,6 +11,7 @@ public class RustleModel extends EntityModel<Rustle> {
1211
private final ModelPart crossSpines;
1312
private final ModelPart middleSpines;
1413
private final ModelPart backSpines;
14+
private final ModelPart tail;
1515
private final ModelPart head;
1616
private final ModelPart rightAntenna;
1717
private final ModelPart leftAntenna;
@@ -24,6 +24,7 @@ public RustleModel(ModelPart root) {
2424
this.crossSpines = this.body.getChild("crossSpines");
2525
this.middleSpines = this.body.getChild("middleSpines");
2626
this.backSpines = this.body.getChild("backSpines");
27+
this.tail = this.body.getChild("tail");
2728
this.head = root.getChild("head");
2829
this.rightAntenna = this.head.getChild("rightAntenna");
2930
this.leftAntenna = this.head.getChild("leftAntenna");
@@ -32,17 +33,18 @@ public RustleModel(ModelPart root) {
3233
}
3334

3435
public static TexturedModelData createLayer() {
35-
ModelData meshdefinition = new ModelData();
36+
ModelData meshdefinition = new ModelData();
3637
ModelPartData partdefinition = meshdefinition.getRoot();
37-
ModelPartData body = partdefinition.addChild("body", ModelPartBuilder.create().uv(0, 0).cuboid(-4.0F, -2.5F, -5.0F, 8.0F, 5.0F, 10.0F, new Dilation(0.0F)), ModelTransform.origin(0.0F, 21.5F, 2.0F));
38-
ModelPartData crossSpines = body.addChild("crossSpines", ModelPartBuilder.create().uv(0, 27).cuboid(-7.0F, -2.5F, 0.0F, 14.0F, 5.0F, 0.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, -5.0F, 0.0F, 0.0F, 0.7854F, 0.0F));
39-
crossSpines.addChild("cube_r1", ModelPartBuilder.create().uv(0, 27).cuboid(-7.0F, -1.0F, 0.0F, 14.0F, 5.0F, 0.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, -1.5F, 0.0F, 0.0F, 1.5708F, 0.0F));
40-
body.addChild("middleSpines", ModelPartBuilder.create().uv(0, 20).cuboid(-7.0F, -4.0F, 0.0F, 14.0F, 7.0F, 0.0F, new Dilation(0.0F)), ModelTransform.origin(0.0F, -0.5F, -2.0F));
41-
body.addChild("backSpines", ModelPartBuilder.create().uv(0, 20).cuboid(-7.0F, -4.0F, 0.0F, 14.0F, 7.0F, 0.0F, new Dilation(0.0F)), ModelTransform.origin(0.0F, -0.5F, 3.0F));
42-
ModelPartData head = partdefinition.addChild("head", ModelPartBuilder.create().uv(26, 0).cuboid(-3.0F, -2.5F, -3.0F, 6.0F, 5.0F, 4.0F, new Dilation(0.0F)), ModelTransform.origin(0.0F, 21.5F, -4.0F));
43-
head.addChild("rightAntenna", ModelPartBuilder.create().uv(46, -7).cuboid(0.0F, -7.0F, -5.5F, 0.0F, 7.0F, 7.0F, new Dilation(0.0F)), ModelTransform.origin(-2.0F, -2.5F, -1.5F));
44-
head.addChild("leftAntenna", ModelPartBuilder.create().uv(46, -7).cuboid(0.0F, -7.0F, -5.5F, 0.0F, 7.0F, 7.0F, new Dilation(0.0F)), ModelTransform.origin(2.0F, -2.5F, -1.5F));
45-
head.addChild("frontSpines", ModelPartBuilder.create().uv(0, 15).cuboid(-7.0F, -2.0F, 0.0F, 14.0F, 5.0F, 0.0F, new Dilation(0.0F)), ModelTransform.origin(0.0F, -0.5F, -2.0F));
38+
ModelPartData body = partdefinition.addChild("body", ModelPartBuilder.create().uv(0, 0).cuboid(-4.0F, -5.0F, -3.0F, 8.0F, 5.0F, 10.0F, new Dilation(0.0F)), ModelTransform.origin(0.0F, 24.0F, 0.0F));
39+
ModelPartData crossSpines = body.addChild("crossSpines", ModelPartBuilder.create().uv(0, 27).cuboid(-7.0F, -5.0F, 0.25F, 14.0F, 5.0F, 0.0F, new Dilation(0.0F)), ModelTransform.origin(0.0F, -5.0F, 1.75F));
40+
crossSpines.addChild("cube_r1", ModelPartBuilder.create().uv(1, 27).cuboid(-6.0F, -1.0F, 0.0F, 13.0F, 5.0F, 0.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, -4.0F, 0.25F, 0.0F, 1.5708F, 0.0F));
41+
body.addChild("middleSpines", ModelPartBuilder.create().uv(0, 20).cuboid(-7.0F, -4.5F, 0.0F, 14.0F, 7.0F, 0.0F, new Dilation(0.0F)), ModelTransform.origin(0.0F, -2.5F, 0.0F));
42+
body.addChild("backSpines", ModelPartBuilder.create().uv(0, 20).mirrored().cuboid(-7.0F, -4.5F, 0.0F, 14.0F, 7.0F, 0.0F, new Dilation(0.0F)).mirrored(false), ModelTransform.origin(0.0F, -2.5F, 5.0F));
43+
body.addChild("tail", ModelPartBuilder.create().uv(36, 9).cuboid(-2.0F, -1.5F, 0.0F, 4.0F, 3.0F, 2.0F, new Dilation(0.0F)), ModelTransform.origin(0.0F, -1.5F, 7.0F));
44+
ModelPartData head = partdefinition.addChild("head", ModelPartBuilder.create().uv(26, 0).cuboid(-3.0F, -3.0F, -4.0F, 6.0F, 5.0F, 4.0F, new Dilation(0.0F)), ModelTransform.origin(0.0F, 22.0F, -3.0F));
45+
head.addChild("rightAntenna", ModelPartBuilder.create().uv(46, -7).cuboid(0.0F, -7.0F, -5.5F, 0.0F, 7.0F, 7.0F, new Dilation(0.0F)), ModelTransform.origin(-2.0F, -3.0F, -2.5F));
46+
head.addChild("leftAntenna", ModelPartBuilder.create().uv(46, -7).cuboid(0.0F, -7.0F, -5.5F, 0.0F, 7.0F, 7.0F, new Dilation(0.0F)), ModelTransform.origin(2.0F, -3.0F, -2.5F));
47+
head.addChild("frontSpines", ModelPartBuilder.create().uv(0, 15).cuboid(-7.0F, -2.0F, 0.0F, 14.0F, 5.0F, 0.0F, new Dilation(0.0F)), ModelTransform.origin(0.0F, -1.0F, -3.0F));
4648
return TexturedModelData.of(meshdefinition, 64, 32);
4749
}
4850

@@ -64,6 +66,7 @@ public void setAngles(Rustle state) {
6466
var10000.yaw += EntityValueExtraction.getRelativeHeadYaw(state) * 0.017453292F / 2.0F;
6567
this.head.roll = MathHelper.sin(age + animPos / 3.0F * 0.06F) * animSpeed * 0.5F;
6668
this.body.roll = MathHelper.sin(age + animPos / 3.0F * 0.03F) * animSpeed * 0.25F;
69+
this.tail.roll = MathHelper.sin(age + animPos / 3.0F * 0.06F) * animSpeed * 0.5F;
6770
this.frontSpines.yaw = MathHelper.sin(age + animPos / 3.0F * 0.1F) * animSpeed * 0.8F;
6871
this.middleSpines.yaw = MathHelper.sin(age + animPos / 3.0F * 0.1F + 1.5707964F) * animSpeed * 0.8F;
6972
this.backSpines.yaw = MathHelper.sin(age + animPos / 3.0F * 0.1F + 3.1415927F) * animSpeed * 0.8F;

0 commit comments

Comments
 (0)