Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

How can I detect a change of enchantment properties?


Recommended Posts

Hi!

 

So I've been scraching my head a lot on how I could solve my problem. I have a capability for itemstacks, that is called defenseData and which is supposed to be used not only by me, but also by other devs (it's part of my API). Now my mod also uses enchantments to interact with the defense capability. For example if an armor piece has the fire protection enchantment, the capability should get the mapping "fire":factor, with factor being a calculated integer value. If the item already has fire reduction (i.e. it has it as base value), then the factor of the enchantment should be added to the base value.

 

Now I want to change the data in the capability, whenever a change of the enchantment happens in any form. This includes enchanting, disenchanting and also combing enchantments on an anvil. There is probably a lot more occasion, if we include other mods, which I would like to detect aswell. So how could I detect such a thing?

 

Alternatively I thought about adding the enchantment value, whenever the capability gets attached to the itemstack. However this will result in incorrect data, because then the enchantment data will also be added, if I move the stack in the inventory. In an attempt to solve this issue I added another capability, called areEnchantmentsApplied (a boolean with default value false), which is turned to true, after adding the enchantment data for the first time (even if there weren't any). Sadly this wasn't not working as indented, because the newly enchanted itemstack uses the same capability data from it's origin (rightfully tho), which means that the enchantment data never gets added to the new itemstack, because areEnchantmentsApplied was already true. It did however solve the issue with moving items in the inventory.

 

Currently I'm cheating my own system by getting a copy of the itemstack capability and adding the enchantment data onto it. It works, but that's not how I intented my API to work. Here you can see my current code. Any help is much appreciated. :)

Edited by Tavi007
Link to post
Share on other sites

Unfortunately, I don't believe there is any such event or hook that calls when an enchantment is applied. You would probably need to add a new event that checks when an enchantment is applied to an item which would require a PR. There are other methods of achieving it that don't require a PR, but they all involve things that are not allowed on this forum.

Link to post
Share on other sites

I am not sure why you need to react to enchantment changes here. You should be able to have access to the ItemStack inside the capability, so you can just access it's enchantments whenever you need to and act accordingly. There is no need to "change data" when the enchantments change, just compute whatever data you need when it is asked for based on the current ItemStack.

Link to post
Share on other sites

Do you mean, I should check for the enchantments of the itemstack in the attackCapabilitiesEvent? I tried that, but last time I checked, the itemstack hasn't had any enchantments added to it yet. So EnchantmentHelper.getEnchantments(itemstack) would always return an empty map.

 

If you were suggesting something different, then please elaborate a bit more, because I didn't understand, what you meant.

Link to post
Share on other sites

I'm not sure, if this will solve my problem. I want to get rid of the method ElementalCombatAPI#getDefenseDataWithEnchantment, because unlike ElementalCombat#getDefenseData this only returns a copy of the capability and not a reference. If it wouldn't return a copy, it would add the enchantment data to the capability over and over. It's also important, that ElementalCombat#getDefenseData returns the reference, becuase otherwise the API would be useless.

 

How can I achieve, that the data from the enchantments gets applied only once?

Link to post
Share on other sites

After sleeping a night I found a way to detect the change. It's not really necessary to keep track of the full itemstack, but rather just its enchantment mapping. So I did that in combination with a boolean, so it won't check over and over again. So yeah, no need for a new event hook.

Link to post
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.

