Jump to content

Trouble with Cadiboo's example mod.


DiamondMiner88

Recommended Posts

I got linked to Cadiboo's Example mod because i was having trouble with registering items, so i used his ModUtil and ModCreativeTabs class and a few others. When i copied them to my mod to edit i saw that in the ModCreativeTabs class it had a few errors like:

Class 'Anonymous class derived from CustomCreativeTab' must be either be declared abstract or implement abstract method 'getTabIconItem()' in 'CretiveTabs'

caused by

public static final CustomCreativeTab CREATIVE_TAB = new CustomCreativeTab(MOD_ID, true) {
	@Override
	public ItemStack createIcon() {
		return TAB_ICON_ITEMSTACK;
	}
};

and

Method does not override method from it's superclass

caused by

@SideOnly(Side.CLIENT)
@Override
abstract public ItemStack createIcon();

and in the ModUtil class:

Cannot resolve symbol
Item#setTranslationKey(String)

also

ResourceLocation#getPath()

and

Item#getNamespace

?

caused by

@Nonnull
public static CreativeTabs[] getCreativeTabs(@Nonnull final Item item) {
    Preconditions.checkNotNull(item, "Item cannot be null!");
    if (item.getRegistryName().getNamespace().equals(Reference.MOD_ID)) {
        return new CreativeTabs[]{item.getCreativeTab(), ModCreativeTabs.CREATIVE_TAB, CreativeTabs.SEARCH};
    }
    return new CreativeTabs[]{item.getCreativeTab(), CreativeTabs.SEARCH};
}

The thing is is that the original source that i got from his mod, had no errors like that.

I've tried to update the forge version, didn't help.

Can anyone tell me whats going on? Maybe i missed something or forgot to also copy another class. My Github: Here

Edited by DiamondMiner88
Link to comment
Share on other sites

  • Replies 50
  • Created
  • Last Reply

Top Posters In This Topic

Sorry, but what does mappings mean? Method names?

I looked over it but couldn't find anything.

What about

Item#setTranslationKey(String)

it said it couldn't find that but it should be located in the Item class.

I manually looked and i could find that in his version but not my version of the Item class

Edited by DiamondMiner88
Link to comment
Share on other sites

MCP (Mod Coder Pack) Mappings are what Forge uses to deobfuscate minecraft’s code and turn it into something human-readable. These names are provided by the community and can change, so its relatively important to keep them up to date. You can find a list of mappings here. Simply copy the name/date of the release and put it into your build.gradle file in the minecraft block.

 

The 1.12.2 Example Mod was done with the latest stable mapping’s for 1.12.2 (stable_39).

getDomain->getNamespace

setUnlocalisedName->setTranslationKey

getTabIconItem->createIcon

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to comment
Share on other sites

I have another question: when i used

snapshot_20171003

this piece of code worked:

@Override
public IBlockState getStateFromMeta(int meta) {
    EnumFacing facing = EnumFacing.getHorizontal(meta);
    return this.getDefaultState().withProperty(FACING, facing);
}

Now it says that it cannot resolve EnumFacing#getHorizontal

Also what is used instead of

@Override
public BlockRenderLayer getBlockLayer() {
    return BlockRenderLayer.TRANSLUCENT;
}

It can't find getBlockLayer() anymore.

Is getRenderLayer() used used instead?

Link to comment
Share on other sites

1 hour ago, DiamondMiner88 said:

It can't find getBlockLayer() anymore.

Is getRenderLayer() used used instead?

Yes. Remember that these mapping’s are applied to the minecraft jar, so you can just look at where the now-broken mapping was normally used and find the new mapping

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to comment
Share on other sites

Forge works like this

1) download minecraft

2) decompile minecraft

3) apply patches

4) recompile minecraft

5) remap the obfuscated names to human readable names using MCP

(4 and 5 may be in the opposite order)

If you have a mapping that no longer works, you can look at the vanilla code to see what it was changed to. 

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to comment
Share on other sites

6 hours ago, DiamondMiner88 said:

