Update to 1.21.6

This commit is contained in:
Vos
2026-03-15 21:51:59 -05:00
parent 1f7b904c63
commit 883cabc35c
18 changed files with 127 additions and 145 deletions
@@ -14,24 +14,24 @@ import com.acethewildfire.acesbs.screen.custom.EntropicEntanglerScreen;
import com.acethewildfire.acesbs.screen.custom.EntropicEvisceratorScreen;
import com.acethewildfire.acesbs.screen.custom.EntropicStabilizerScreen;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
import net.fabricmc.fabric.api.client.particle.v1.ParticleFactoryRegistry;
import net.fabricmc.fabric.api.client.rendering.v1.BlockRenderLayerMap;
import net.fabricmc.fabric.api.client.rendering.v1.EntityModelLayerRegistry;
import net.fabricmc.fabric.api.client.rendering.v1.EntityRendererRegistry;
import net.minecraft.client.gui.screen.ingame.HandledScreens;
import net.minecraft.client.render.RenderLayer;
import net.minecraft.client.render.BlockRenderLayer;
import net.minecraft.client.render.entity.SkeletonEntityRenderer;
public class AcesBSClient implements ClientModInitializer {
@Override
public void onInitializeClient() {
BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.LEMONWOOD_DOOR, RenderLayer.getTranslucent());
BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.LEMONWOOD_TRAPDOOR, RenderLayer.getTranslucent());
BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.CRYSTAL_ENTROPY, RenderLayer.getTranslucent());
BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.CRYSTAL_ENTROPY_PANE, RenderLayer.getTranslucent());
BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.TOBACCO_CROP, RenderLayer.getCutout());
BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.LEMONWOOD_SAPLING, RenderLayer.getCutout());
BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.POTTED_LEMONWOOD_SAPLING, RenderLayer.getCutout());
BlockRenderLayerMap.putBlock(ModBlocks.LEMONWOOD_DOOR, BlockRenderLayer.TRANSLUCENT);
BlockRenderLayerMap.putBlock(ModBlocks.LEMONWOOD_TRAPDOOR, BlockRenderLayer.TRANSLUCENT);
BlockRenderLayerMap.putBlock(ModBlocks.CRYSTAL_ENTROPY, BlockRenderLayer.TRANSLUCENT);
BlockRenderLayerMap.putBlock(ModBlocks.CRYSTAL_ENTROPY_PANE, BlockRenderLayer.TRANSLUCENT);
BlockRenderLayerMap.putBlock(ModBlocks.TOBACCO_CROP, BlockRenderLayer.CUTOUT);
BlockRenderLayerMap.putBlock(ModBlocks.LEMONWOOD_SAPLING, BlockRenderLayer.CUTOUT);
BlockRenderLayerMap.putBlock(ModBlocks.POTTED_LEMONWOOD_SAPLING, BlockRenderLayer.CUTOUT);
EntityModelLayerRegistry.registerModelLayer(FrenModel.FREN, FrenModel::getTexturedModelData);
EntityRendererRegistry.register(ModEntities.FREN, FrenRenderer::new);
@@ -5,4 +5,6 @@ Bricked Up does not do anything
Wildfire Particles missing
Particles not on server???
Particles not on server???
Fren is broken
@@ -7,6 +7,8 @@ import net.minecraft.inventory.SidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.registry.RegistryWrapper;
import net.minecraft.storage.ReadView;
import net.minecraft.storage.WriteView;
import net.minecraft.util.collection.DefaultedList;
import net.minecraft.util.math.Direction;
import org.jetbrains.annotations.Nullable;
@@ -17,8 +19,8 @@ import java.util.List;
* A simple {@code SidedInventory} implementation with only default methods + an item list getter.
*
* <h2>Reading and writing to tags</h2>
* Use {@link Inventories#writeNbt(NbtCompound, DefaultedList, RegistryWrapper.WrapperLookup)} and
* {@link Inventories#readNbt(NbtCompound, DefaultedList, RegistryWrapper.WrapperLookup)}
* Use {@link Inventories#writeData(WriteView, DefaultedList)} and
* {@link Inventories#readData(ReadView, DefaultedList)}
* on {@linkplain #getItems() the item list}.
*
* License: <a href="https://creativecommons.org/publicdomain/zero/1.0/">CC0</a>
@@ -7,6 +7,8 @@ import net.minecraft.inventory.SidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.registry.RegistryWrapper;
import net.minecraft.storage.ReadView;
import net.minecraft.storage.WriteView;
import net.minecraft.util.collection.DefaultedList;
import net.minecraft.util.math.Direction;
import org.jetbrains.annotations.Nullable;
@@ -17,8 +19,8 @@ import java.util.List;
* A simple {@code SidedInventory} implementation with only default methods + an item list getter.
*
* <h2>Reading and writing to tags</h2>
* Use {@link Inventories#writeNbt(NbtCompound, DefaultedList, RegistryWrapper.WrapperLookup)} and
* {@link Inventories#readNbt(NbtCompound, DefaultedList, RegistryWrapper.WrapperLookup)}
* Use {@link Inventories#writeData(WriteView, DefaultedList)} and
* {@link Inventories#readData(ReadView, DefaultedList)}
* on {@linkplain #getItems() the item list}.
*
* License: <a href="https://creativecommons.org/publicdomain/zero/1.0/">CC0</a>
@@ -24,6 +24,8 @@ import net.minecraft.screen.PropertyDelegate;
import net.minecraft.screen.ScreenHandler;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.storage.ReadView;
import net.minecraft.storage.WriteView;
import net.minecraft.text.Text;
import net.minecraft.util.ItemScatterer;
import net.minecraft.util.collection.DefaultedList;
@@ -107,25 +109,23 @@ public class EntropicEntanglerEntity extends BlockEntity implements EntanglerInv
}
@Override
protected void writeNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) {
super.writeNbt(nbt, registryLookup);
Inventories.writeNbt(nbt, inventory, registryLookup);
nbt.putString("Facing", facing.getId());
// nbt.putInt("entangler.fuel_progress", fuel_progress);
// nbt.putInt("entangler.fuel_max_progress", fuel_max_progress);
nbt.putInt("entangler.entangle_progress", entangle_progress);
nbt.putInt("entangler.entangle_max_progress", entangle_max_progress);
protected void writeData(WriteView view) {
super.writeData(view);
Inventories.writeData(view, inventory);
view.putString("Facing", facing.getId());
view.putInt("entangler.entangle_progress", entangle_progress);
view.putInt("entangler.entangle_max_progress", entangle_max_progress);
}
@Override
protected void readNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) {
Inventories.readNbt(nbt, inventory, registryLookup);
this.facing = Direction.byId(nbt.getString("Facing").get());
protected void readData(ReadView view) {
Inventories.readData(view, inventory);
this.facing = Direction.byId(view.getString("Facing", "North"));
// this.fuel_progress = nbt.getInt("entangler.fuel_progress");
// this.fuel_max_progress = nbt.getInt("entangler.fuel_max_progress");
this.entangle_progress = nbt.getInt("entangler.entangle_progress").get();
this.entangle_max_progress = nbt.getInt("entangler.entangle_max_progress").get();
super.readNbt(nbt, registryLookup);
this.entangle_progress = view.getInt("entangler.entangle_progress", 0);
this.entangle_max_progress = view.getInt("entangler.entangle_max_progress", 0);
super.readData(view);
}
@Override
@@ -25,6 +25,8 @@ import net.minecraft.screen.PropertyDelegate;
import net.minecraft.screen.ScreenHandler;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.storage.ReadView;
import net.minecraft.storage.WriteView;
import net.minecraft.text.Text;
import net.minecraft.util.collection.DefaultedList;
import net.minecraft.util.math.BlockPos;
@@ -101,25 +103,26 @@ public class EntropicEvisceratorEntity extends BlockEntity implements Implemente
}
@Override
protected void writeNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) {
super.writeNbt(nbt, registryLookup);
Inventories.writeNbt(nbt, inventory, registryLookup);
nbt.putString("Facing", facing.getId());
nbt.putInt("eviscerator.fuel_progress", fuel_progress);
nbt.putInt("eviscerator.fuel_max_progress", fuel_max_progress);
nbt.putInt("eviscerator.eviscerate_progress", eviscerate_progress);
nbt.putInt("eviscerator.eviscerate_max_progress", eviscerate_max_progress);
protected void writeData(WriteView view) {
super.writeData(view);
Inventories.writeData(view, inventory);
view.putString("Facing", facing.getId());
view.putInt("eviscerator.fuel_progress", fuel_progress);
view.putInt("eviscerator.fuel_max_progress", fuel_max_progress);
view.putInt("eviscerator.eviscerate_progress", eviscerate_progress);
view.putInt("eviscerator.eviscerate_max_progress", eviscerate_max_progress);
}
@Override
protected void readNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) {
Inventories.readNbt(nbt, inventory, registryLookup);
this.facing = Direction.byId(nbt.getString("Facing").get());
this.fuel_progress = nbt.getInt("eviscerator.fuel_progress").get();
this.fuel_max_progress = nbt.getInt("eviscerator.fuel_max_progress").get();
this.eviscerate_progress = nbt.getInt("eviscerator.eviscerate_progress").get();
this.eviscerate_max_progress = nbt.getInt("eviscerator.eviscerate_max_progress").get();
super.readNbt(nbt, registryLookup);
protected void readData(ReadView view) {
Inventories.readData(view, inventory);
this.facing = Direction.byId(view.getString("Facing", "North"));
this.fuel_progress = view.getInt("eviscerator.fuel_progress", 0);
this.fuel_max_progress = view.getInt("eviscerator.fuel_max_progress", 0);
this.eviscerate_progress = view.getInt("eviscerator.eviscerate_progress", 0);
this.eviscerate_max_progress = view.getInt("eviscerator.eviscerate_max_progress", 0);
super.readData(view);
}
@Override
@@ -25,6 +25,8 @@ import net.minecraft.screen.PropertyDelegate;
import net.minecraft.screen.ScreenHandler;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.storage.ReadView;
import net.minecraft.storage.WriteView;
import net.minecraft.text.Text;
import net.minecraft.util.collection.DefaultedList;
import net.minecraft.util.math.BlockPos;
@@ -101,25 +103,25 @@ public class EntropicStabilizerEntity extends BlockEntity implements Implemented
}
@Override
protected void writeNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) {
super.writeNbt(nbt, registryLookup);
Inventories.writeNbt(nbt, inventory, registryLookup);
nbt.putString("Facing", facing.getId());
nbt.putInt("stabilizer.fuel_progress", fuel_progress);
nbt.putInt("stabilizer.fuel_max_progress", fuel_max_progress);
nbt.putInt("stabilizer.stabilize_progress", stabilize_progress);
nbt.putInt("stabilizer.stabilize_max_progress", stabilize_max_progress);
protected void writeData(WriteView view) {
super.writeData(view);
Inventories.writeData(view, inventory);
view.putString("Facing", facing.getId());
view.putInt("stabilizer.fuel_progress", fuel_progress);
view.putInt("stabilizer.fuel_max_progress", fuel_max_progress);
view.putInt("stabilizer.stabilize_progress", stabilize_progress);
view.putInt("stabilizer.stabilize_max_progress", stabilize_max_progress);
}
@Override
protected void readNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) {
Inventories.readNbt(nbt, inventory, registryLookup);
this.facing = Direction.byId(nbt.getString("Facing").get());
this.fuel_progress = nbt.getInt("stabilizer.fuel_progress").get();
this.fuel_max_progress = nbt.getInt("stabilizer.fuel_max_progress").get();
this.stabilize_progress = nbt.getInt("stabilizer.stabilize_progress").get();
this.stabilize_max_progress = nbt.getInt("stabilizer.stabilize_max_progress").get();
super.readNbt(nbt, registryLookup);
protected void readData(ReadView view) {
Inventories.readData(view, inventory);
this.facing = Direction.byId(view.getString("Facing", "North"));
this.fuel_progress = view.getInt("stabilizer.fuel_progress", 0);
this.fuel_max_progress = view.getInt("stabilizer.fuel_max_progress", 0);
this.stabilize_progress = view.getInt("stabilizer.stabilize_progress", 0);
this.stabilize_max_progress = view.getInt("stabilizer.stabilize_max_progress", 0);
super.readData(view);
}
@Override
@@ -16,7 +16,7 @@ public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider {
@Override
protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) {
getOrCreateTagBuilder(BlockTags.PICKAXE_MINEABLE)
valueLookupBuilder(BlockTags.PICKAXE_MINEABLE)
.add(ModBlocks.RAW_ENTROPY_BLOCK)
.add(ModBlocks.STABLE_ENTROPY_BLOCK)
.add(ModBlocks.RAW_ENDTROPY_BLOCK)
@@ -30,9 +30,9 @@ public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider {
.add(ModBlocks.ENTROPIC_STABILIZER)
.add(ModBlocks.ENTROPIC_EVISCERATOR)
.add(ModBlocks.ENTROPIC_ENTANGLER);
getOrCreateTagBuilder(BlockTags.NEEDS_IRON_TOOL)
valueLookupBuilder(BlockTags.NEEDS_IRON_TOOL)
.add(ModBlocks.INFERNAL_ASHES_ORE);
getOrCreateTagBuilder(BlockTags.NEEDS_DIAMOND_TOOL)
valueLookupBuilder(BlockTags.NEEDS_DIAMOND_TOOL)
.add(ModBlocks.ENTROPY_ORE)
.add(ModBlocks.DEEPSLATE_ENTROPY_ORE)
.add(ModBlocks.ENDTROPY_ORE)
@@ -45,26 +45,26 @@ public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider {
.add(ModBlocks.ENTROPIC_STABILIZER)
.add(ModBlocks.ENTROPIC_EVISCERATOR)
.add(ModBlocks.ENTROPIC_ENTANGLER);
getOrCreateTagBuilder(BlockTags.AXE_MINEABLE)
valueLookupBuilder(BlockTags.AXE_MINEABLE)
.add(ModBlocks.LEMONWOOD_PLANKS)
.add(ModBlocks.LEMONWOOD_WALL)
.add(ModBlocks.LEMONWOOD_FENCE)
.add(ModBlocks.LEMONWOOD_FENCE_GATE);
getOrCreateTagBuilder(BlockTags.SHOVEL_MINEABLE)
valueLookupBuilder(BlockTags.SHOVEL_MINEABLE)
.add(ModBlocks.INFERNAL_ASHES_BLOCK);
getOrCreateTagBuilder(BlockTags.WOODEN_FENCES)
valueLookupBuilder(BlockTags.WOODEN_FENCES)
.add(ModBlocks.LEMONWOOD_FENCE);
getOrCreateTagBuilder(BlockTags.FENCE_GATES)
valueLookupBuilder(BlockTags.FENCE_GATES)
.add(ModBlocks.LEMONWOOD_FENCE_GATE);
getOrCreateTagBuilder(BlockTags.WALLS)
valueLookupBuilder(BlockTags.WALLS)
.add(ModBlocks.LEMONWOOD_WALL);
getOrCreateTagBuilder(BlockTags.IMPERMEABLE)
valueLookupBuilder(BlockTags.IMPERMEABLE)
.add(ModBlocks.CRYSTAL_ENTROPY)
.add(ModBlocks.CRYSTAL_ENTROPY_PANE);
getOrCreateTagBuilder(ModTags.Blocks.NEEDS_PRISMA_STEEL_TOOL);
valueLookupBuilder(ModTags.Blocks.NEEDS_PRISMA_STEEL_TOOL);
// Currently Broken
// .addTag(BlockTags.NEEDS_IRON_TOOL);
getOrCreateTagBuilder(BlockTags.LOGS_THAT_BURN)
valueLookupBuilder(BlockTags.LOGS_THAT_BURN)
.add(ModBlocks.LEMONWOOD_LOG)
.add(ModBlocks.LEMONWOOD_WOOD)
.add(ModBlocks.STRIPPED_LEMONWOOD_LOG)
@@ -21,19 +21,19 @@ public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider {
@Override
protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) {
getOrCreateTagBuilder(ModTags.Items.ENTROPY_CONVERTABLE)
valueLookupBuilder(ModTags.Items.ENTROPY_CONVERTABLE)
.add(Items.APPLE);
getOrCreateTagBuilder(ModTags.Items.PRISMA_REPAIR)
valueLookupBuilder(ModTags.Items.PRISMA_REPAIR)
.add(PrismaSteelItems.PRISMA_STEEL);
getOrCreateTagBuilder(ModTags.Items.ASHEN_REPAIR)
valueLookupBuilder(ModTags.Items.ASHEN_REPAIR)
.add(AshenSteelItems.ASHEN_STEEL);
getOrCreateTagBuilder(ModTags.Items.WILDFIRE_REPAIR)
valueLookupBuilder(ModTags.Items.WILDFIRE_REPAIR)
.add(ModItems.INFERNAL_ASHES);
getOrCreateTagBuilder(ModTags.Items.PLATES_REPAIR)
valueLookupBuilder(ModTags.Items.PLATES_REPAIR)
.add(AshenSteelItems.ASHEN_STEEL);
getOrCreateTagBuilder(ModTags.Items.BERSERKERS_REPAIR)
valueLookupBuilder(ModTags.Items.BERSERKERS_REPAIR)
.add(Items.LEATHER);
getOrCreateTagBuilder(ModTags.Items.PRISMA_CONVERTABLE)
valueLookupBuilder(ModTags.Items.PRISMA_CONVERTABLE)
.add(Items.COAL)
.add(Items.RAW_COPPER)
.add(Items.RAW_IRON)
@@ -42,24 +42,24 @@ public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider {
.add(Items.LAPIS_LAZULI)
.add(Items.EMERALD)
.add(Items.DIAMOND);
getOrCreateTagBuilder(ItemTags.BOW_ENCHANTABLE)
valueLookupBuilder(ItemTags.BOW_ENCHANTABLE)
.add(ModItems.KAUPEN_BOW);
getOrCreateTagBuilder(ItemTags.SWORDS)
valueLookupBuilder(ItemTags.SWORDS)
.add(PrismaSteelItems.PRISMA_STEEL_SWORD)
.add(ModItems.THOT_BEGONE);
getOrCreateTagBuilder(ItemTags.AXES)
valueLookupBuilder(ItemTags.AXES)
.add(PrismaSteelItems.PRISMA_STEEL_AXE)
.add(AshenSteelItems.ASHEN_STEEL_AXE);
getOrCreateTagBuilder(ItemTags.PICKAXES)
valueLookupBuilder(ItemTags.PICKAXES)
.add(PrismaSteelItems.PRISMA_STEEL_PICKAXE)
.add(AshenSteelItems.ASHEN_STEEL_PICKAXE);
getOrCreateTagBuilder(ItemTags.SHOVELS)
valueLookupBuilder(ItemTags.SHOVELS)
.add(PrismaSteelItems.PRISMA_STEEL_SHOVEL)
.add(AshenSteelItems.ASHEN_STEEL_PICKAXE);
getOrCreateTagBuilder(ItemTags.HOES)
valueLookupBuilder(ItemTags.HOES)
.add(PrismaSteelItems.PRISMA_STEEL_HOE)
.add(AshenSteelItems.ASHEN_STEEL_HOE);
getOrCreateTagBuilder(ItemTags.TRIMMABLE_ARMOR)
valueLookupBuilder(ItemTags.TRIMMABLE_ARMOR)
.add(PrismaSteelItems.PRISMA_STEEL_HELMET)
.add(PrismaSteelItems.PRISMA_STEEL_CHESTPLATE)
.add(PrismaSteelItems.PRISMA_STEEL_LEGGINGS)
@@ -71,17 +71,17 @@ public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider {
.add(ModItems.BERSERKERS_PAULDRON)
.add(ModItems.WILDFIRE_BOOTS)
.add(ModItems.SOVS_PLATE_CARRIER);
getOrCreateTagBuilder(ItemTags.TRIM_MATERIALS)
valueLookupBuilder(ItemTags.TRIM_MATERIALS)
.add(PrismaSteelItems.PRISMA_STEEL)
.add(AshenSteelItems.ASHEN_STEEL);
getOrCreateTagBuilder(ItemTags.CREEPER_DROP_MUSIC_DISCS)
valueLookupBuilder(ItemTags.CREEPER_DROP_MUSIC_DISCS)
.add(ModItems.CRAB_RAVE_MUSIC_DISC);
getOrCreateTagBuilder(ItemTags.LOGS_THAT_BURN)
valueLookupBuilder(ItemTags.LOGS_THAT_BURN)
.add(ModBlocks.LEMONWOOD_LOG.asItem())
.add(ModBlocks.LEMONWOOD_WOOD.asItem())
.add(ModBlocks.STRIPPED_LEMONWOOD_LOG.asItem())
.add(ModBlocks.STRIPPED_LEMONWOOD_WOOD.asItem());
getOrCreateTagBuilder(ItemTags.PLANKS)
valueLookupBuilder(ItemTags.PLANKS)
.add(ModBlocks.LEMONWOOD_PLANKS.asItem());
}
}
@@ -150,7 +150,7 @@ public class ModModelProvider extends FabricModelProvider {
itemModelGenerator.output.accept(ModItems.WAND,
new ItemAsset(new ConditionItemModel.Unbaked(new HasComponentProperty(ModDataComponentTypes.COORDINATES, false),
unbakedUsedWand, unbakedWand),
new ItemAsset.Properties(false)).model());
new ItemAsset.Properties(false, false)).model());
// ItemModel.Unbaked unbakedCigarette = ItemModels.basic(itemModelGenerator.upload(ModItems.CIGARETTE, Models.GENERATED));
// ItemModel.Unbaked unbakedUsedCigarette = ItemModels.basic(itemModelGenerator.registerSubModel(ModItems.CIGARETTE, "_smoking", Models.GENERATED));
@@ -1,10 +1,7 @@
package com.acethewildfire.acesbs.entity.client;
// Save this class in your mod and generate all required imports
import net.minecraft.client.render.entity.animation.Animation;
import net.minecraft.client.render.entity.animation.AnimationHelper;
import net.minecraft.client.render.entity.animation.Keyframe;
import net.minecraft.client.render.entity.animation.Transformation;
import net.minecraft.client.render.entity.animation.*;
/**
* Made with Blockbench 5.0.4
@@ -12,7 +9,7 @@ import net.minecraft.client.render.entity.animation.Transformation;
* @author Author
*/
public class FrenAnimations {
public static final Animation ANIM_FREN_WALK = Animation.Builder.create(1.0025F).looping()
public static final AnimationDefinition ANIM_FREN_WALK = AnimationDefinition.Builder.create(1.0025F).looping()
.addBoneAnimation("head", new Transformation(Transformation.Targets.ROTATE,
new Keyframe(0.0F, AnimationHelper.createRotationalVector(0.0F, 0.0F, 0.0F), Transformation.Interpolations.LINEAR),
new Keyframe(0.25F, AnimationHelper.createRotationalVector(0.0F, 0.0F, 5.0F), Transformation.Interpolations.LINEAR),
@@ -50,7 +47,7 @@ public class FrenAnimations {
))
.build();
public static final Animation ANIM_FREN_IDLE = Animation.Builder.create(1.0F).looping()
public static final AnimationDefinition ANIM_FREN_IDLE = AnimationDefinition.Builder.create(1.0F).looping()
.addBoneAnimation("head", new Transformation(Transformation.Targets.ROTATE,
new Keyframe(0.0F, AnimationHelper.createRotationalVector(0.0F, 0.0F, 0.0F), Transformation.Interpolations.LINEAR),
new Keyframe(1.0F, AnimationHelper.createRotationalVector(0.0F, 0.0F, 0.0F), Transformation.Interpolations.LINEAR)
@@ -4,6 +4,7 @@ import com.acethewildfire.acesbs.AcesBS;
import com.acethewildfire.acesbs.entity.custom.FrenEntity;
import net.minecraft.client.model.*;
import net.minecraft.client.render.VertexConsumer;
import net.minecraft.client.render.entity.animation.Animation;
import net.minecraft.client.render.entity.model.EntityModel;
import net.minecraft.client.render.entity.model.EntityModelLayer;
import net.minecraft.client.util.math.MatrixStack;
@@ -20,6 +21,9 @@ public class FrenModel extends EntityModel<FrenState> {
private final ModelPart head;
private final ModelPart body;
private final Animation walking;
private final Animation idle;
public FrenModel(ModelPart root) {
super(root);
this.root = root.getChild("root");
@@ -29,6 +33,9 @@ public class FrenModel extends EntityModel<FrenState> {
this.leg1 = this.root.getChild("leg1");
this.head = this.root.getChild("head");
this.body = this.root.getChild("body");
this.walking = FrenAnimations.ANIM_FREN_WALK.createAnimation(root);
this.idle = FrenAnimations.ANIM_FREN_IDLE.createAnimation(root);
}
public static TexturedModelData getTexturedModelData() {
ModelData modelData = new ModelData();
@@ -64,8 +71,8 @@ public class FrenModel extends EntityModel<FrenState> {
super.setAngles(state);
this.setHeadAngles(state.relativeHeadYaw, state.pitch);
this.animateWalking(FrenAnimations.ANIM_FREN_WALK, state.limbSwingAnimationProgress, state.limbSwingAmplitude, 2f, 2.5f);
this.animate(state.idleAnimationState, FrenAnimations.ANIM_FREN_IDLE, state.age, 1f);
this.walking.applyWalking(state.limbSwingAnimationProgress, state.limbSwingAmplitude, 2f, 2.5f);
this.idle.apply(state.idleAnimationState, state.age, 1f);
}
private void setHeadAngles(float headYaw, float headPitch) {
@@ -1,35 +0,0 @@
package com.acethewildfire.acesbs.mixin;
import com.acethewildfire.acesbs.AcesBS;
import com.acethewildfire.acesbs.villager.ModVillagers;
import net.minecraft.entity.passive.VillagerEntity;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.village.VillagerData;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(VillagerEntity.class)
public abstract class VillagerFireMixin {
@Inject(method = "setVillagerData", at = @At("TAIL"))
private void applyBurningWizardFire(VillagerData villagerData, CallbackInfo ci) {
VillagerEntity villager = (VillagerEntity)(Object)this;
if (villagerData.profession().value() == ModVillagers.BURNING_WIZARD) {
NbtCompound nbt = new NbtCompound();
villager.writeNbt(nbt);
nbt.putBoolean("HasVisualFire", true);
villager.readNbt(nbt);
} else {
NbtCompound nbt = new NbtCompound();
villager.writeNbt(nbt);
nbt.putBoolean("HasVisualFire", false);
villager.readNbt(nbt);
}
}
}
@@ -2,6 +2,7 @@ package com.acethewildfire.acesbs.screen.custom;
import com.acethewildfire.acesbs.AcesBS;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.gl.RenderPipelines;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.ingame.HandledScreen;
import net.minecraft.client.render.GameRenderer;
@@ -30,7 +31,7 @@ public class EntropicEntanglerScreen extends HandledScreen<EntropicEntanglerScre
int x = (width - backgroundWidth) / 2;
int y = (height - backgroundHeight) / 2;
context.drawTexture(RenderLayer::getGuiTextured, GUI_TEXTURE, x, y, 0, 0, backgroundWidth, backgroundHeight, 256, 256);
context.drawTexture(RenderPipelines.GUI_TEXTURED, GUI_TEXTURE, x, y, 0, 0, backgroundWidth, backgroundHeight, 256, 256);
// renderProgressArrow(context, x, y);
renderEntangleProgress(context, x, y);
@@ -46,9 +47,9 @@ public class EntropicEntanglerScreen extends HandledScreen<EntropicEntanglerScre
private void renderEntangleProgress(DrawContext context, int x, int y) {
if(handler.isCrafting()) {
context.drawTexture(RenderLayer::getGuiTextured, ENTANGLE_LEFT_TEXTURE, x + 52, y + 25, 0, 0,
context.drawTexture(RenderPipelines.GUI_TEXTURED, ENTANGLE_LEFT_TEXTURE, x + 52, y + 25, 0, 0,
handler.getScaledEntangleProgress(), 9, 37, 9);
context.drawTexture(RenderLayer::getGuiTextured, ENTANGLE_RIGHT_TEXTURE, x + 89 + (37 - handler.getScaledEntangleProgress()), y + 52, (37 - handler.getScaledEntangleProgress()), 0,
context.drawTexture(RenderPipelines.GUI_TEXTURED, ENTANGLE_RIGHT_TEXTURE, x + 89 + (37 - handler.getScaledEntangleProgress()), y + 52, (37 - handler.getScaledEntangleProgress()), 0,
handler.getScaledEntangleProgress(), 9, 37, 9);
}
}
@@ -2,6 +2,7 @@ package com.acethewildfire.acesbs.screen.custom;
import com.acethewildfire.acesbs.AcesBS;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.gl.RenderPipelines;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.ingame.HandledScreen;
import net.minecraft.client.render.GameRenderer;
@@ -27,7 +28,7 @@ public class EntropicEvisceratorScreen extends HandledScreen<EntropicEviscerator
int x = (width - backgroundWidth) / 2;
int y = (height - backgroundHeight) / 2;
context.drawTexture(RenderLayer::getGuiTextured, GUI_TEXTURE, x, y, 0, 0, backgroundWidth, backgroundHeight, 256, 256);
context.drawTexture(RenderPipelines.GUI_TEXTURED, GUI_TEXTURE, x, y, 0, 0, backgroundWidth, backgroundHeight, 256, 256);
// renderProgressArrow(context, x, y);
renderEviscerateProgress(context, x, y);
@@ -43,7 +44,7 @@ public class EntropicEvisceratorScreen extends HandledScreen<EntropicEviscerator
private void renderEviscerateProgress(DrawContext context, int x, int y) {
if(handler.isCooking()) {
context.drawTexture(RenderLayer::getGuiTextured, EVISCERATE_TEXTURE, x + 80, y + 35, 0, 0,
context.drawTexture(RenderPipelines.GUI_TEXTURED, EVISCERATE_TEXTURE, x + 80, y + 35, 0, 0,
16, handler.getScaledEviscerateProgress(), 16, 16);
}
}
@@ -2,6 +2,7 @@ package com.acethewildfire.acesbs.screen.custom;
import com.acethewildfire.acesbs.AcesBS;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.gl.RenderPipelines;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.ingame.HandledScreen;
import net.minecraft.client.render.GameRenderer;
@@ -29,7 +30,7 @@ public class EntropicStabilizerScreen extends HandledScreen<EntropicStabilizerSc
int x = (width - backgroundWidth) / 2;
int y = (height - backgroundHeight) / 2;
context.drawTexture(RenderLayer::getGuiTextured, GUI_TEXTURE, x, y, 0, 0, backgroundWidth, backgroundHeight, 256, 256);
context.drawTexture(RenderPipelines.GUI_TEXTURED, GUI_TEXTURE, x, y, 0, 0, backgroundWidth, backgroundHeight, 256, 256);
renderProgressArrow(context, x, y);
renderStabilizeProgress(context, x, y);
@@ -38,14 +39,14 @@ public class EntropicStabilizerScreen extends HandledScreen<EntropicStabilizerSc
private void renderProgressArrow(DrawContext context, int x, int y) {
if(handler.isCrafting()) {
context.drawTexture(RenderLayer::getGuiTextured, ARROW_TEXTURE, x + 79, y + 35, 0, 0,
context.drawTexture(RenderPipelines.GUI_TEXTURED, ARROW_TEXTURE, x + 79, y + 35, 0, 0,
handler.getScaledArrowProgress(), 16, 24, 16);
}
}
private void renderStabilizeProgress(DrawContext context, int x, int y) {
if(handler.isCooking()) {
context.drawTexture(RenderLayer::getGuiTextured, STABILIZE_TEXTURE, x + 56, y + 35, 0, 0,
context.drawTexture(RenderPipelines.GUI_TEXTURED, STABILIZE_TEXTURE, x + 56, y + 35, 0, 0,
16, handler.getScaledEviscerateProgress(), 16, 16);
}
}
-1
View File
@@ -10,7 +10,6 @@
"ExampleMixin",
"LivingEntityMixin",
"PlayerEntityMixin",
"VillagerFireMixin"
],
"injectors": {
"defaultRequire": 1