Guest
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.



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • After some further research, I found a way to do this!  When loading into a word, you will need to send the CPacketClientStatus packet. Ex:   mc.getConnection().sendPacket(new CPacketClientStatus(CPacketClientStatus.State.REQUEST_STATS)); And if you wanted this to update in real time... I would recommend wrapping an interval block around it
    • The reason it's 0 is because you need to open up the stats menu in game to load everything...  Before loading stat menu: - 0 After loading stat menu: -53 Does anyone have any idea how you can load the data without having to open the menu?
    • when I try to load a new world on a modpack I am making I got this error "Errors in currently selected datapacks prevented the world from loading. You can either try to load it with only the vanilla data pack ("safe mode"), or go back to the title screen and fix it manually." and I tried clicking safe mode it has the same result. The mods I am using are Abnormals core, akashic Tome, Alexsmobs, Aquaculture 2, Architectury, ars nouveau, AutoRegLib, Better animals plus, better end forge, bookshelf, botania, bountiful baubles forge, buzzier bees, oh the biomes you'll go, carry on, cave biomes, caves and cliffs backport, mr cragsfish furniture mod, chisels and bits, citadel, clumps, comforts forge, cosmetic armor reworked, culinary construct, curios, cylic, deeper in the caves remake, doggy talents, dungeon crawl, dungeons plus, enchantment descriptions, feed the beast gui library, geckolib, goblin traders, gravestone, Hwyla, ice and fire, inventory pets, iron chest, jei, just enough resources, maccaw bridges, maccaw doors, maccaw fences, maccaw trapdoors, maccaw windows, maccaw roofs, maccaw furniture, mouse tweaks, mowziesmobs, natures compass, nether portal fix, overloaded armor bar, pams harvestcraft foodcore, pams harvestcraft foodextended, patchouli, repurposed structures, scaling health, serene seasons, silent lib, Spice of life carrot edition, spartan shields, spartan weaponry, structure gel, survive, toughnessbar, tumbleweed, twilight forest, u team core, union lib, upgrade aquatic, useful backpacks, waila harvestability, xaeros minimap, xp tome
    • hey so ive ran into a problem trying to make an server for vampires and vampire hunters when i go to look at mod items i crash  ---- Minecraft Crash Report ---- WARNING: coremods are present:   TheBetweenlandsLoadingPlugin (TheBetweenlands-2.0.4-alpha-universal.jar)   CTMCorePlugin (CTM-MC1.10.2-0.3.2.35.jar)   OpenModsCorePlugin (OpenModsLib-1.10.2-0.11.5.jar)   MalisisCorePlugin (malisiscore-1.10.2-4.4.0.jar) Contact their authors BEFORE contacting forge // You should try our sister game, Minceraft! Time: 6/18/21 6:44 PM Description: Rendering screen java.lang.NullPointerException: Rendering screen     at net.minecraft.client.renderer.RenderItem.func_180453_a(RenderItem.java:418)     at net.minecraft.client.renderer.RenderItem.func_175030_a(RenderItem.java:391)     at net.minecraft.client.gui.inventory.GuiContainerCreative.func_147051_a(GuiContainerCreative.java:868)     at net.minecraft.client.gui.inventory.GuiContainerCreative.func_146976_a(GuiContainerCreative.java:703)     at net.minecraft.client.gui.inventory.GuiContainer.func_73863_a(GuiContainer.java:76)     at net.minecraft.client.renderer.InventoryEffectRenderer.func_73863_a(InventoryEffectRenderer.java:51)     at net.minecraft.client.gui.inventory.GuiContainerCreative.func_73863_a(GuiContainerCreative.java:591)     at net.minecraftforge.client.ForgeHooksClient.drawScreen(ForgeHooksClient.java:382)     at net.minecraft.client.renderer.EntityRenderer.func_181560_a(EntityRenderer.java:1094)     at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1076)     at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:371)     at net.minecraft.client.main.Main.main(SourceFile:124)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke(Method.java:497)     at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)     at net.minecraft.launchwrapper.Launch.main(Launch.java:28) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Client thread Stacktrace:     at net.minecraft.client.renderer.RenderItem.func_180453_a(RenderItem.java:418)     at net.minecraft.client.renderer.RenderItem.func_175030_a(RenderItem.java:391)     at net.minecraft.client.gui.inventory.GuiContainerCreative.func_147051_a(GuiContainerCreative.java:868)     at net.minecraft.client.gui.inventory.GuiContainerCreative.func_146976_a(GuiContainerCreative.java:703)     at net.minecraft.client.gui.inventory.GuiContainer.func_73863_a(GuiContainer.java:76)     at net.minecraft.client.renderer.InventoryEffectRenderer.func_73863_a(InventoryEffectRenderer.java:51)     at net.minecraft.client.gui.inventory.GuiContainerCreative.func_73863_a(GuiContainerCreative.java:591)     at net.minecraftforge.client.ForgeHooksClient.drawScreen(ForgeHooksClient.java:382) -- Screen render details -- Details:     Screen name: net.minecraft.client.gui.inventory.GuiContainerCreative     Mouse location: Scaled: (324, 16). Absolute: (1297, 937)     Screen size: Scaled: (480, 251). Absolute: (1920, 1001). Scale factor of 4 -- Affected level -- Details:     Level name: MpServer     All players: 1 total; [EntityPlayerSP['FirexQueen7988'/222, l='MpServer', x=172.58, y=64.00, z=250.93]]     Chunk stats: MultiplayerChunkCache: 121, 121     Level seed: 0     Level generator: ID 00 - default, ver 1. Features enabled: false     Level generator options:      Level spawn location: World: (192,64,248), Chunk: (at 0,4,8 in 12,15; contains blocks 192,0,240 to 207,255,255), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)     Level time: 47936 game time, 47936 day time     Level dimension: 0     Level storage version: 0x00000 - Unknown?     Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)     Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false     Forced entities: 86 total; [[EntityConvertedCreature['Vampire Horse'/512, l='MpServer', x=211.90, y=63.00, z=266.17] representing EntityHorse['Horse'/536, l='MpServer', x=211.90, y=63.00, z=266.17]], EntityPlayerSP['FirexQueen7988'/222, l='MpServer', x=168.85, y=64.00, z=250.31], EntityCreeper['Creeper'/776, l='MpServer', x=192.50, y=44.00, z=232.50], EntityCreeper['Creeper'/521, l='MpServer', x=145.50, y=34.00, z=277.50], EntityZombie['Zombie'/650, l='MpServer', x=113.50, y=18.00, z=314.50], EntityBasicVampire['Vampire'/269, l='MpServer', x=156.75, y=64.00, z=254.66], EntityCreeper['Creeper'/781, l='MpServer', x=215.18, y=55.00, z=272.58], EntitySquid['Squid'/530, l='MpServer', x=191.85, y=61.58, z=305.73], EntitySquid['Squid'/532, l='MpServer', x=189.81, y=60.00, z=308.96], EntityCreeper['Creeper'/663, l='MpServer', x=158.50, y=32.00, z=245.50], EntitySkeleton['Skeleton'/279, l='MpServer', x=111.50, y=68.00, z=309.50], EntityBat['Bat'/794, l='MpServer', x=117.52, y=49.07, z=254.65], EntityItem['item.item.leather'/796, l='MpServer', x=208.40, y=62.00, z=280.32], EntityZombie['Zombie'/669, l='MpServer', x=206.50, y=55.00, z=292.50], EntityBat['Bat'/797, l='MpServer', x=223.75, y=32.96, z=278.25], EntityZombie['Zombie'/670, l='MpServer', x=205.50, y=55.00, z=293.50], EntityZombie['Zombie'/671, l='MpServer', x=204.50, y=55.00, z=293.50], EntityBat['Bat'/799, l='MpServer', x=163.25, y=22.03, z=236.75], EntityBat['Bat'/802, l='MpServer', x=121.58, y=57.00, z=284.52], EntityBat['Bat'/547, l='MpServer', x=156.25, y=48.10, z=215.75], EntityBat['Bat'/804, l='MpServer', x=169.25, y=58.10, z=280.75], EntityCreeper['Creeper'/421, l='MpServer', x=162.50, y=25.00, z=277.50], EntityBat['Bat'/559, l='MpServer', x=178.55, y=43.10, z=200.25], EntitySkeleton['Skeleton'/819, l='MpServer', x=174.50, y=47.00, z=222.50], EntityBat['Bat'/692, l='MpServer', x=165.82, y=33.56, z=197.86], EntityBasicVampire['Vampire'/568, l='MpServer', x=132.50, y=29.00, z=251.22], EntityBat['Bat'/696, l='MpServer', x=138.25, y=57.10, z=278.25], EntityPig['Pig'/58, l='MpServer', x=107.87, y=64.00, z=252.45], EntityBasicVampire['Vampire'/445, l='MpServer', x=209.39, y=62.21, z=278.20], EntityPig['Pig'/62, l='MpServer', x=109.49, y=72.00, z=276.22], EntityItem['item.item.seeds'/447, l='MpServer', x=216.30, y=63.00, z=264.13], EntityItem['item.item.arrow'/831, l='MpServer', x=189.20, y=63.00, z=218.96], EntityItem['item.item.bone'/832, l='MpServer', x=188.54, y=63.00, z=220.21], EntityZombie['Zombie'/705, l='MpServer', x=183.20, y=42.00, z=307.48], EntityWitch['Witch'/834, l='MpServer', x=159.26, y=47.00, z=189.47], EntityZombie['Zombie'/835, l='MpServer', x=159.50, y=20.00, z=239.50], EntityCreeper['Creeper'/836, l='MpServer', x=157.50, y=20.00, z=237.50], EntitySpider['Spider'/837, l='MpServer', x=158.50, y=20.00, z=236.50], EntityPig['Pig'/70, l='MpServer', x=120.49, y=64.00, z=189.77], EntityCreeper['Creeper'/838, l='MpServer', x=157.50, y=53.00, z=232.50], EntitySkeleton['Skeleton'/585, l='MpServer', x=138.50, y=52.00, z=266.50], EntitySkeleton['Skeleton'/713, l='MpServer', x=112.50, y=72.00, z=272.50], EntitySkeleton['Skeleton'/714, l='MpServer', x=112.50, y=72.00, z=276.50], EntityZombie['Zombie'/331, l='MpServer', x=183.23, y=64.00, z=241.93], EntityCreeper['Creeper'/843, l='MpServer', x=123.50, y=43.00, z=226.50], EntityItem['item.item.rottenFlesh'/844, l='MpServer', x=191.63, y=64.00, z=237.63], EntityAdvancedVampire['Cultist Courn'/77, l='MpServer', x=169.70, y=37.00, z=239.50], EntityAdvancedVampire['Prince Zin'/78, l='MpServer', x=174.31, y=37.00, z=235.50], EntityAdvancedVampire['Sinister Solace'/79, l='MpServer', x=168.68, y=22.00, z=267.50], EntityHorse['Horse'/80, l='MpServer', x=168.87, y=64.00, z=271.07], EntityItem['item.item.vampirism.blood_bottle'/81, l='MpServer', x=173.57, y=21.00, z=273.21], EntitySpider['Spider'/594, l='MpServer', x=147.50, y=65.00, z=270.50], EntityHorse['Horse'/84, l='MpServer', x=166.90, y=64.00, z=229.00], EntityHorse['Horse'/85, l='MpServer', x=168.51, y=64.00, z=230.75], EntityHorse['Horse'/86, l='MpServer', x=185.46, y=64.00, z=260.61], EntityHorse['Horse'/87, l='MpServer', x=164.13, y=64.00, z=240.14], EntityHorse['Horse'/88, l='MpServer', x=191.04, y=64.00, z=266.11], EntityZombie['Zombie'/344, l='MpServer', x=188.77, y=64.00, z=248.45], EntityBasicVampire['Vampire'/601, l='MpServer', x=181.83, y=63.00, z=192.85], EntityHorse['Horse'/89, l='MpServer', x=191.36, y=62.67, z=279.97], EntityPlayerSP['FirexQueen7988'/222, l='MpServer', x=172.58, y=64.00, z=250.93], EntityPlayerSP['FirexQueen7988'/222, l='MpServer', x=196.70, y=64.00, z=237.70], EntitySkeleton['Skeleton'/604, l='MpServer', x=164.50, y=48.00, z=187.50], EntitySheep['Sheep'/94, l='MpServer', x=207.27, y=65.00, z=187.46], EntityHorse['Horse'/95, l='MpServer', x=184.01, y=64.00, z=240.06], EntitySpider['Spider'/479, l='MpServer', x=211.50, y=66.00, z=189.50], EntityZombie['Zombie'/607, l='MpServer', x=113.50, y=37.00, z=273.50], EntityZombie['Zombie'/736, l='MpServer', x=190.50, y=33.00, z=291.50], EntityChicken['Chicken'/99, l='MpServer', x=222.38, y=65.00, z=188.17], EntityBasicVampire['Vampire'/739, l='MpServer', x=190.50, y=33.00, z=294.50], EntityItem['item.item.seeds'/484, l='MpServer', x=206.18, y=62.00, z=276.70], EntitySkeleton['Skeleton'/228, l='MpServer', x=216.50, y=66.00, z=208.79], EntityBasicVampire['Vampire'/740, l='MpServer', x=188.50, y=33.00, z=297.50], EntityBasicVampire['Vampire'/613, l='MpServer', x=142.50, y=17.00, z=205.50], EntityChicken['Chicken'/101, l='MpServer', x=218.26, y=65.00, z=191.10], EntityBat['Bat'/742, l='MpServer', x=128.08, y=56.00, z=231.33], EntitySkeleton['Skeleton'/619, l='MpServer', x=195.50, y=53.00, z=303.50], EntityZombie['Zombie'/236, l='MpServer', x=187.64, y=64.00, z=256.81], EntityZombie['Zombie'/622, l='MpServer', x=150.65, y=23.00, z=307.65], EntityZombie['Zombie'/623, l='MpServer', x=151.50, y=23.00, z=306.50], EntityBat['Bat'/628, l='MpServer', x=168.01, y=17.32, z=287.36], EntityCreeper['Creeper'/760, l='MpServer', x=210.50, y=50.00, z=287.50], EntityBasicVampire['Vampire'/761, l='MpServer', x=212.50, y=50.00, z=287.50], EntityBasicVampire['Vampire'/762, l='MpServer', x=215.21, y=50.00, z=287.53], EntityBasicVampire['Vampire'/763, l='MpServer', x=149.50, y=42.00, z=292.50], EntityBat['Bat'/507, l='MpServer', x=234.75, y=54.10, z=258.25]]     Retry entities: 0 total; []     Server brand: fml,forge     Server type: Non-integrated multiplayer server Stacktrace:     at net.minecraft.client.multiplayer.WorldClient.func_72914_a(WorldClient.java:415)     at net.minecraft.client.Minecraft.func_71396_d(Minecraft.java:2660)     at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:392)     at net.minecraft.client.main.Main.main(SourceFile:124)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke(Method.java:497)     at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)     at net.minecraft.launchwrapper.Launch.main(Launch.java:28) -- System Details -- Details:     Minecraft Version: 1.10.2     Operating System: Windows 10 (amd64) version 10.0     Java Version: 1.8.0_51, Oracle Corporation     Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation     Memory: 1227847552 bytes (1170 MB) / 2447900672 bytes (2334 MB) up to 3817865216 bytes (3641 MB)     JVM Flags: 4 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx4096m -Xms256m -XX:PermSize=256m     IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 95     FML: MCP 9.32 Powered by Forge 12.18.3.2511 21 mods loaded, 21 mods active     States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored     UCHIJA    mcp{9.19} [Minecraft Coder Pack] (minecraft.jar)      UCHIJA    FML{8.0.99.99} [Forge Mod Loader] (forge-1.10.2-12.18.3.2511.jar)      UCHIJA    Forge{12.18.3.2511} [Minecraft Forge] (forge-1.10.2-12.18.3.2511.jar)      UCHIJA    openmodscore{0.11.5} [OpenModsLib Core] (minecraft.jar)      UCHIJA    BiomesOPlenty{5.0.0.2236} [Biomes O' Plenty] (BiomesOPlenty-1.10.2-5.0.0.2236-universal.jar)      UCHIJA    ctm{MC1.10.2-0.3.2.35} [CTM] (CTM-MC1.10.2-0.3.2.35.jar)      UCHIJA    chisel{MC1.10.2-0.2.1.47} [Chisel] (Chisel-MC1.10.2-0.2.1.47.jar)      UCHIJA    JEI{3.14.7.420} [Just Enough Items] (jei_1.10.2-3.14.7.420.jar)      UCHIJA    chiselsandbits{12.18} [Chisels & Bits] (chiselsandbits-12.18.jar)      UCHIJA    customnpcs{1.10.2} [CustomNPCs] (CustomNPCs_1.10.2(21jul17).jar)      UCHIJA    journeymap{1.10.2-5.5.2} [JourneyMap] (journeymap-1.10.2-5.5.2.jar)      UCHIJA    malisiscore{1.10.2-4.4.0} [MalisisCore] (malisiscore-1.10.2-4.4.0.jar)      UCHIJA    malisisdoors{1.10.2-5.2.0} [MalisisDoors] (malisisdoors-1.10.2-5.2.0.jar)      UCHIJA    minecolonies{@VERSION@} [MineColonies] (minecolonies-universal-1.10.2-0.9.7587.jar)      UCHIJA    openmods{0.11.5} [OpenModsLib] (OpenModsLib-1.10.2-0.11.5.jar)      UCHIJA    openblocks{1.7.6} [OpenBlocks] (OpenBlocks-1.10.2-1.7.6.jar)      UCHIJA    subcommonlib{1.1.3.0} [Subaraki's Common Library] (sublib-1.10.2-1.1.3.0.jar)      UCHIJA    telepads{1.10.2 v1.0.1.3} [Telepads] (telepads-1.10.2-1.0.1.3.jar)      UCHIJA    thebetweenlands{2.0.4-alpha} [The Betweenlands] (TheBetweenlands-2.0.4-alpha-universal.jar)      UCHIJA    vampirism{1.2.5} [Vampirism] (Vampirism-1.10.2-1.2.5.jar)      UCHIJA    teamlapen-lib{1.2.5} [TeamLapen Library] (Vampirism-1.10.2-1.2.5.jar)      Loaded coremods (and transformers):  TheBetweenlandsLoadingPlugin (TheBetweenlands-2.0.4-alpha-universal.jar)   thebetweenlands.core.TheBetweenlandsClassTransformer CTMCorePlugin (CTM-MC1.10.2-0.3.2.35.jar)   team.chisel.ctm.client.asm.CTMTransformer OpenModsCorePlugin (OpenModsLib-1.10.2-0.11.5.jar)   openmods.core.OpenModsClassTransformer MalisisCorePlugin (malisiscore-1.10.2-4.4.0.jar)   net.malisis.core.util.chunkcollision.ChunkCollisionTransformer   net.malisis.core.util.chunkblock.ChunkBlockTransformer   net.malisis.core.renderer.transformer.MalisisRendererTransformer   net.malisis.core.renderer.icon.asm.TextureMapTransformer   net.malisis.core.util.clientnotif.ClientNotifTransformer     GL info: ' Vendor: 'Intel' Version: '4.6.0 - Build 27.20.100.9565' Renderer: 'Intel(R) Iris(R) Xe Graphics'     OpenModsLib class transformers: [pre_world_render_hook:FINISHED],[movement_callback:FINISHED],[player_damage_hook:FINISHED],[map_gen_fix:FINISHED],[player_render_hook:FINISHED],[horse_null_fix:FINISHED]     Launched Version: forge-12.18.3.2511     LWJGL: 2.9.4     OpenGL: Intel(R) Iris(R) Xe Graphics GL version 4.6.0 - Build 27.20.100.9565, Intel     GL Caps: Using GL 1.3 multitexturing. Using GL 1.3 texture combiners. Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported. Shaders are available because OpenGL 2.1 is supported. VBOs are available because OpenGL 1.5 is supported.     Using VBOs: Yes     Is Modded: Definitely; Client brand changed to 'fml,forge'     Type: Client (map_client.txt)     Resource Packs:      Current Language: English (US)     Profiler Position: N/A (disabled)     CPU: 8x 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
    • Ethera is Recruiting!   Ethera is a custom coded rpg mmo minecraft server. We are two years into development.  The server includes;  - Custom coded, dynamic, world generation (Our world is constantly & automatically changing) - Custom coded dungeon generator and  - Upgradeable settlement system - A custom coded professions and economy system.  - We can add original, new biomes to the world while players play.   We are looking for volunteers to join our amazing, dedicated, and creative Staff Team!   We are looking for anyone with skills in: - Building ( World Edit is an asset) - Java Development/ Plugin-Development - Plugin Configuration - Discord Bot Development - Web Design and Development - Digital Art - 3D modeling and Blockbench   -We have an age requirement -Having a working microphone is mandatory.   If you are interested you can join our discord: https://discord.gg/H9akt3C Or DM :   Kalinox#0001
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.