I tried downloading MCP and using the decompile.bat file to extract 1.12.2 but it returns a version less than the stable_39 and returns the minecraft source i had before all of this.

This is soooo confusing.

There's no need to download MCP or do any decompiling yourself for normal mod development.  That's all handled for you (by the gradle setupDecompWorkspace task, for example).

 

Minecraft, as it's shipped by Mojang, is obfuscated, which means that all those class names, field names and method names which make perfect sense in your dev environment (like EnumFacing.getHorizontal()) are replaced with unreadable symbols like xyx.a() (note - that isn't the actual mapping for EnumFacing.getHorizontal()).

 

To make modding possible, MCP is a project which maps all those unreadable names to the ones that make sense to humans.  So when you run setupDecompWorkspace, ForgeGradle uses MCP and related tools to de-obfuscate the Minecraft code, and make the readable names available to your IDE so you can code against it.

 

When you build your mod (with the gradle build task) your code is reobfuscated so that when you ship your mod to be run against shipped (and obfuscated) Minecraft instances, it works.

 

The mappings do change and evolve, and when you update your mappings, it's possible that some of your code will no longer compile because it's referencing old mappings.  In this case, you hit this problem with EnumFacing.getHorizontal().  A little investigation is often all that's needed; find methods in the class with the same signature for a start, and use some intuition to figure out which method might be the replacement for the old one.  In this case, there are only two static methods in EnumFacing which take a single int parameter and return an EnumFacing: byIndex() and byHorizontalIndex().  I'll leave it to you to figure out which one of those replaces getHorizontal() :)

Edited by desht
Link to comment
Share on other sites

I already understood what obfuscation means and what it does, i just didn't get how to find the new code.

I'v hit a boulder again.

Non-static method 'getHorizonstalIndex()' cannot be referenced from a static context
@Override
public IBlockState getStateFromMeta(int meta) {
    EnumFacing facing = EnumFacing.getHorizontalIndex(meta);
    return this.getDefaultState().withProperty(FACING, facing);
}
Edited by DiamondMiner88
Spelling
Link to comment
Share on other sites

24 minutes ago, DiamondMiner88 said:

I already understood what obfuscation means and what it does, i just didn't get how to find the new code.

I'v hit a boulder again.


Non-static method 'getHorizonstalIndex()' cannot be referenced from a static context

@Override
public IBlockState getStateFromMeta(int meta) {
    EnumFacing facing = EnumFacing.getHorizontalIndex(meta);
    return this.getDefaultState().withProperty(FACING, facing);
}

The error tells you exactly what the problem is.  getHorizontalIndex() is not a static method.  It's also not the method I pointed you toward in my last post.

Link to comment
Share on other sites

27 minutes ago, DiamondMiner88 said:

Okay, byIndex() works it was a 50 50 so i guessed forgot to look at if it's static or not.

byIndex() might seem to work, but it is not the method you want.  I gave you two options for possible replacements for EnumFacing.getHorizontal() but you seem grimly determined not to pick the obviously correct one.

 

As for the "invalid source release" error, not sure, but what JDK version are you using in your project?

Link to comment
Share on other sites

Then what method do I use? I'm not new to modding but certainly not a expert at it.

 

JDK: 1.8.0_202

I also tried 1.8.0_172 but same thing

 

Information:java: Errors occurred while compiling module 'CharacterMod'
Information:javac 1.8.0_172 was used to compile java sources
Information:Module "CharacterMod" was fully rebuilt due to project configuration/dependencies changes
Information:4/4/2019 2:54 PM - Compilation completed with 1 error and 0 warnings in 7 s 873 ms
Error:java: invalid source release: 12

The 12 is changed to a different number by changing the Project language level in IntelliJ. I have it set to '12:No new language features'

Looks like the compilation is successful but it's IntelliJ or some kind of library that's having trouble

 

EDIT: Fixed by changing to 8

Edited by DiamondMiner88
Link to comment
Share on other sites

What do i use instead of getHorizontal?

I get an error like

