Everything posted by zlappedx3
-
[1.17.1] I have a question about ElementType in RenderGameOverlayEvent.
Thank you so mush now i meet FOOD_LEVEL_ELEMENT in ForgeIngameGui and i see PreLayer#getOverlay() that is so work.
-
[1.17.1] I have a question about ElementType in RenderGameOverlayEvent.
Hello devoloper ElementType usually includes food bar or HP bar, but I can't find any. If I want to cancel only food bar, what should I do?
-
[1.17.1] I have some doubts about using Capability in this version.
Thank you verry mush for example.
-
[1.17.1] I have some doubts about using Capability in this version.
Should I make StatusProvider an instance?
-
[1.17.1] I have some doubts about using Capability in this version.
Maybe if you change Capability(String name) { this.name = name; } To public Capability(String name) { this.name = name; } on package net.minecraftforge.common.capabilities.Capability i can do it
-
[1.17.1] I have some doubts about using Capability in this version.
What should I do with this log?
-
[1.17.1] I have some doubts about using Capability in this version.
Player#getCapability usually uses Capability<T> capability, Direction facing, but I renamed the class to NewCapability<T> I'm not sure. is it related? because originally it was net.minecraftforge.common.capabilities.Capability<T> is not something I created.
-
[1.17.1] I have some doubts about using Capability in this version.
Player#getCapability It cannot be used in conjunction with the Capability I created myself.
-
[1.17.1] I have some doubts about using Capability in this version.
You mean creating a new Capability and adding some methods to throw, right?
-
[1.17.1] I have some doubts about using Capability in this version.
Ummmmmmm So what method do you use when you don't have one? getDefaultInstance() method in combination with LazyOptional ?
-
[1.17.1] I have some doubts about using Capability in this version.
I need some advice from you. If you want to write a program to save the values in the player, which objects and methods should be used respectively, or just use CompoundTag? Run it now I'm disturbed P.S. Your library is awesome.
-
[1.17.1] I have some doubts about using Capability in this version.
--------------------------------------------[1.16.5]-------------------------------------------- I created the IStatus interface, it doesn't implements and extends. Then I created the class Status implements IStatus. Next, I created a class StatusStorage implements IStorage<IStatus> to write and read CompoundNBT. Finally, I created a class StatusProvider implements ICapabilitySerializable<INBT> and applied Capability<IStatus> to LazyOptional#of . Everything went well. --------------------------------------------[1.17.1]-------------------------------------------- First, Capability<T> doesn't have getDefaultInstance , so create a newCapability<T> for use with LazyOptional#of() . Once it was created, I added the getDefaultInstance method to the NewCapability<T> similar to the old version. But when to take Player#getCapability is used, it turns out CapabilityNew<T> is not Capability<T> , so it cannot be put in Player#getCapability So I extends Capability<T> into NewCapability<T> , it can be used in Player#getCapability . Later I ran into a problem: Capability(string) was not public, so I couldn't extends it. So I would like to use the same method as your library as mentioned above. but i don't know EnergyStorage, can it register? Below is the code I wrote in 1.16.5 for saving the values to the player. (P.S. besides not having getDefaultInstance and there is no getStorage() yet.) public interface IStatus { public void setEnergy(int points); public int getEnergy(); public void setExcretion(int points); public int getExcretion(); public void setDirty(int points); public int getDirty(); } public class Status implements IStatus { private int energy; private int excretion; private int dirty; public Status() { this.energy = 20; this.excretion = 20; this.dirty = 20; } @Override public void setEnergy(int points) { this.energy = points; } @Override public int getEnergy() { return this.energy; } @Override public void setExcretion(int points) { this.excretion = points; } @Override public int getExcretion() { return this.excretion; } @Override public void setDirty(int points) { this.dirty = points; } @Override public int getDirty() { return this.dirty; } } public class StatusProvider implements ICapabilitySerializable<INBT> { @CapabilityInject(IStatus.class) public static final Capability<IStatus> Status_CAP = null; private LazyOptional<IStatus> instance = LazyOptional.of(Status_CAP::getDefaultInstance); @Override public <T> LazyOptional<T> getCapability(Capability<T> capability, Direction side) { return capability == Status_CAP ? instance.cast() : LazyOptional.empty(); } @Override public INBT serializeNBT() { return Status_CAP.getStorage().writeNBT(Status_CAP, this.instance.orElseThrow(() -> new IllegalArgumentException("LazyOptional must not be empty!")), null); } @Override public void deserializeNBT(INBT nbt) { Status_CAP.getStorage().readNBT(Status_CAP, this.instance.orElseThrow(() -> new IllegalArgumentException("LazyOptional must not be empty!")), null, nbt); } } public class StatusStorage implements IStorage<IStatus> { @Override public INBT writeNBT(Capability<IStatus> capability, IStatus instance, Direction side) { CompoundNBT status = new CompoundNBT(); status.putInt("Energy", instance.getEnergy()); status.putInt("Excretion", instance.getExcretion()); status.putInt("Dirty", instance.getDirty()); return status; } @Override public void readNBT(Capability<IStatus> capability, IStatus instance, Direction side, INBT nbt) { CompoundNBT status = (CompoundNBT)nbt; instance.setEnergy(status.getInt("Energy")); instance.setExcretion(status.getInt("Excretion")); instance.setDirty(status.getInt("Dirty")); } }
-
[1.17.1] I have some doubts about using Capability in this version.
Hello Developers Usually older versions use Capability to save numeric values or other values via CompoundNBT via the forge library but in this version I tried to rebuild Capability but when using getCapability from Player class it turns out that Capability The new class doesn't match the old one. So I looked in vanilla and found CapabilityEnergy, EnergyStorage and IEnergyStorage so I looked at CapabilityEnergy#register because this method should is @SubscribeEvent to register IEnergyStorage But I don't know how to import or register EnergyStorage. I know EnergyStorage implements IEnergyStorage. What I want to know is EnergyStorage How can it be used?
-
[1.17.1] I have the problem about SavedData.
Can you example computeIfAbsent method from DimensionDataStorage Object ?
-
[1.17.1] I have the problem about SavedData.
Hello developer in the version 1.16.x i use the WorldSavedData this object have parameter string for warite Compound name but when i use SavedData in 1.17.1 for save some data on my world that is not implements INBTSerializable i want know how to save some data to world or level ?
-
[1.16.5] I can't disable light from obj when dark event.
Hello when i called obj model from state or json i meed issus my model have light when dark event, i want disable my light when dark. my state(json) "variants": { "model": "moderncreator:block/refrigerator" //call my json model } from model dir. { "loader": "forge:obj", "model": "moderncreator:models/block/refrigerator.obj", // call my obj model "flip-v": true } my display when dark.
-
[1.16.4] I have just a question about stack size.
Okay bro i know you don't understand i will exaple explain again when i set the my tileentity inventory max size to 4096 then and i create my slot on container max size (i mean track slot 4096) when i put some my item to slot id 512 and i leave the game and return to join world agian that item will change to slot id 0 from slot id 512. This my code : package test; import net.minecraft.block.BlockState; import net.minecraft.entity.player.PlayerInventory; import net.minecraft.inventory.ItemStackHelper; import net.minecraft.inventory.container.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; import net.minecraft.tileentity.LockableLootTileEntity; import net.minecraft.util.IIntArray; import net.minecraft.util.NonNullList; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.TranslationTextComponent; public class TileEntityExample extends LockableLootTileEntity{ private NonNullList<ItemStack> chestContents = NonNullList.withSize(4096, ItemStack.EMPTY); public TileEntityDM() { super(Register.TileEntityDM); } @Override public void read(BlockState state, CompoundNBT compound) { super.read(state, compound); this.chestContents = NonNullList.withSize(this.getSizeInventory(), ItemStack.EMPTY); if (!this.checkLootAndRead(compound)) { ItemStackHelper.loadAllItems(compound, this.chestContents); } } @Override public CompoundNBT write(CompoundNBT compound) { super.write(compound); if (!this.checkLootAndWrite(compound)) { ItemStackHelper.saveAllItems(compound, this.chestContents); } return compound; } @Override public CompoundNBT getUpdateTag() { return this.write(new CompoundNBT()); } @Override public int getSizeInventory() { return this.chestContents.size(); } @Override public NonNullList<ItemStack> getItems() { return this.chestContents; } @Override protected void setItems(NonNullList<ItemStack> itemsIn) { this.chestContents = itemsIn; } @Override protected ITextComponent getDefaultName() { return new TranslationTextComponent("container.chest"); } @Override protected Container createMenu(int id, PlayerInventory player) {return new GuiSomeServer(id, player, this);} }
-
[1.16.4] I have just a question about stack size.
Can i set NonNullList size to 4096 ? i can't put my item slot 512 from my tile entity, when i put some item slot 512 it will change tile entity to slot 0.
-
[1.16.4] How to render item from tile entity like chest ?
Hello i can't render some item from my tile entity from my NonNullList<ItemStack> i don't know this problem happent from what please look my code or try run it. https://github.com/thepdone/de Note : When you put your item you want exit from your world to main menu and return to your world it will success render I'm need just render it when put my item don't need exit from my world and join my world agian for render it. Update : I'm forget this block DM is decoration tab when you put it right click that block transparent and pick some item and exit to main menu then and try get your world agian.
-
[1.16.4] can i use TileEntityRenderer render item on my chest ?
Thank You so mush
-
[1.16.4] can i use TileEntityRenderer render item on my chest ?
-
[1.16.4] can i use TileEntityRenderer render item on my chest ?
I'm need use TileEntityRenderer render some item in the TileEntity like LockableLootTileEntity from NonNullList<ItemStack> can i send something to client for render some item ?
-
how to use bindTileEntityRenderer() on 1.16.6 ?
thank you so mush
-
how to use bindTileEntityRenderer() on 1.16.6 ?
Hello i try render the tileentitiy by bindTileEntityRenderer but it change bindTileEntitySpecialRenderer() to bindTileEntityRenderer() please i'm need the example.
-
Can i play sound from byte array ?
i just need playsound from byte array playSound by world.playSound() how to
IPS spam blocked by CleanTalk.