Everything posted by dan donn
-
Cant download.
Can Confirm Servers Are Down With Bad Gateway Error.
-
[1.18.2, 1.19] Serialize JSON String
Cheers Luis That Has Done The Trick
-
[1.18.2, 1.19] Serialize JSON String
I have Looked and it still prints as a json object. I just need the method to convert or get the text out from the json.
-
[1.18.2, 1.19] Serialize JSON String
I'm currently working with the written books nbt tag. The text on the pages are stored inside of a json format and I am looking to retrieve the data from within. the format is as follows {"text":"example text here"} and it's the example text here that I need to retrieve.
-
[1.16.5] Capability Register Failing
I may just stick to basic nbt saving, this seems like a headache to me. Thank you for the help anyways but I don't fully understand it Mainly outside of my range of abilities.
-
[1.16.5] Capability Register Failing
https://github.com/DDX5/TSPaintball it is under src/main/java/uk/nf/teamserpentalise/tspaintball/capability/ the main class has the register and eventinit has the attach capability
-
[1.16.5] Capability Register Failing
Now the error is to do with INBT and CompoundNBT. not sure why
-
[1.16.5] Capability Register Failing
package uk.nf.teamserpentalise.tspaintball.capability; import net.minecraft.nbt.CompoundNBT; public class PlayerTeamImpl implements PlayerTeam { private final String Team; public PlayerTeamImpl(){ this("None"); } public PlayerTeamImpl(String team) { Team = team; } @Override public String GetTeam() { return null; } @Override public void SetTeam(String Team) { } @Override public CompoundNBT serializeNBT() { final CompoundNBT nbt = new CompoundNBT(); nbt.putString("player.team", this.GetTeam()); return nbt; } @Override public void deserializeNBT(CompoundNBT nbt) { this.SetTeam(nbt.getString("player.team")); } } Does that seem right
-
[1.16.5] Capability Register Failing
That hasn't fixed it. still same error
-
[1.16.5] Capability Register Failing
Required type Provided type: Class<T> Class<PlayerTeam> storage: IStorage<T> CapabilityTeamStorage factory: Callable<? extends T> <method reference> reason: no instance(s) of type variable(s) exist so that CapabilityTeamStorage conforms to PlayerTeam inference variable T has incompatible bounds: equality constraints: PlayerTeam lower bounds: CapabilityTeamStorage It's the top one giving me isssues
-
[1.16.5] Capability Register Failing
@urbanxx001Yes just managed to get that however now the first parameter does not meet type class<T> instead it is class<PlayerTeam> not sure what is going on there
-
[1.16.5] Capability Register Failing
nevermind i misread the tutorial code
-
[1.16.5] Capability Register Failing
no instance(s) of type variable(s) exist so that CapabilityTeamStorage conforms to PlayerTeam inference variable T has incompatible bounds: equality constraints: PlayerTeam lower bounds: CapabilityTeamStorage Managed to find a basic example and went from there but the error above is now what is happening
-
[1.16.5] Capability Register Failing
Still don't quite get how to do this with the capability, I do understand the idea but having trouble implementing it. Sorry if this is too much to ask but could you possibly show me how and what I've done wrong. package uk.nf.teamserpentalise.tspaintball.capability; public class CapabilityFactory { public PlayerTeamCapability get(){ return new PlayerTeamCapability(); } } @diesieben07 Again my apologies if this is too much to ask
-
[1.16.5] Capability Register Failing
@diesieben07 not familiar with the factory could you possibly provide a basic example that way I can try to comprehend what it is.
-
[1.16.5] Capability Register Failing
@diesieben07How would I go about adding this last parameter as I'm new to this capability stuff but know enough java.
-
Help i made a modpack but after the world generates to 100% it suddenly says saving world then crashes
Try removing optifine
-
[1.16.5] Capability Register Failing
package uk.nf.teamserpentalise.tspaintball.init; import net.minecraft.entity.Entity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.ResourceLocation; import net.minecraftforge.event.AttachCapabilitiesEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import uk.nf.teamserpentalise.tspaintball.TSPaintball; import uk.nf.teamserpentalise.tspaintball.capability.PlayerTeamCapability; @Mod.EventBusSubscriber(modid = TSPaintball.MOD_ID) public class eventinit { @SubscribeEvent public static void Hurt(LivingHurtEvent event) { TSPaintball.LOG.info("Hurt Event Fired"); Entity Target = event.getEntity(); Entity Hit = event.getSource().getDirectEntity(); TSPaintball.LOG.info("Traget: " + Target.toString() + "\nHit: " + Hit.toString()); } @SubscribeEvent public static void AttachCap(AttachCapabilitiesEvent<Entity> event) { if(event.getObject() instanceof PlayerEntity) { event.addCapability(new ResourceLocation(TSPaintball.MOD_ID,"player_team"),new PlayerTeamCapability()); } } } This is where the attach event is located that the main class registers to the eventbus
-
[1.16.5] Capability Register Failing
I am getting the following error. The code is the follwoing package uk.nf.teamserpentalise.tspaintball; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.capabilities.CapabilityManager; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import uk.nf.teamserpentalise.tspaintball.capability.CapabilityTeamStorage; import uk.nf.teamserpentalise.tspaintball.capability.PlayerTeam; import uk.nf.teamserpentalise.tspaintball.capability.PlayerTeamCapability; import uk.nf.teamserpentalise.tspaintball.init.*; @Mod(TSPaintball.MOD_ID) public class TSPaintball { public static final String MOD_ID = "tspaintball"; public static final Logger LOG = LogManager.getLogger(); public TSPaintball() { IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus(); MinecraftForge.EVENT_BUS.register(eventinit.class); bus.addListener(this::CommonSetup); bus.register(this); } public void CommonSetup(FMLCommonSetupEvent event){ CapabilityManager.INSTANCE.register(PlayerTeam.class, new CapabilityTeamStorage(), PlayerTeamCapability::new); } } That is the main class where the capability manager is throwing the error. (I have shortened the class down to ease with size. package uk.nf.teamserpentalise.tspaintball.capability; import net.minecraft.nbt.INBT; import net.minecraft.util.Direction; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.capabilities.CapabilityInject; import net.minecraftforge.common.capabilities.ICapabilitySerializable; import net.minecraftforge.common.util.LazyOptional; import javax.annotation.Nonnull; import javax.annotation.Nullable; public class PlayerTeamCapability implements ICapabilitySerializable<INBT> { @CapabilityInject(PlayerTeam.class) public static final Capability<PlayerTeam> TEAM_CAPABILITY = null; private LazyOptional<PlayerTeam> instance = LazyOptional.of(TEAM_CAPABILITY::getDefaultInstance); @Nonnull @Override public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> cap, @Nullable Direction side) { return cap == TEAM_CAPABILITY ? instance.cast() : LazyOptional.empty(); } @Override public INBT serializeNBT() { return TEAM_CAPABILITY.getStorage().writeNBT(TEAM_CAPABILITY,this.instance.orElseThrow(() -> new IllegalArgumentException("LazyOptional must not be empty!")), null); } @Override public void deserializeNBT(INBT nbt) { TEAM_CAPABILITY.getStorage().readNBT(TEAM_CAPABILITY, this.instance.orElseThrow(() -> new IllegalArgumentException("LazyOptional must not be empty!")), null, nbt); } } package uk.nf.teamserpentalise.tspaintball.capability; import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.INBT; import net.minecraft.util.Direction; import net.minecraftforge.common.capabilities.Capability; import javax.annotation.Nullable; public class CapabilityTeamStorage implements Capability.IStorage<PlayerTeam> { @Nullable @Override public INBT writeNBT(Capability<PlayerTeam> capability, PlayerTeam instance, Direction side) { CompoundNBT Tag = new CompoundNBT(); Tag.putString("player.team",instance.GetTeam()); return Tag; } @Override public void readNBT(Capability<PlayerTeam> capability, PlayerTeam instance, Direction side, INBT nbt) { instance.SetTeam(nbt.getAsString()); } } package uk.nf.teamserpentalise.tspaintball.capability; import net.minecraft.nbt.CompoundNBT; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.util.INBTSerializable; public interface PlayerTeam extends INBTSerializable<CompoundNBT> { String GetTeam(); void SetTeam(String Team); } Any help is greatly appreciated.
-
[1.16.5] LivingHurtEvent does not fire on event bus subscriber
For crying out loud I didn't realize until I looked again I was missing the static out of them. Got it to work now. Thank you @Luis_ST
-
[1.16.5] LivingHurtEvent does not fire on event bus subscriber
The Event still does not fire the log message at all, anything I'm possibly missing
-
[1.16.5] LivingHurtEvent does not fire on event bus subscriber
Thanks, I'll try that now and report back if it works.
-
[1.16.5] LivingHurtEvent does not fire on event bus subscriber
I am not sure if I have made a mistake anywhere and not sure if this is how to register the event. Code provided below. package uk.nf.teamserpentalise.tspaintball.init; import net.minecraftforge.event.entity.living.LivingHurtEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import uk.nf.teamserpentalise.tspaintball.TSPaintball; @Mod.EventBusSubscriber(modid = TSPaintball.MOD_ID) public class eventinit { @SubscribeEvent public void Hurt(LivingHurtEvent event) { TSPaintball.LOG.info("Hurt Event Fired"); } }
IPS spam blocked by CleanTalk.