[15:30:23] [main/ERROR] [FML]: Exception caught during firing event net.minecraftforge.event.RegistryEvent$Register@78519d63:
java.lang.IllegalArgumentException: Cannot set property PropertyDirection{name=facing, clazz=class net.minecraft.util.EnumFacing, values=[north, south, west, east]} to down on block character_mod:a_glass_black, it is not an allowed value
	at net.minecraft.block.state.BlockStateContainer$StateImplementation.withProperty(BlockStateContainer.java:233) ~[BlockStateContainer$StateImplementation.class:?]
	at tk.diamondbuildz.mod.character.blocks.blockbases.a.BlockBaseGlassA.getStateFromMeta(BlockBaseGlassA.java:66) ~[BlockBaseGlassA.class:?]
	at net.minecraftforge.registries.GameData$BlockCallbacks.onAdd(GameData.java:330) ~[GameData$BlockCallbacks.class:?]
	at net.minecraftforge.registries.GameData$BlockCallbacks.onAdd(GameData.java:296) ~[GameData$BlockCallbacks.class:?]
	at net.minecraftforge.registries.ForgeRegistry.add(ForgeRegistry.java:358) ~[ForgeRegistry.class:?]
	at net.minecraftforge.registries.ForgeRegistry.add(ForgeRegistry.java:289) ~[ForgeRegistry.class:?]
	at net.minecraftforge.registries.ForgeRegistry.register(ForgeRegistry.java:122) ~[ForgeRegistry.class:?]
	at tk.diamondbuildz.mod.character.EventSubscriber.onRegisterBlocksEvent(EventSubscriber.java:44) ~[EventSubscriber.class:?]
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_4_EventSubscriber_onRegisterBlocksEvent_Register.invoke(.dynamic) ~[?:?]
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
	at net.minecraftforge.fml.common.eventhandler.EventBus$1.invoke(EventBus.java:144) ~[EventBus$1.class:?]
	at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182) [EventBus.class:?]
	at net.minecraftforge.registries.GameData.fireRegistryEvents(GameData.java:777) [GameData.class:?]
	at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:628) [Loader.class:?]
	at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:252) [FMLClientHandler.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:513) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_202]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_202]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_202]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_202]
	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
	at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_202]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_202]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_202]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_202]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:25) [start/:?]
[15:30:23] [main/ERROR] [FML]: Index: 2 Listeners:
[15:30:23] [main/ERROR] [FML]: 0: NORMAL
[15:30:23] [main/ERROR] [FML]: 1: net.minecraftforge.fml.common.eventhandler.EventBus$1@6da640fe
[15:30:23] [main/ERROR] [FML]: 2: net.minecraftforge.fml.common.eventhandler.EventBus$1@62832e24
[15:30:23] [main/ERROR] [FML]: 3: net.minecraftforge.fml.common.eventhandler.EventBus$1@48c49c1a

 

Link to comment
Share on other sites

10 minutes ago, DiamondMiner88 said:

What do i use instead of getHorizontal?

I get an error like


[15:30:23] [main/ERROR] [FML]: Exception caught during firing event net.minecraftforge.event.RegistryEvent$Register@78519d63:
java.lang.IllegalArgumentException: Cannot set property PropertyDirection{name=facing, clazz=class net.minecraft.util.EnumFacing, values=[north, south, west, east]} to down on block character_mod:a_glass_black, it is not an allowed value
	at net.minecraft.block.state.BlockStateContainer$StateImplementation.withProperty(BlockStateContainer.java:233) ~[BlockStateContainer$StateImplementation.class:?]
	at tk.diamondbuildz.mod.character.blocks.blockbases.a.BlockBaseGlassA.getStateFromMeta(BlockBaseGlassA.java:66) ~[BlockBaseGlassA.class:?]
	at net.minecraftforge.registries.GameData$BlockCallbacks.onAdd(GameData.java:330) ~[GameData$BlockCallbacks.class:?]
	at net.minecraftforge.registries.GameData$BlockCallbacks.onAdd(GameData.java:296) ~[GameData$BlockCallbacks.class:?]
	at net.minecraftforge.registries.ForgeRegistry.add(ForgeRegistry.java:358) ~[ForgeRegistry.class:?]
	at net.minecraftforge.registries.ForgeRegistry.add(ForgeRegistry.java:289) ~[ForgeRegistry.class:?]
	at net.minecraftforge.registries.ForgeRegistry.register(ForgeRegistry.java:122) ~[ForgeRegistry.class:?]
	at tk.diamondbuildz.mod.character.EventSubscriber.onRegisterBlocksEvent(EventSubscriber.java:44) ~[EventSubscriber.class:?]
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_4_EventSubscriber_onRegisterBlocksEvent_Register.invoke(.dynamic) ~[?:?]
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
	at net.minecraftforge.fml.common.eventhandler.EventBus$1.invoke(EventBus.java:144) ~[EventBus$1.class:?]
	at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182) [EventBus.class:?]
	at net.minecraftforge.registries.GameData.fireRegistryEvents(GameData.java:777) [GameData.class:?]
	at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:628) [Loader.class:?]
	at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:252) [FMLClientHandler.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:513) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_202]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_202]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_202]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_202]
	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
	at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_202]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_202]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_202]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_202]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:25) [start/:?]
