Skip to content

Commit 33ed6a8

Browse files
KaupenjoeKaupenjoe
authored andcommitted
update to 1.21.10
1 parent 86ec77a commit 33ed6a8

17 files changed

Lines changed: 86 additions & 43 deletions

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ plugins {
33
id 'eclipse'
44
id 'idea'
55
id 'maven-publish'
6-
id 'net.neoforged.moddev' version '2.0.88'
6+
id 'net.neoforged.moddev' version '2.0.113'
77
}
88

99
tasks.named('wrapper', Wrapper).configure {

gradle.properties

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@ org.gradle.configuration-cache=true
77

88
#read more on this at https://github.com/neoforged/ModDevGradle?tab=readme-ov-file#better-minecraft-parameter-names--javadoc-parchment
99
# you can also find the latest versions at: https://parchmentmc.org/docs/getting-started
10-
parchment_minecraft_version=1.21.5
11-
parchment_mappings_version=2025.04.19
10+
parchment_minecraft_version=1.21.9
11+
parchment_mappings_version=2025.10.05
1212
# Environment Properties
1313
# You can find the latest versions here: https://projects.neoforged.net/neoforged/neoforge
1414
# The Minecraft version must agree with the Neo version to get a valid artifact
15-
minecraft_version=1.21.6
15+
minecraft_version=1.21.10
1616
# The Minecraft version range can use any release version of Minecraft as bounds.
1717
# Snapshots, pre-releases, and release candidates are not guaranteed to sort properly
1818
# as they do not follow standard versioning conventions.
1919
minecraft_version_range=[1.21.5,1.22)
2020
# The Neo version must agree with the Minecraft version to get a valid artifact
21-
neo_version=21.6.5-beta
21+
neo_version=21.10.12-beta
2222
# The Neo version range can use any version of Neo as bounds
2323
neo_version_range=[21.6.5-beta,)
2424
# The loader version range can only use the major version of FML as bounds

src/main/java/net/kaupenjoe/tutorialmod/TutorialMod.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ public void onServerStarting(ServerStartingEvent event) {
116116
}
117117

118118
// You can use EventBusSubscriber to automatically register all static methods in the class annotated with @SubscribeEvent
119-
@EventBusSubscriber(modid = MOD_ID, bus = EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
119+
@EventBusSubscriber(modid = MOD_ID, value = Dist.CLIENT)
120120
public static class ClientModEvents {
121121
@SubscribeEvent
122122
public static void onClientSetup(FMLClientSetupEvent event) {

src/main/java/net/kaupenjoe/tutorialmod/block/ModBlocks.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public class ModBlocks {
6666
public static final DeferredBlock<PressurePlateBlock> BISMUTH_PRESSURE_PLATE = registerBlock("bismuth_pressure_plate",
6767
(properties) -> new PressurePlateBlock(BlockSetType.IRON, properties.strength(2f).requiresCorrectToolForDrops()));
6868
public static final DeferredBlock<ButtonBlock> BISMUTH_BUTTON = registerBlock("bismuth_button",
69-
(properties) -> new ButtonBlock(BlockSetType.IRON, 20, properties.strength(2f).requiresCorrectToolForDrops().noCollission()));
69+
(properties) -> new ButtonBlock(BlockSetType.IRON, 20, properties.strength(2f).requiresCorrectToolForDrops().noCollision()));
7070

7171
public static final DeferredBlock<FenceBlock> BISMUTH_FENCE = registerBlock("bismuth_fence",
7272
(properties) -> new FenceBlock(properties.strength(2f).requiresCorrectToolForDrops()));
@@ -146,7 +146,7 @@ public int getFireSpreadSpeed(BlockState state, BlockGetter level, BlockPos pos,
146146

147147
public static final DeferredBlock<Block> BLOODWOOD_SAPLING = registerBlock("bloodwood_sapling",
148148
(properties) -> new ModSaplingBlock(ModTreeGrowers.BLOODWOOD,
149-
properties.mapColor(MapColor.PLANT).noCollission().randomTicks().instabreak()
149+
properties.mapColor(MapColor.PLANT).noCollision().randomTicks().instabreak()
150150
.sound(SoundType.GRASS).pushReaction(PushReaction.DESTROY), () -> Blocks.NETHERRACK));
151151

152152

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package net.kaupenjoe.tutorialmod.block.entity.renderer;
2+
3+
import net.minecraft.client.renderer.blockentity.state.BlockEntityRenderState;
4+
import net.minecraft.client.renderer.item.ItemStackRenderState;
5+
import net.minecraft.core.BlockPos;
6+
import net.minecraft.world.level.Level;
7+
8+
public class PedestalBlockEntityRenderState extends BlockEntityRenderState {
9+
public BlockPos lightPosition;
10+
public Level blockEntityLevel;
11+
public float rotation;
12+
13+
final ItemStackRenderState itemStackRenderState = new ItemStackRenderState();
14+
}

src/main/java/net/kaupenjoe/tutorialmod/block/entity/renderer/PedestalBlockEntityRenderer.java

Lines changed: 37 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,36 +6,59 @@
66
import net.minecraft.client.Minecraft;
77
import net.minecraft.client.renderer.LightTexture;
88
import net.minecraft.client.renderer.MultiBufferSource;
9+
import net.minecraft.client.renderer.SubmitNodeCollector;
910
import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
1011
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
1112
import net.minecraft.client.renderer.entity.ItemRenderer;
13+
import net.minecraft.client.renderer.feature.ModelFeatureRenderer;
14+
import net.minecraft.client.renderer.item.ItemModelResolver;
15+
import net.minecraft.client.renderer.state.CameraRenderState;
1216
import net.minecraft.client.renderer.texture.OverlayTexture;
1317
import net.minecraft.core.BlockPos;
1418
import net.minecraft.world.item.ItemDisplayContext;
1519
import net.minecraft.world.item.ItemStack;
1620
import net.minecraft.world.level.Level;
1721
import net.minecraft.world.level.LightLayer;
1822
import net.minecraft.world.phys.Vec3;
23+
import org.jetbrains.annotations.Nullable;
24+
25+
public class PedestalBlockEntityRenderer implements BlockEntityRenderer<PedestalBlockEntity, PedestalBlockEntityRenderState> {
26+
private final ItemModelResolver itemModelResolver;
1927

20-
public class PedestalBlockEntityRenderer implements BlockEntityRenderer<PedestalBlockEntity> {
2128
public PedestalBlockEntityRenderer(BlockEntityRendererProvider.Context context) {
29+
itemModelResolver = context.itemModelResolver();
30+
}
2231

32+
@Override
33+
public PedestalBlockEntityRenderState createRenderState() {
34+
return new PedestalBlockEntityRenderState();
2335
}
2436

2537
@Override
26-
public void render(PedestalBlockEntity pBlockEntity, float pPartialTick, PoseStack pPoseStack,
27-
MultiBufferSource pBufferSource, int pPackedLight, int pPackedOverlay, Vec3 vec3) {
28-
ItemRenderer itemRenderer = Minecraft.getInstance().getItemRenderer();
29-
ItemStack stack = pBlockEntity.inventory.getStackInSlot(0);
30-
31-
pPoseStack.pushPose();
32-
pPoseStack.translate(0.5f, 1.15f, 0.5f);
33-
pPoseStack.scale(0.5f, 0.5f, 0.5f);
34-
pPoseStack.mulPose(Axis.YP.rotationDegrees(pBlockEntity.getRenderingRotation()));
35-
36-
itemRenderer.renderStatic(stack, ItemDisplayContext.FIXED, getLightLevel(pBlockEntity.getLevel(),
37-
pBlockEntity.getBlockPos()), OverlayTexture.NO_OVERLAY, pPoseStack, pBufferSource, pBlockEntity.getLevel(), 1);
38-
pPoseStack.popPose();
38+
public void extractRenderState(PedestalBlockEntity blockEntity, PedestalBlockEntityRenderState renderState, float partialTick,
39+
Vec3 cameraPosition, @Nullable ModelFeatureRenderer.CrumblingOverlay breakProgress) {
40+
BlockEntityRenderer.super.extractRenderState(blockEntity, renderState, partialTick, cameraPosition, breakProgress);
41+
42+
renderState.lightPosition = blockEntity.getBlockPos();
43+
renderState.blockEntityLevel = blockEntity.getLevel();
44+
renderState.rotation = blockEntity.getRenderingRotation();
45+
46+
itemModelResolver.updateForTopItem(renderState.itemStackRenderState,
47+
blockEntity.inventory.getStackInSlot(0), ItemDisplayContext.FIXED, blockEntity.getLevel(), null, 0);
48+
}
49+
50+
@Override
51+
public void submit(PedestalBlockEntityRenderState renderState, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, CameraRenderState cameraRenderState) {
52+
poseStack.pushPose();
53+
54+
poseStack.translate(0.5f, 1.15f, 0.5f);
55+
poseStack.scale(0.5f, 0.5f, 0.5f);
56+
poseStack.mulPose(Axis.YP.rotationDegrees(renderState.rotation));
57+
58+
renderState.itemStackRenderState.submit(poseStack, submitNodeCollector, getLightLevel(renderState.blockEntityLevel,
59+
renderState.lightPosition), OverlayTexture.NO_OVERLAY, 0);
60+
61+
poseStack.popPose();
3962
}
4063

4164
private int getLightLevel(Level level, BlockPos pos) {

src/main/java/net/kaupenjoe/tutorialmod/datagen/DataGenerators.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import java.util.List;
1616
import java.util.concurrent.CompletableFuture;
1717

18-
@EventBusSubscriber(modid = TutorialMod.MOD_ID, bus = EventBusSubscriber.Bus.MOD)
18+
@EventBusSubscriber(modid = TutorialMod.MOD_ID)
1919
public class DataGenerators {
2020
@SubscribeEvent
2121
public static void gatherClientData(GatherDataEvent.Client event) {

src/main/java/net/kaupenjoe/tutorialmod/entity/client/GeckoRenderer.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@
77
import net.kaupenjoe.tutorialmod.entity.custom.GeckoEntity;
88
import net.minecraft.Util;
99
import net.minecraft.client.renderer.MultiBufferSource;
10+
import net.minecraft.client.renderer.SubmitNodeCollector;
1011
import net.minecraft.client.renderer.entity.EntityRendererProvider;
1112
import net.minecraft.client.renderer.entity.MobRenderer;
13+
import net.minecraft.client.renderer.state.CameraRenderState;
1214
import net.minecraft.resources.ResourceLocation;
1315

1416
import java.util.Map;
@@ -36,14 +38,14 @@ public ResourceLocation getTextureLocation(GeckoRenderState entity) {
3638
}
3739

3840
@Override
39-
public void render(GeckoRenderState renderState, PoseStack poseStack, MultiBufferSource bufferSource, int packedLight) {
41+
public void submit(GeckoRenderState renderState, PoseStack poseStack, SubmitNodeCollector nodeCollector, CameraRenderState cameraRenderState) {
4042
if(renderState.isBaby) {
4143
poseStack.scale(0.45f, 0.45f, 0.45f);
4244
} else {
4345
poseStack.scale(1f, 1f, 1f);
4446
}
4547

46-
super.render(renderState, poseStack, bufferSource, packedLight);
48+
super.submit(renderState, poseStack, nodeCollector, cameraRenderState);
4749
}
4850

4951
@Override

src/main/java/net/kaupenjoe/tutorialmod/entity/client/TomahawkProjectileRenderer.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@
66
import net.kaupenjoe.tutorialmod.TutorialMod;
77
import net.kaupenjoe.tutorialmod.entity.custom.TomahawkProjectileEntity;
88
import net.minecraft.client.renderer.MultiBufferSource;
9+
import net.minecraft.client.renderer.SubmitNodeCollector;
910
import net.minecraft.client.renderer.entity.EntityRenderer;
1011
import net.minecraft.client.renderer.entity.EntityRendererProvider;
1112
import net.minecraft.client.renderer.entity.ItemRenderer;
1213
import net.minecraft.client.renderer.entity.state.EntityRenderState;
14+
import net.minecraft.client.renderer.state.CameraRenderState;
1315
import net.minecraft.client.renderer.texture.OverlayTexture;
1416
import net.minecraft.resources.ResourceLocation;
1517
import net.minecraft.util.Mth;
@@ -28,13 +30,13 @@ public EntityRenderState createRenderState() {
2830
}
2931

3032
@Override
31-
public void render(EntityRenderState state, PoseStack poseStack, MultiBufferSource buffer, int packedLight) {
32-
poseStack.pushPose();
33-
VertexConsumer vertexconsumer = ItemRenderer.getFoilBuffer(
34-
buffer, this.model.renderType(this.getTextureLocation()),false, false);
35-
this.model.renderToBuffer(poseStack, vertexconsumer, packedLight, OverlayTexture.NO_OVERLAY);
33+
public void submit(EntityRenderState renderState, PoseStack poseStack, SubmitNodeCollector nodeCollector, CameraRenderState cameraRenderState) {
34+
super.submit(renderState, poseStack, nodeCollector, cameraRenderState);
35+
// poseStack.pushPose();
36+
// VertexConsumer vertexconsumer = ItemRenderer.getFoilBuffer(
37+
// buffer, this.model.renderType(this.getTextureLocation()),false, false);
38+
// this.model.renderToBuffer(poseStack, vertexconsumer, packedLight, OverlayTexture.NO_OVERLAY);
3639
poseStack.popPose();
37-
super.render(state, poseStack, buffer, packedLight);
3840
}
3941

4042
public ResourceLocation getTextureLocation() {

src/main/java/net/kaupenjoe/tutorialmod/entity/custom/TomahawkProjectileEntity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ protected void onHitEntity(EntityHitResult result) {
4444
Entity entity = result.getEntity();
4545
entity.hurt(this.damageSources().thrown(this, this.getOwner()), 4);
4646

47-
if (!this.level().isClientSide) {
47+
if (!this.level().isClientSide()) {
4848
this.level().broadcastEntityEvent(this, (byte)3);
4949
this.discard();
5050
}

0 commit comments

Comments
 (0)