-
Posts
68 -
Joined
-
Last visited
Converted
-
Gender
Male
-
Location
Germany
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
TheTrueSCP's Achievements

Stone Miner (3/8)
0
Reputation
-
Item Equip animation plays when updating nbt
TheTrueSCP replied to TheTrueSCP's topic in Modder Support
oh, thanks, that was easyer than i thought 😅 -
Hello, i have a strange problem: if i write a nbt in the inventoryTick method into the item, the item plays the equip anim. As example: @Override public void inventoryTick(ItemStack pStack, Level pLevel, Entity pEntity, int pSlotId, boolean pIsSelected) { if (pLevel instanceof ServerLevel SL) { CompoundTag pCompoundTag = pStack.getOrCreateTag(); if (pEntity instanceof Player player) { pCompoundTag.putFloat("lootdebugs.drills_rot", pEntity.getOnPos().getX());//Debug System.out.println(pEntity.getOnPos().getX()); } } super.inventoryTick(pStack, pLevel, pEntity, pSlotId, pIsSelected); } When I use this code, the item plays the equip-item animation every time I move in the x direction Also, I found out that I can't break blocks: the blockbreak animation stops when I move in the x-direction Can someone help me? Thanks
-
oh yeah, my fault
-
checkContainerSize(Inv,41); why is the value 41 and not 91? maybe that cause the issue
-
Hi, How can I add a custom inventory slot to a player? I've read that I can use player features, but I don't know exactly how. Can someone help me? Thanks
-
Hello, short question, how can i make an armor which has an custom model? Thanks
-
Hello everyone, how can i join my own multiplayer forge server in forge mdk 1.18.X? Thanks
-
Change the fuel variable in the holding-item only
TheTrueSCP replied to TheTrueSCP's topic in Modder Support
Yeah, it works, thanks a lot -
Change the fuel variable in the holding-item only
TheTrueSCP replied to TheTrueSCP's topic in Modder Support
okay, but how can I then set default values and why and why is the value still 0 despite right-click(onUse)? -
Change the fuel variable in the holding-item only
TheTrueSCP replied to TheTrueSCP's topic in Modder Support
Hello, Sorry for writing back again but despite several attempts I did not manage to change/create the tags. They always have the value 0.0 here's my code: package net.the_goldbeards.lootdebugs.Items.Weapons.Drills; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.TextComponent; import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.sounds.SoundSource; import net.minecraft.tags.BlockTags; import net.minecraft.tags.Tag; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.*; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.item.enchantment.Enchantment; import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.TorchBlock; import net.minecraft.world.level.block.state.BlockState; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.common.Tags; import net.the_goldbeards.lootdebugs.util.ModSounds; import net.the_goldbeards.lootdebugs.util.ModTags; import org.jetbrains.annotations.Nullable; import java.util.List; public class DrillsItem extends Item { @Override public int getItemStackLimit(ItemStack stack) { return 1; } public DrillsItem(Properties pProperties, float FUELAMMOUNT) { super(pProperties); ItemStack pStack = new ItemStack(this); pStack.getOrCreateTag().putFloat("lootdebugs.drillfuel", FUELAMMOUNT); } @Override public InteractionResult useOn(UseOnContext pContext) { ItemStack pStack = new ItemStack(pContext.getPlayer().getItemInHand(pContext.getHand()).getItem()); pStack.getOrCreateTag().putFloat("lootdebugs.drillfuel", 12f);//Debug return InteractionResult.PASS; } @Override public void appendHoverText(ItemStack pStack, @Nullable Level pLevel, List<Component> pTooltipComponents, TooltipFlag pIsAdvanced) { Float val = pStack.getOrCreateTag().getFloat("lootdebugs.drillfuel"); pTooltipComponents.add(new TextComponent(val.toString())); } } Thanks -
Change the fuel variable in the holding-item only
TheTrueSCP replied to TheTrueSCP's topic in Modder Support
ohhh, thanks, thats exacly what i needed -
Hello everyone, I need help with my code. I want to make drills that consume fuel. At first I wanted to use the damage bar, but then I decided to use tooltips to show the amount of fuel. And here is my problem: I created a variable that is the amount of fuel. But when I use a drill, ALL the drills consume fuel instead of just the one. I know that this happens because I reduce the fuel for all drills with "fuel--;"(static context). How could I relate the consumption to the one that actually uses the fuel? The DrillsClass: package net.the_goldbeards.lootdebugs.Items.Weapons.Drills; import net.minecraft.core.BlockPos; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.TextComponent; import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.sounds.SoundSource; import net.minecraft.tags.BlockTags; import net.minecraft.tags.Tag; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.*; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.TorchBlock; import net.minecraft.world.level.block.state.BlockState; import net.minecraftforge.common.Tags; import net.the_goldbeards.lootdebugs.util.ModSounds; import net.the_goldbeards.lootdebugs.util.ModTags; import javax.annotation.Nullable; import java.util.List; public class DrillsItem extends Item { //All fuel sync public int MAXFUEL = 320 * 2;//320 Blöcke Max * height drills public int FUEL = 120;//Default Fuel public float MAXFUELDISPLAY = 44; // 44L public float FUELDISPLAY = this.MAXFUELDISPLAY/this.MAXFUEL * this.FUEL; public DrillsItem(Properties pProperties) { super(pProperties); } @Override public boolean isDamageable(ItemStack stack) { return true; } @Override public InteractionResult useOn(UseOnContext pContext) { System.out.println(this.FUEL); Player player = pContext.getPlayer(); BlockPos posBlock = pContext.getClickedPos(); BlockPos posBlockDown = pContext.getClickedPos().above(); Level level = pContext.getLevel(); Block block = level.getBlockState(posBlock).getBlock(); Block blockDown = level.getBlockState(posBlockDown).getBlock(); if(!isFuelEmpty() && !ModTags.Blocks.MC_ORES.contains(block) && !ModTags.Blocks.MC_ORES.contains(blockDown) && !isFuel(block))//The Block isnt a MC Ore, the FUel is not empty and the taget block isnt a Coal BLock { //Break Block if (block != Blocks.OBSIDIAN && block != Blocks.BEDROCK) {//and the block isnt a Unbreakable block like obsidian and BedrocK level.destroyBlock(posBlock, true); if (blockDown != Blocks.OBSIDIAN && blockDown != Blocks.BEDROCK) {//block above level.destroyBlock(posBlockDown, true); } } level.playSound(player, posBlock, ModSounds.LLOYD_INTERACTION.get(), SoundSource.BLOCKS, 1, 1); if (!player.isCreative())//If the player is in creative mode, the drills should not loose fuel { this.FUEL--; } } //Refuel else if (isFuel(block) && CanRefuel())//If the block is an Coal Block/Ore,and the Drills can Refuel, the drills refuel and destroy the block { if(block == Blocks.COAL_ORE) { this.FUEL = this.FUEL + 10;//+10 level.destroyBlock(posBlock, false); level.destroyBlock(posBlock, false); level.destroyBlock(posBlock, false); } else { this.FUEL = this.FUEL+40;//+40 level.destroyBlock(posBlock, false); level.destroyBlock(posBlock, false); level.destroyBlock(posBlock, false); } level.destroyBlock(posBlock, false); if(this.FUEL > this.MAXFUEL) { this.FUEL = this.MAXFUEL; } } return super.useOn(pContext); } public boolean isFuelEmpty() { return this.FUEL <= 0; } public boolean CanRefuel() { return this.FUEL < this.MAXFUEL; } public boolean isFuel(Block block) { return block == Blocks.COAL_ORE || block == Blocks.COAL_BLOCK; } @Override public void appendHoverText(ItemStack stack, @Nullable Level pLevel, List<Component> tooltip, TooltipFlag flagIn) { this.FUELDISPLAY = this.MAXFUELDISPLAY/this.MAXFUEL * this.FUEL; tooltip.add(new TextComponent(Math.round(this.FUELDISPLAY) + "L" +"/" + Math.round(this.MAXFUELDISPLAY) + "L")); super.appendHoverText(stack, pLevel, tooltip, flagIn); } @Override public void onUseTick(Level pLevel, LivingEntity pLivingEntity, ItemStack pStack, int pRemainingUseDuration) { this.FUELDISPLAY = this.MAXFUELDISPLAY/this.MAXFUEL * this.FUEL; } } Thanks in advance
-
How can you make a Food Item placable?
TheTrueSCP replied to MonsieurHannes's topic in Modder Support
It works, thanks -
How can you make a Food Item placable?
TheTrueSCP replied to MonsieurHannes's topic in Modder Support
And then how should I define that only when I crawl, the block should be placed. With normal right click minecraft shouldn't place the block?