[15:30:23] [main/ERROR] [FML]: Index: 2 Listeners:
[15:30:23] [main/ERROR] [FML]: 0: NORMAL
[15:30:23] [main/ERROR] [FML]: 1: net.minecraftforge.fml.common.eventhandler.EventBus$1@6da640fe
[15:30:23] [main/ERROR] [FML]: 2: net.minecraftforge.fml.common.eventhandler.EventBus$1@62832e24
[15:30:23] [main/ERROR] [FML]: 3: net.minecraftforge.fml.common.eventhandler.EventBus$1@48c49c1a

 

You have it set so there is up or down values, but just replace it with a horizontal value. remove that and add this:
 

@Override
    @Nonnull
    public IBlockState getStateForPlacement(@Nullable World world, @Nullable BlockPos pos, @Nullable EnumFacing facing, float hitX, float hitY, float hitZ, int meta, @Nullable EntityLivingBase placer, EnumHand hand) {
        assert placer != null;
        return this.getDefaultState().withProperty(FACING, placer.getHorizontalFacing().getOpposite());
    }

 

Link to comment
Share on other sites

I have south,north,west,east for states and have

{
  "variants": {
    "facing=south": { "model": "character_mod:a_concrete_black", "y": 0 },
    "facing=west": { "model": "character_mod:a_concrete_black", "y": 90 },
    "facing=north": { "model": "character_mod:a_concrete_black", "y": 180 },
    "facing=east": { "model": "character_mod:a_concrete_black", "y": 270 }
  }
}

for my blockstates

Code for it:

@Override
public IBlockState getStateFromMeta(int meta) {
    EnumFacing facing = EnumFacing.byIndex(meta);
    return this.getDefaultState().withProperty(FACING, facing);
}

@Override
public int getMetaFromState(IBlockState state) {
    EnumFacing facing = state.getValue(FACING);
    return facing.getHorizontalIndex();
}

@Override
public IBlockState getStateForPlacement(World worldIn, BlockPos pos, EnumFacing blockFaceClickedOn, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer) {
    // find the quadrant the player is facing
    EnumFacing enumfacing = (placer == null) ? EnumFacing.NORTH : EnumFacing.fromAngle(placer.rotationYaw);

    return this.getDefaultState().withProperty(FACING, enumfacing);
}

That's what i already have, what do i need to remove and replace with your code?

Link to comment
Share on other sites

38 minutes ago, DiamondMiner88 said:

I have south,north,west,east for states and have


{
  "variants": {
    "facing=south": { "model": "character_mod:a_concrete_black", "y": 0 },
    "facing=west": { "model": "character_mod:a_concrete_black", "y": 90 },
    "facing=north": { "model": "character_mod:a_concrete_black", "y": 180 },
    "facing=east": { "model": "character_mod:a_concrete_black", "y": 270 }
  }
}

for my blockstates

Code for it:


