Jump to content

Broken Tags in Modpack (some basic recipes broken, missing tags on vanilla items and modded ones)


Bulwarini

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • i keep getting these errors and im not sure how to fix them or if i can just leave them be :PS i know about the missing tags i just dont have the mods required to add those extra villages Here is the log  https://paste.ee/p/KpYoV
    • Minecraft: 1.18.2, Forge: 40.2.21 I created some code that renders a custom particle. The particle renders without depth test: `disableDepthTest()` and should be visible through other blocks. Locally, all works fine. When I install it on the server and client, it also works fine. But when the mod is removed from the server, it no longer works.   The particle is registered under the name "DEPTH_VISION", and if i check if it is present `ModParticles.DEPTH_VISION.isPresent()`, while the mod is not on the server, I get a `false` back.   So my question is: - Is it even possible to make a custom particle, while staying client side only? - What do I need to change to make it work?    ModParticles.java import net.minecraft.core.particles.SimpleParticleType; import net.minecraft.core.particles.ParticleType; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.RegistryObject; public class ModParticles { public static final DeferredRegister<ParticleType<?>> REGISTRY = DeferredRegister.create(ForgeRegistries.PARTICLE_TYPES, SomeNameMod.MODID); public static final RegistryObject<SimpleParticleType> DEPTH_VISION = REGISTRY.register("depth_vision", () -> new SimpleParticleType(true)); }    SomeNameMod.java import com.peet.somename.HighlightBlock; import com.peet.somename.DepthVisionParticle; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.TextureAtlas; import net.minecraft.core.particles.ParticleType; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.Level; import net.minecraft.world.entity.player.Player; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.TickEvent; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.client.event.ParticleFactoryRegisterEvent; import net.minecraftforge.client.event.TextureStitchEvent; @Mod(com.peet.somename.SomeNameMod.MODID) public class SomeNameMod { public static final String MODID = "somename"; private static int tickCounter = 0; // Counter to track ticks public SomeNameMod() { IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); modEventBus.addListener(this::onTextureStitch); modEventBus.addListener(this::registerParticleFactories); ModParticles.REGISTRY.register(modEventBus); MinecraftForge.EVENT_BUS.register(this); } @SubscribeEvent public void registerParticleFactories(ParticleFactoryRegisterEvent event) { Minecraft.getInstance().particleEngine.register((ParticleType) ModParticles.DEPTH_VISION.get(), DepthVisionParticle.Factory::new); } @SubscribeEvent public void onWorldTick(TickEvent.WorldTickEvent event) { if (event.phase == TickEvent.Phase.END) { Level world = event.world; if (!world.isClientSide) return; if (tickCounter++ >= 20) { // 5 seconds = 100 ticks Player player = Minecraft.getInstance().player; if (player != null) { HighlightBlock.spawnParticles(world, player); } tickCounter = 0; // Reset the counter after spawning particles } } } @SubscribeEvent public void onClientTick(TickEvent.ClientTickEvent event) { } @SubscribeEvent public void onTextureStitch(TextureStitchEvent.Pre event) { if (event.getAtlas().location().equals(TextureAtlas.LOCATION_PARTICLES)) { event.addSprite(new ResourceLocation(MODID, "particles/depth_vision")); } } }    HighlightBlock.java import com.peet.somename.ModParticles; import net.minecraft.network.chat.TextComponent; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; import net.minecraft.client.Minecraft; import net.minecraft.client.particle.ParticleEngine; public class HighlightBlock { public static <ExceptionType> void spawnParticles(Level world, Player player ) { ParticleEngine particleEngine = Minecraft.getInstance().particleEngine; if (!ModParticles.DEPTH_VISION.isPresent()) { Minecraft.getInstance().player.sendMessage(new TextComponent("DEPTH_VISION particle is not registered."), Minecraft.getInstance().player.getUUID()); return; } particleEngine.createParticle(ModParticles.DEPTH_VISION.get(), 0, 0, 0, 0.0, 0.0, 0.0); } }    DepthVisionParticle.java package com.peet.somename.particles; import net.minecraft.client.particle.Particle; import net.minecraft.core.particles.SimpleParticleType; import net.minecraft.client.particle.ParticleProvider; import com.mojang.blaze3d.vertex.Tesselator; import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.client.renderer.texture.TextureManager; import com.mojang.blaze3d.vertex.BufferBuilder; import net.minecraft.world.entity.player.Player; import net.minecraft.client.Minecraft; import net.minecraft.client.Camera; import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.particle.SpriteSet; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.ParticleRenderType; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraft.client.particle.SimpleAnimatedParticle; @OnlyIn(Dist.CLIENT) public class DepthVisionParticle extends SimpleAnimatedParticle { private static final ParticleRenderType DEPTH_PARTICLE_SHEET_TRANSLUCENT; private DepthVisionParticle(final ClientLevel world, final double x, final double y, final double z, final double motionX, final double motionY, final double motionZ, final SpriteSet spriteWithAge) { super(world, x, y, z, spriteWithAge, 0.0f); this.xd = motionX; this.yd = motionY; this.zd = motionZ; this.lifetime = 20; this.setSpriteFromAge(spriteWithAge); } public void render(final VertexConsumer buffer, final Camera renderInfo, final float partialTicks) { final Player player = Minecraft.getInstance().player; super.render(buffer, renderInfo, partialTicks); } public void tick() { super.tick(); this.setSprite(this.sprite); if (this.age++ >= this.lifetime) { this.remove(); } } public ParticleRenderType getRenderType() { return com.peet.somename.particles.DepthVisionParticle.DEPTH_PARTICLE_SHEET_TRANSLUCENT; } static { DEPTH_PARTICLE_SHEET_TRANSLUCENT = new ParticleRenderType() { public void begin(BufferBuilder buffer, TextureManager textureManager) { RenderSystem.disableDepthTest(); ParticleRenderType.PARTICLE_SHEET_TRANSLUCENT.begin(buffer, textureManager); } public void end(Tesselator tessellator) { ParticleRenderType.PARTICLE_SHEET_TRANSLUCENT.end(tessellator); RenderSystem.enableDepthTest(); } }; } @OnlyIn(Dist.CLIENT) public static class Factory implements ParticleProvider<SimpleParticleType> { private final SpriteSet spriteSet; public Factory(final SpriteSet spriteSet) { this.spriteSet = spriteSet; } public Particle createParticle(final SimpleParticleType type, final ClientLevel world, final double x, final double y, final double z, final double xSpeed, final double ySpeed, final double zSpeed ) { final com.peet.somename.particles.DepthVisionParticle particle = new com.peet.somename.particles.DepthVisionParticle(world, x, y, z, 0.0, 0.0, 0.0, this.spriteSet); particle.setParticleSpeed((float) xSpeed, (float) ySpeed, (float) zSpeed); return particle; } } }  
    • no, but do you know  any alternatives that will give me access to shaders?
    • I used an alternative for this, this is a sheet template, which helped me simplify my task and I did not have to count, because every time I start counting again, I always get confused. In the same way, when I change something, in the template, I can edit everything and put it in the order I need.
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.