Skip to content

Commit

Permalink
more wrok on analyzer
Browse files Browse the repository at this point in the history
  • Loading branch information
Thepigcat76 committed Dec 20, 2024
1 parent a762635 commit 08ec792
Show file tree
Hide file tree
Showing 38 changed files with 891 additions and 51 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.21.1 2024-12-16T16:09:32.176187626 Item Models: nautec
// 1.21.1 2024-12-18T15:31:36.54862117 Item Models: nautec
53692692f57914fc54eb6ebf416ce1cb7789e57b assets/nautec/models/item/air_bottle.json
cc6ee3887ec6e0c53216dc681ac7b32b34182253 assets/nautec/models/item/anchor.json
2e336fce57acffa1d0eb621baa30a26f665b4924 assets/nautec/models/item/aquarine_steel_axe.json
Expand All @@ -24,7 +24,7 @@ f60b23b8ca6d44e339c9c415f53102833b4ff633 assets/nautec/models/item/atlantic_gold
a95dff0d56139e74443ee5069394ccbe31bc875a assets/nautec/models/item/atlantic_gold_nugget.json
6338d151fe16332a6bd885776f58d9c9a4ffad62 assets/nautec/models/item/augmentation_station.json
f616877025b33a5d417689bd59cba3385b11e5c9 assets/nautec/models/item/augmentation_station_extension.json
77496bd37cb0cd85dfb77e146366322e44bfcd63 assets/nautec/models/item/bacterial_analyzer.json
8d57f0feda40d2aa883370a346a266cf9d149895 assets/nautec/models/item/bacterial_containment_shield.json
cd68bca3502f5a671aa5c4bbd828397047b19b8b assets/nautec/models/item/bio_reactor.json
b1e3c9080ae5a0f78b06fa90f3c5da5b3805f842 assets/nautec/models/item/broken_whisk.json
cf1524c962ddbbf1cb5e8782d764e71888a03eb1 assets/nautec/models/item/brown_polymer.json
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
// 1.21.1 2024-12-16T17:24:06.931934604 Block States: nautec
// 1.21.1 2024-12-18T15:54:48.056222408 Block States: nautec
3f3049296b6ec6590b05af441a717618bb232b69 assets/nautec/blockstates/aquarine_steel_block.json
414381329d7663eb1d1db8c3f42df8d9932d2cfe assets/nautec/blockstates/aquatic_catalyst.json
920d567f0ae8731bc428c8970aac5400741ea87d assets/nautec/blockstates/augmentation_station.json
e7796e8fce418c4dbe7aa3bb43424741ca161694 assets/nautec/blockstates/augmentation_station_extension.json
13de9de23d402708fc1201b11b07efb3bbcab7a1 assets/nautec/blockstates/augmentation_station_part.json
04f333842004de776dbf6785e490f29b29b160bc assets/nautec/blockstates/bacterial_analyzer.json
ce3bb14be3cdc0660b0783f7a3b137d1a4ed9844 assets/nautec/blockstates/bacterial_analyzer_top.json
0455aaf72b6e9f465b26bd889be0f1a90e5a78cd assets/nautec/blockstates/bacterial_containment_shield.json
f039da742f94682623b29fcdaff6724bdf3c82af assets/nautec/blockstates/bio_reactor.json
dfb8c1c3f9d27e155f65fb8bbb49239248175485 assets/nautec/blockstates/brown_polymer_block.json
95e42b0dd95027fc74e0ddf4cc4460e2d724ae2a assets/nautec/blockstates/charger.json
25d8fc96fc916e569c72c56d1f6a5faaab599b84 assets/nautec/blockstates/chiseled_dark_prismarine.json
Expand Down Expand Up @@ -33,6 +37,8 @@ e0c219d97f7659b22b353e5d09e49deaf601f473 assets/nautec/models/block/aquatic_cata
98354e0a660994d556449c5fc6782400d5d20c15 assets/nautec/models/block/augmentation_station.json
4cd777b593be834a619c30850292c016be6e7341 assets/nautec/models/block/augmentation_station_extension.json
4b041c67e6dfb342c778f9f65997ae038f7144c5 assets/nautec/models/block/augmentation_station_part_0.json
d574e320f67de42ee56fc0e8b90950471d8a4177 assets/nautec/models/block/bacterial_containment_shield.json
afad72d5fcb7e5ea6c9634fdea0701b01413d723 assets/nautec/models/block/bio_reactor.json
16146ea12fe66045ff8ed608419b4ee09bb3ce03 assets/nautec/models/block/brown_polymer_block.json
dbb2de853fc70f313a4493a20f1c81a7d477a132 assets/nautec/models/block/chiseled_dark_prismarine.json
af047960d1c2a98ff7e2daae55eec22f59ca111f assets/nautec/models/block/creative_power_source.json
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"variants": {
"facing=east": {
"model": "nautec:block/bacterial_analyzer",
"y": 90
},
"facing=north": {
"model": "nautec:block/bacterial_analyzer"
},
"facing=south": {
"model": "nautec:block/bacterial_analyzer",
"y": 180
},
"facing=west": {
"model": "nautec:block/bacterial_analyzer",
"y": 270
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"variants": {
"facing=east": {
"model": "nautec:block/bacterial_analyzer_top",
"y": 90
},
"facing=north": {
"model": "nautec:block/bacterial_analyzer_top"
},
"facing=south": {
"model": "nautec:block/bacterial_analyzer_top",
"y": 180
},
"facing=west": {
"model": "nautec:block/bacterial_analyzer_top",
"y": 270
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "nautec:block/bacterial_containment_shield"
}
}
}
19 changes: 19 additions & 0 deletions src/generated/resources/assets/nautec/blockstates/bio_reactor.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"variants": {
"facing=east": {
"model": "nautec:block/bio_reactor",
"y": 90
},
"facing=north": {
"model": "nautec:block/bio_reactor"
},
"facing=south": {
"model": "nautec:block/bio_reactor",
"y": 180
},
"facing=west": {
"model": "nautec:block/bio_reactor",
"y": 270
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "nautec:block/bacterial_containment_shield"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"parent": "minecraft:block/cube_top",
"textures": {
"side": "nautec:block/polished_prismarine",
"top": "nautec:block/bio_reactor_top"
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"parent": "nautec:block/bacterial_containment_shield"
}
23 changes: 2 additions & 21 deletions src/main/java/com/portingdeadmods/nautec/NautecClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,16 @@
import com.mojang.blaze3d.shaders.FogShape;
import com.mojang.blaze3d.systems.RenderSystem;
import com.portingdeadmods.nautec.api.bacteria.Bacteria;
import com.portingdeadmods.nautec.api.blockentities.ContainerBlockEntity;
import com.portingdeadmods.nautec.api.client.renderer.blockentities.LaserBlockEntityRenderer;
import com.portingdeadmods.nautec.api.client.renderer.items.AnchorItemRenderer;
import com.portingdeadmods.nautec.api.client.renderer.items.PrismarineCrystalItemRenderer;
import com.portingdeadmods.nautec.api.fluids.BaseFluidType;
import com.portingdeadmods.nautec.api.items.ICurioItem;
import com.portingdeadmods.nautec.api.items.IFluidItem;
import com.portingdeadmods.nautec.api.items.IPowerItem;
import com.portingdeadmods.nautec.capabilities.NTCapabilities;
import com.portingdeadmods.nautec.capabilities.power.ItemPowerWrapper;
import com.portingdeadmods.nautec.client.hud.DivingSuitOverlay;
import com.portingdeadmods.nautec.client.hud.PrismMonocleOverlay;
import com.portingdeadmods.nautec.client.model.augment.DolphinFinModel;
import com.portingdeadmods.nautec.client.model.augment.GuardianEyeModel;
import com.portingdeadmods.nautec.client.model.block.*;
import com.portingdeadmods.nautec.client.renderer.blockentities.BacterialAnalyzerBERenderer;
import com.portingdeadmods.nautec.client.renderer.augments.GuardianEyeRenderer;
import com.portingdeadmods.nautec.client.renderer.augments.SimpleAugmentRenderer;
import com.portingdeadmods.nautec.client.renderer.blockentities.*;
Expand All @@ -38,27 +33,17 @@
import net.minecraft.client.renderer.FogRenderer;
import net.minecraft.client.renderer.entity.ThrownTridentRenderer;
import net.minecraft.client.renderer.item.ItemProperties;
import net.minecraft.core.BlockPos;
import net.minecraft.core.HolderLookup;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.packs.resources.ResourceManagerReloadListener;
import net.minecraft.util.FastColor;
import net.minecraft.world.entity.EquipmentSlot;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.neoforged.api.distmarker.Dist;
import net.neoforged.bus.api.IEventBus;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.ModContainer;
import net.neoforged.fml.common.Mod;
import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
import net.neoforged.neoforge.capabilities.Capabilities;
import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent;
import net.neoforged.neoforge.client.event.*;
import net.neoforged.neoforge.client.extensions.common.IClientFluidTypeExtensions;
import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions;
Expand All @@ -67,16 +52,11 @@
import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
import net.neoforged.neoforge.client.model.DynamicFluidContainerModel;
import net.neoforged.neoforge.fluids.FluidType;
import net.neoforged.neoforge.fluids.capability.templates.FluidHandlerItemStack;
import net.neoforged.neoforge.registries.DeferredHolder;
import net.neoforged.neoforge.registries.NeoForgeRegistries;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.joml.Vector3f;
import org.joml.Vector4i;
import top.theillusivec4.curios.api.CuriosCapability;
import top.theillusivec4.curios.api.SlotContext;
import top.theillusivec4.curios.api.type.capability.ICurio;

@Mod(value = NautecClient.MODID, dist = Dist.CLIENT)
public final class NautecClient {
Expand Down Expand Up @@ -181,6 +161,7 @@ private void registerBERenderers(EntityRenderersEvent.RegisterRenderers event) {
event.registerBlockEntityRenderer(NTBlockEntityTypes.DRAIN_PART.get(), DrainBERenderer::new);
event.registerBlockEntityRenderer(NTBlockEntityTypes.AUGMENTATION_STATION_EXTENSION.get(), AugmentStationExtensionBERenderer::new);
event.registerBlockEntityRenderer(NTBlockEntityTypes.ANCHOR.get(), AnchorBERenderer::new);
event.registerBlockEntityRenderer(NTBlockEntityTypes.BACTERIAL_ANALYZER.get(), BacterialAnalyzerBERenderer::new);
event.registerBlockEntityRenderer(NTBlockEntityTypes.FISHING_STATION.get(), FishingStationBERenderer::new);
AugmentLayerRenderer.registerRenderer(NTAugments.DOLPHIN_FIN.get(),
ctx -> new SimpleAugmentRenderer<>(DolphinFinModel::new, DolphinFinModel.LAYER_LOCATION, DolphinFinModel.MATERIAL, true, ctx));
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.portingdeadmods.nautec.api.client.renderer.blockentities;

import com.mojang.blaze3d.vertex.PoseStack;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
import net.minecraft.world.level.block.entity.BlockEntity;

public abstract class NTBERenderer<T extends BlockEntity> implements BlockEntityRenderer<T> {
protected final BlockEntityRendererProvider.Context context;

public NTBERenderer(BlockEntityRendererProvider.Context context) {
this.context = context;
}

@Override
public void render(T blockEntity, float partialTick, PoseStack poseStack, MultiBufferSource bufferSource, int packedLight, int packedOverlay) {

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.mojang.math.Axis;
import com.portingdeadmods.nautec.client.model.block.AnchorModel;
import com.portingdeadmods.nautec.content.blockentities.AnchorBlockEntity;
import com.portingdeadmods.nautec.content.blocks.AnchorBlock;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
Expand All @@ -19,8 +20,12 @@ public AnchorBERenderer(BlockEntityRendererProvider.Context context) {

@Override
public void render(AnchorBlockEntity blockEntity, float partialTick, PoseStack poseStack, MultiBufferSource bufferSource, int packedLight, int packedOverlay) {

model.renderToBuffer(poseStack, AnchorModel.MATERIAL.buffer(bufferSource, RenderType::entitySolid), packedLight, packedOverlay);

poseStack.pushPose();
{
poseStack.translate(0.5, 0, 0.5);
poseStack.mulPose(Axis.YP.rotationDegrees(blockEntity.getBlockState().getValue(AnchorBlock.FACING).toYRot()));
model.renderToBuffer(poseStack, AnchorModel.MATERIAL.buffer(bufferSource, RenderType::entitySolid), packedLight, packedOverlay);
}
poseStack.popPose();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.portingdeadmods.nautec.client.renderer.blockentities;

import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.math.Axis;
import com.portingdeadmods.nautec.api.client.renderer.blockentities.NTBERenderer;
import com.portingdeadmods.nautec.content.blockentities.BacterialAnalyzerBlockEntity;
import com.portingdeadmods.nautec.content.blocks.BacterialAnalyzerBlock;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;

public class BacterialAnalyzerBERenderer extends NTBERenderer<BacterialAnalyzerBlockEntity> {
public BacterialAnalyzerBERenderer(BlockEntityRendererProvider.Context context) {
super(context);
}

@Override
public void render(BacterialAnalyzerBlockEntity blockEntity, float partialTick, PoseStack poseStack, MultiBufferSource bufferSource, int packedLight, int packedOverlay) {
ItemStack stack = blockEntity.getItemHandler().getStackInSlot(0);

poseStack.pushPose();
{
poseStack.translate(0.5, 1.14f, 0.5);
poseStack.mulPose(Axis.YP.rotationDegrees(blockEntity.getBlockState().getValue(BacterialAnalyzerBlock.FACING).getOpposite().toYRot()));
poseStack.mulPose(Axis.XP.rotationDegrees(90));
poseStack.scale(0.35f, 0.35f, 0.35f);
context.getItemRenderer()
.renderStatic(stack, ItemDisplayContext.FIXED, packedLight, packedOverlay, poseStack, bufferSource, blockEntity.getLevel(), 42);
}
poseStack.popPose();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,34 @@
import com.portingdeadmods.nautec.api.menu.NTAbstractContainerMenu;
import com.portingdeadmods.nautec.content.blockentities.BacterialAnalyzerBlockEntity;
import com.portingdeadmods.nautec.content.blockentities.multiblock.part.AugmentationStationExtensionBlockEntity;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth;
import net.minecraft.world.entity.player.Inventory;
import org.jetbrains.annotations.NotNull;

public class BacterialAnalyzerScreen extends NTAbstractContainerScreen<BacterialAnalyzerBlockEntity> {
public static final ResourceLocation TEXTURE = ResourceLocation.fromNamespaceAndPath(Nautec.MODID, "textures/gui/bacterial_analyzer.png");
public static final ResourceLocation PROGRESS_ARROW = Nautec.rl("container/bacterial_analyzer/progress_arrow");

public BacterialAnalyzerScreen(NTAbstractContainerMenu<BacterialAnalyzerBlockEntity> menu, Inventory playerInventory, Component title) {
super(menu, playerInventory, title);
this.titleLabelY = 4;
}

@Override
protected void renderBg(GuiGraphics guiGraphics, float delta, int mouseX, int mouseY) {
super.renderBg(guiGraphics, delta, mouseX, mouseY);
int i = this.leftPos;
int j = this.topPos;

int progress = menu.blockEntity.getProgress();

int j1 = Mth.ceil(((float) progress / BacterialAnalyzerBlockEntity.MAX_PROGRESS) * 24.0F);
guiGraphics.blitSprite(PROGRESS_ARROW, 24, 24, 0, 0, i + 76, j + 29, j1, 24);
}

@Override
public @NotNull ResourceLocation getBackgroundTexture() {
return TEXTURE;
Expand Down
Loading

0 comments on commit 08ec792

Please sign in to comment.