@Override
public IBlockState getStateFromMeta(int meta) {
    EnumFacing facing = EnumFacing.byIndex(meta);
    return this.getDefaultState().withProperty(FACING, facing);
}

@Override
public int getMetaFromState(IBlockState state) {
    EnumFacing facing = state.getValue(FACING);
    return facing.getHorizontalIndex();
}

@Override
public IBlockState getStateForPlacement(World worldIn, BlockPos pos, EnumFacing blockFaceClickedOn, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer) {
    // find the quadrant the player is facing
    EnumFacing enumfacing = (placer == null) ? EnumFacing.NORTH : EnumFacing.fromAngle(placer.rotationYaw);

    return this.getDefaultState().withProperty(FACING, enumfacing);
}

That's what i already have, what do i need to remove and replace with your code?

Replace

EnumFacing.fromAngle(player.rotationYaw);

with

placer.getHorizontalFacing().getOpposite();

 

Link to comment
Share on other sites

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

    • https://pastebin.com/VwpAW6PX My game crashes upon launch when trying to implement the Oculus mod to this mod compilation, above is the crash report, I do not know where to begin to attempt to fix this issue and require assistance.
    • https://youtube.com/shorts/gqLTSMymgUg?si=5QOeSvA4TTs-bL46
    • CubeHaven is a SMP server with unique features that can't be found on the majority of other servers! Java: MC.CUBEHAVEN.NET Bedrock: MC.CUBEHAVEN.NET:19132 3 different stores: - CubeHaven Store: Our store to purchase using real money. - Bitcoin Store: Store for Bitcoin. Bitcoin can be earned from playing the server. Giving options for players if they want to spend real money or grind to obtain exclusive packages. - Black Market: A hidden store for trading that operates outside our traditional stores, like custom enchantments, exclusive items and more. Some of our features include: Rank Up: Progress through different ranks to unlock new privileges and perks. 📈 Skills: RPG-style skill system that enhances your gaming experience! 🎮 Leaderboards: Compete and shine! Top players are rewarded weekly! 🏆 Random Teleporter: Travel instantly across different worlds with a click! 🌐 Custom World Generation: Beautifully generated world. 🌍 Dungeons: Explore challenging and rewarding dungeons filled with treasures and monsters. 🏰 Kits: Unlock ranks and gain access to various kits. 🛠️ Fishing Tournament: Compete in a friendly fishing tournament! 🎣 Chat Games: Enjoy games right within the chat! 🎲 Minions: Get some help from your loyal minions. 👥 Piñata Party: Enjoy a festive party with Piñatas! 🎉 Quests: Over 1000 quests that you can complete! 📜 Bounty Hunter: Set a bounty on a player's head. 💰 Tags: Displayed on nametags, in the tab list, and in chat. 🏷️ Coinflip: Bet with other players on coin toss outcomes, victory, or defeat! 🟢 Invisible & Glowing Frames: Hide your frames for a cleaner look or apply a glow to it for a beautiful look. 🔲✨[ Player Warp: Set your own warp points for other players to teleport to. 🌟 Display Shop: Create your own shop and sell to other players! 🛒 Item Skins: Customize your items with unique skins. 🎨 Pets: Your cute loyal companion to follow you wherever you go! 🐾 Cosmetics: Enhance the look of your character with beautiful cosmetics! 💄 XP-Bottle: Store your exp safely in a bottle for later use! 🍶 Chest & Inventory Sorting: Keep your items neatly sorted in your inventory or chest! 📦 Glowing: Stand out from other players with a colorful glow! ✨ Player Particles: Over 100 unique particle effects to show off. 🎇 Portable Inventories: Over virtual inventories with ease. 🧳 And a lot more! Become part of our growing community today! Discord: https://cubehaven.net/discord Java: MC.CUBEHAVEN.NET Bedrock: MC.CUBEHAVEN.NET:19132
    • # Problematic frame: # C [libopenal.so+0x9fb4d] It is always the same issue - this refers to the Linux OS - so your system may prevent Java from working   I am not familiar with Linux - check for similar/related issues  
  • Topics

×
×
  • Create New...

Important Information

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