Giter VIP home page Giter VIP logo

gatewaystoeternity's Introduction

Gateways to Eternity

About

Gateways to Eternity is a Minecraft mod that allows creating data-driven gameplay events called Gateways.

Gateways are a wave-based combat event. For each wave, a set group of enemies will spawn; progressing to the next wave requires killing all enemies before the timer elapses.
Completion of waves grants rewards to the player(s), and completion of the entire Gateway can provide additional benefits.

See the CurseForge Page for the full description.

Pack Developers

For information on adding custom gateways, see the schema. A basic understanding of how to add datapack content is required.

gatewaystoeternity's People

Contributors

cerulanlumina avatar jaredlll08 avatar shadows-of-fire avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

gatewaystoeternity's Issues

Cannot spawn mobs with area effect cloud passenger

Mobs summoned by a gateway with an area effect cloud as a passenger won't spawn the cloud. I've copy and pasted the same NBT from a working /summon command, so I'm not getting the syntax wrong. (Version 1.19.2)

Question - Is the mod compatible with `Tom's Simple Storage Mod`?

Is this mod compatible with the mod Tom's Simple Storage Mod?
I am playing TNP Limitless 7 and I stumbled upon a bug when I crafted Enderman Gate Pearl.
I don't know for sure if it is a crafting issue but when I crafted it and put it into the storage network and pulled it out it came back as 'Gated Pearl'.
So when I tried to use it, it didn't work because it was a generic one.
I reported the issue to the modpack issue page and the dev replied that it sounded like a 'cross mod interaction' between your mod and the other one mentioned previously.
The dev suggested that I ask you and see what you think is the reason for the issue.
Thanks in advance.

Space required for a gate is finicky

Using GatewaysToEternity-1.18.2-2.1.5.jar, gateways can be awfully finicky about the space required. I'm using the default gateway data, and, judging based on the GIF on the CurseForge page, this should be plenty of space. I've had gate pearls work and not work in the exact same spot for no discernible reason. Is there something I'm missing?
https://user-images.githubusercontent.com/19861808/200195863-1197aa8f-1f23-44db-ae47-dd9effd7ae5d.mp4

edit: no idea what's up with the video's resolution but it still gets the point across

Errored Gate Pearl?

So, I got this description saying "Errored Gate Pearl, file a bug report detailing how you obtained this." I killed a mutant zombie which completed a quest "Slay Mutant Zombie" under the Lesser Evils questline playing the curseforge mod pack Cisco's Fantasy Medieval RPG [Ultimate]. If you have any more questions feel free to reach out

Errored Gate Pearl

Got a message saying " Errored Gate Pearl , file a bug report detailing how you obtained this." Making mid-tier gateways. Recipes for mid don't show up in JEI either.

errored gate pearl reward

using ver 4.2.4
It was listed as one of the rewards, but because it said error ed, I chose not to select it. so I dont have a crash report to offer you
image

Medium-sized gate pearls recipes do not work

JEI/EMI does not show a recipe for them, and attempting to craft manually yields a broken gate pearl.

The gateway ID in the recipe no longer matches the gateway name in the data pack.

Will submit a PR to fix.

[Feature Request] Naturally spawning gateways?

They can spawn in the world near players at random intervals, with a minimum of three in-game days in between each gateway.

Other ideas to compliment this:

  • They only spawn at night
  • No rewards for naturally spawned gateways outside of the drops from enemies you kill.
  • They can only spawn in a spot where the sky is visible from above, to prevent getting ambushed in your base
  • This whole feature can be toggled on and off, as it may not be for everyone

Custom Gates won't accept NBT modifiers to entities

In MC 1.18.2, forge 40.2.0, gateways 2.2.1

Possible I'm doing something wildly wrong here, but I'm at my wit's end trying to figure out why Gateways won't parse my gates with custom entity nbt.

If I remove the nbt tags from my entities, it parses just fine, but even a simple one causes it to choke.

For example, this entity in a gate with only a single wave:

"entities": [{
			"entity": "minecraft:zombie",
			"nbt": {"ArmorItems": [{"id": "minecraft:leather_boots","Count": 1}]}
		}]

results in the following error:

[18Aug2023 08:17:25.974] [Worker-Main-2/ERROR] [Gateways to Eternity/]: Failed parsing gateways file gatewaystoeternity:test_gate.
[18Aug2023 08:17:25.974] [Worker-Main-2/ERROR] [Gateways to Eternity/]: Underlying Exception: 
java.lang.RuntimeException: java.lang.UnsupportedOperationException: JsonObject
	at shadows.placebo.json.SerializerBuilder.lambda$coerce$0(SerializerBuilder.java:72) ~[Placebo-1.18.2-6.6.6.jar%23304!/:6.6.6]
	at shadows.placebo.json.SerializerBuilder.lambda$autoRegister$2(SerializerBuilder.java:87) ~[Placebo-1.18.2-6.6.6.jar%23304!/:6.6.6]
	at shadows.placebo.json.SerializerBuilder$Serializer.read(SerializerBuilder.java:155) ~[Placebo-1.18.2-6.6.6.jar%23304!/:6.6.6]
	at shadows.gateways.gate.Wave.read(Wave.java:158) ~[GatewaysToEternity-1.18.2-2.2.1.jar%23198!/:?]
	at shadows.gateways.gate.Wave$Serializer.deserialize(Wave.java:226) ~[GatewaysToEternity-1.18.2-2.2.1.jar%23198!/:?]
	at shadows.gateways.gate.Wave$Serializer.deserialize(Wave.java:217) ~[GatewaysToEternity-1.18.2-2.2.1.jar%23198!/:?]

If I instead encapsulate the nbt object in single quotes

"entities": [{
			"entity": "minecraft:zombie",
			"nbt": '{"ArmorItems": [{"id": "minecraft:leather_boots","Count": 1}]}'
		}]

I get this error instead:

Use JsonReader.setLenient(true) to accept malformed JSON at line 7 column 12 path $.waves[0].entities[0].nbt

I've checked and double checked and run the thing through a JSON validator dozens of times just to make sure an it is not malformed, so I have no idea what's going on here. Is this a bug or am I just very confused?

Lang not loading

image

{
	"gateways.basic/overworldian_nights": "Overworld Rift Small"
}
{
  "pack": {
    "pack_format": 4,
    "description": "Custom Gateways for GatewaysToEternity"
  }
}

but on load file have name <Gate Pearl - gateways.basic/overworldian_nights>

Mod keep freezing the server

I'm using the latest version of the mod (1.20.1, 4.2.3) inside the modpack Craft to Exile 2

When i open a gate, any gate, the server starts to lag A LOT, it happens at every wave, when killing the last mob, lags so much that it kicks every player out of the server

logs:

java.lang.IllegalArgumentException: Infinity is not a valid double value as per JSON specification. To override this behavior, use GsonBuilder.serializeSpecialFloatingPointValues() method.
at MC-BOOTSTRAP/[email protected]/com.google.gson.Gson.checkValidFloatingPoint(Gson.java:444)
at MC-BOOTSTRAP/[email protected]/com.google.gson.Gson$2.write(Gson.java:433)
at MC-BOOTSTRAP/[email protected]/com.google.gson.Gson$2.write(Gson.java:419)
at MC-BOOTSTRAP/[email protected]/com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:70)
at MC-BOOTSTRAP/[email protected]/com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(MapTypeAdapterFactory.java:207)
at MC-BOOTSTRAP/[email protected]/com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(MapTypeAdapterFactory.java:144)
at MC-BOOTSTRAP/[email protected]/com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:70)
at MC-BOOTSTRAP/[email protected]/com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:196)
at MC-BOOTSTRAP/[email protected]/com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:366)
at MC-BOOTSTRAP/[email protected]/com.google.gson.Gson.toJson(Gson.java:825)
at MC-BOOTSTRAP/[email protected]/com.google.gson.Gson.toJson(Gson.java:795)
at MC-BOOTSTRAP/[email protected]/com.google.gson.Gson.toJson(Gson.java:742)
at MC-BOOTSTRAP/[email protected]/com.google.gson.Gson.toJson(Gson.java:719)
at TRANSFORMER/[email protected]/com.robertx22.library_of_exile.utils.LoadSave.Save(LoadSave.java:20)
at TRANSFORMER/[email protected]/com.robertx22.library_of_exile.components.EntityInfoComponent$DefaultImpl.serializeNBT(EntityInfoComponent.java:122)
at TRANSFORMER/[email protected]/com.robertx22.library_of_exile.components.EntityInfoComponent$DefaultImpl.serializeNBT(EntityInfoComponent.java:62)
at TRANSFORMER/[email protected]/net.minecraftforge.common.capabilities.CapabilityDispatcher.serializeNBT(CapabilityDispatcher.java:115)
at TRANSFORMER/[email protected]/net.minecraftforge.common.capabilities.CapabilityProvider.serializeCaps(CapabilityProvider.java:132)
at TRANSFORMER/[email protected]/net.minecraft.world.entity.Entity.m_20240_(Entity.java:1658)
at TRANSFORMER/[email protected]/net.minecraft.advancements.critereon.NbtPredicate.m_57485_(NbtPredicate.java:77)
at TRANSFORMER/[email protected]/net.minecraft.advancements.critereon.NbtPredicate.m_57477_(NbtPredicate.java:40)
at TRANSFORMER/[email protected]/net.minecraft.advancements.critereon.EntityPredicate.m_36607_(EntityPredicate.java:154)
at TRANSFORMER/[email protected]/net.minecraft.world.level.storage.loot.predicates.LootItemEntityPropertyCondition.test(LootItemEntityPropertyCondition.java:40)
at TRANSFORMER/[email protected]/net.minecraft.world.level.storage.loot.predicates.LootItemEntityPropertyCondition.test(LootItemEntityPropertyCondition.java:17)
at TRANSFORMER/[email protected]/net.minecraft.world.level.storage.loot.predicates.InvertedLootItemCondition.test(InvertedLootItemCondition.java:27)
at TRANSFORMER/[email protected]/net.minecraft.world.level.storage.loot.predicates.InvertedLootItemCondition.test(InvertedLootItemCondition.java:13)
at TRANSFORMER/[email protected]/net.minecraft.advancements.critereon.ContextAwarePredicate.m_285831_(ContextAwarePredicate.java:39)
at TRANSFORMER/[email protected]/net.minecraft.advancements.critereon.PlayerHurtEntityTrigger$TriggerInstance.m_60142_(PlayerHurtEntityTrigger.java:68)
at TRANSFORMER/[email protected]/net.minecraft.advancements.critereon.PlayerHurtEntityTrigger.m_60119_(PlayerHurtEntityTrigger.java:27)
at TRANSFORMER/[email protected]/net.minecraft.advancements.critereon.SimpleCriterionTrigger.m_66234_(SimpleCriterionTrigger.java:64)
at TRANSFORMER/[email protected]/net.minecraft.advancements.critereon.PlayerHurtEntityTrigger.m_60112_(PlayerHurtEntityTrigger.java:27)
at TRANSFORMER/[email protected]/net.minecraft.world.entity.LivingEntity.m_6469_(LivingEntity.java:1202)
at TRANSFORMER/[email protected]/net.minecraft.world.entity.monster.Zombie.m_6469_(Zombie.java:267)
at TRANSFORMER/[email protected]/dev.shadowsoffire.gateways.gate.Reward$EntityLootReward.generateLoot(Reward.java:175)
at TRANSFORMER/[email protected]/dev.shadowsoffire.gateways.gate.Wave.lambda$spawnRewards$2(Wave.java:72)
at MC-BOOTSTRAP/[email protected]/com.google.common.collect.ImmutableList.forEach(ImmutableList.java:422)
at TRANSFORMER/[email protected]/dev.shadowsoffire.gateways.gate.Wave.spawnRewards(Wave.java:72)
at TRANSFORMER/[email protected]/dev.shadowsoffire.gateways.entity.NormalGatewayEntity.completeWave(NormalGatewayEntity.java:54)
at TRANSFORMER/[email protected]/dev.shadowsoffire.gateways.entity.GatewayEntity.m_8119_(GatewayEntity.java:197)
at TRANSFORMER/[email protected]/net.minecraft.server.level.ServerLevel.m_8647_(ServerLevel.java:693)
at TRANSFORMER/[email protected]/net.minecraft.world.level.Level.mixinextras$bridge$accept$145(Level.java)
at TRANSFORMER/[email protected]/com.bawnorton.neruina.handler.NeruinaTickHandler.safelyTickEntities$notTheCauseOfTickLag(NeruinaTickHandler.java:115)
at TRANSFORMER/[email protected]/net.minecraft.world.level.Level.wrapOperation$bdf000$catchTickingEntities(Level.java:3540)
at TRANSFORMER/[email protected]/net.minecraft.world.level.Level.m_46653_(Level.java:479)
at TRANSFORMER/[email protected]/net.minecraft.server.level.ServerLevel.m_184063_(ServerLevel.java:343)
at TRANSFORMER/[email protected]/net.minecraft.world.level.entity.EntityTickList.m_156910_(EntityTickList.java:54)

[1.16] GatewayManager not properly initialized in multiplayer

I received a report that having ModernFix and JEI installed alongside Gateways To Eternity causes it to not work when connecting to a multiplayer server on 1.16.5. I noted the following stacktrace in the log:

[01Aug2023 12:24:07.923] [Render thread/FATAL] [net.minecraft.util.concurrent.ThreadTaskExecutor/]: Error executing task on Client
java.lang.RuntimeException: Received sync packet for unknown registry!
	at shadows.placebo.json.PlaceboJsonReloadListener.readItem(PlaceboJsonReloadListener.java:260) ~[placebo:4.7.1]
	at shadows.placebo.net.ReloadListenerPacket$Content.read(ReloadListenerPacket.java:65) ~[placebo:4.7.1]
	at shadows.placebo.net.ReloadListenerPacket$Content.read(ReloadListenerPacket.java:43) ~[placebo:4.7.1]
	at net.minecraftforge.fml.network.simple.IndexedMessageCodec.lambda$tryDecode$0(IndexedMessageCodec.java:106) ~[forge:?]
	at java.util.Optional.map(Unknown Source) ~[?:1.8.0_311]
	at net.minecraftforge.fml.network.simple.IndexedMessageCodec.tryDecode(IndexedMessageCodec.java:106) ~[forge:?]
	at net.minecraftforge.fml.network.simple.IndexedMessageCodec.consume(IndexedMessageCodec.java:148) ~[forge:?]
	at net.minecraftforge.fml.network.simple.SimpleChannel.networkEventListener(SimpleChannel.java:66) ~[forge:?]
	at net.minecraftforge.eventbus.EventBus.doCastFilter(EventBus.java:247) ~[eventbus-4.0.0.jar:?]
	at net.minecraftforge.eventbus.EventBus.lambda$addListener$11(EventBus.java:239) ~[eventbus-4.0.0.jar:?]
	at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?]
	at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?]
	at net.minecraftforge.fml.network.NetworkInstance.dispatch(NetworkInstance.java:72) ~[forge:?]
	at net.minecraftforge.fml.network.NetworkHooks.lambda$onCustomPayload$1(NetworkHooks.java:77) ~[forge:?]
	at java.util.Optional.map(Unknown Source) ~[?:1.8.0_311]
	at net.minecraftforge.fml.network.NetworkHooks.onCustomPayload(NetworkHooks.java:77) ~[forge:?]
	at net.minecraft.client.network.play.ClientPlayNetHandler.func_147240_a(ClientPlayNetHandler.java:1905) ~[?:?]
	at net.minecraft.network.play.server.SCustomPayloadPlayPacket.func_148833_a(SCustomPayloadPlayPacket.java:59) ~[?:?]
	at net.minecraft.network.play.server.SCustomPayloadPlayPacket.func_148833_a(SCustomPayloadPlayPacket.java:11) ~[?:?]
	at net.minecraft.network.PacketThreadUtil.func_225383_a(SourceFile:21) ~[?:?]
	at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(SourceFile:144) ~[?:?]

I believe the reason this is occurring is that the GatewayManager is not classloaded when connecting to a multiplayer server, as it only seems to be referenced from an AddReloadListenerEvent here. This differs from the 1.18+ implementation which explicitly calls registerToBus in its FMLCommonSetupEvent. Due to this implementation difference, there doesn't seem to be a guarantee that the underlying Placebo synced registry will have been initialized when the server attempts to send gateway data to the client.

To confirm this theory I added the following hack to ModernFix and relaunched the game. The issue immediately went away. I am not entirely sure why ModernFix and JEI are required to reproduce it, but the original logic does seem incorrect in any case.

    @SubscribeEvent
    public void loadComplete(FMLLoadCompleteEvent event) {
        event.enqueueWork(() -> {
            try { Class.forName("shadows.gateways.gate.GatewayManager"); } catch(Throwable e) {
                e.printStackTrace();
            }
        });
    }

I think you could fix this on your end easily by adding a FMLLoadCompleteEvent handler with something like the code shown below. The use of enqueueWork is intentional as the 1.16 version of PlaceboJsonReloadListener's constructor doesn't appear to be thread-safe.

        event.enqueueWork(() -> {
            GatewayManager.INSTANCE.getKeys(); // be sure it's classloaded
        });

Erroded gate pearl

I received an erroded gate pearl in RADS 2 from the Meet Your Fight! - Any Gate Pearl quest. I'm in a team and my friend completed the quest first and got a skeleton gate I just completed it by association, not sure if that's the difference but seems to be

Always one enemy leftr

I am using 1.18, version 2.20 of eternal gateways.
It's included in ftb:Inferno, and i updated the mod manually.
The Problem is, that on most gates, there is always one enemy remaining, even is i can find none in the area around.
It doesnt' happen ion ghast gates, and i though that this might be happening due to creepers that explode but are not counted as dead?

Apotheotic Gate Pearl breaks JEI tooltips

When looking at the tooltip for the Apotheotic Boss gate pearl, if you scroll to look at any wave beyond the first in the tooltip, JEI will error out and stop displaying tooltips for all items (Tooltip Error, See Logs) until client restart. Log details below:

-- Ingredient --
Details:
Name: Gate Pearl - Small Apothic Boss Gate
Mod's Name: Gateways To Eternity
Registry Name: gateways:gate_pearl
Class Name: class net.minecraft.world.item.ItemStack
toString Name: 1 gate_pearl
Unique Id for JEI (for JEI Blacklist): gateways:gate_pearl:apotheosis:boss_gate_small
Ingredient Type for JEI: class net.minecraft.world.item.ItemStack
Error Info gathered from JEI: 1 gate_pearl gateways:gate_pearl nbt:{gateway:"apotheosis:boss_gate_small"}

-- Stack Trace --

java.lang.NullPointerException: Cannot invoke "dev.shadowsoffire.apotheosis.adventure.boss.ApothBoss.getEntity()" because the return value of "java.util.function.Supplier.get()" is null
at TRANSFORMER/[email protected]/dev.shadowsoffire.apotheosis.adventure.compat.GatewaysCompat$BossWaveEntity.getDescription(GatewaysCompat.java:69)
at TRANSFORMER/[email protected]/dev.shadowsoffire.gateways.client.NormalGateClient.appendPearlTooltip(NormalGateClient.java:54)
at TRANSFORMER/[email protected]/dev.shadowsoffire.gateways.gate.normal.NormalGateway.appendPearlTooltip(NormalGateway.java:61)
at TRANSFORMER/[email protected]/dev.shadowsoffire.gateways.item.GatePearlItem.m_7373_(GatePearlItem.java:101)
at TRANSFORMER/[email protected]/net.minecraft.world.item.ItemStack.m_41651_(ItemStack.java:631)
at TRANSFORMER/[email protected]/mezz.jei.library.render.ItemStackRenderer.getTooltip(ItemStackRenderer.java:36)
at TRANSFORMER/[email protected]/mezz.jei.library.render.ItemStackRenderer.getTooltip(ItemStackRenderer.java:18)
at TRANSFORMER/[email protected]/mezz.jei.common.util.SafeIngredientUtil.getTooltip(SafeIngredientUtil.java:56)
at TRANSFORMER/[email protected]/mezz.jei.common.util.SafeIngredientUtil.getTooltip(SafeIngredientUtil.java:45)
at TRANSFORMER/[email protected]/mezz.jei.gui.overlay.IngredientGridTooltipHelper.getTooltip(IngredientGridTooltipHelper.java:60)
at TRANSFORMER/[email protected]/mezz.jei.gui.overlay.IngredientGridTooltipHelper.drawTooltip(IngredientGridTooltipHelper.java:55)
at TRANSFORMER/[email protected]/mezz.jei.gui.overlay.IngredientGrid.lambda$drawTooltips$4(IngredientGrid.java:184)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at TRANSFORMER/[email protected]/mezz.jei.gui.overlay.IngredientGrid.drawTooltips(IngredientGrid.java:184)
at TRANSFORMER/[email protected]/mezz.jei.gui.overlay.IngredientGridWithNavigation.drawTooltips(IngredientGridWithNavigation.java:246)
at TRANSFORMER/[email protected]/mezz.jei.gui.overlay.IngredientListOverlay.drawTooltips(IngredientListOverlay.java:183)
at TRANSFORMER/[email protected]/mezz.jei.gui.events.GuiEventHandler.onDrawScreenPost(GuiEventHandler.java:127)
at TRANSFORMER/[email protected]/mezz.jei.forge.startup.EventRegistration.lambda$registerGuiHandler$14(EventRegistration.java:112)
at TRANSFORMER/[email protected]/mezz.jei.core.util.WeakConsumer.accept(WeakConsumer.java:17)
at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.doCastFilter(EventBus.java:260)
at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.lambda$addListener$11(EventBus.java:252)
at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:315)
at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:296)
at TRANSFORMER/[email protected]/net.minecraftforge.client.ForgeHooksClient.drawScreenInternal(ForgeHooksClient.java:428)
at TRANSFORMER/[email protected]/net.minecraftforge.client.ForgeHooksClient.drawScreen(ForgeHooksClient.java:420)
at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer.m_109093_(GameRenderer.java:965)
at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1146)
at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.m_91374_(Minecraft.java:718)
at TRANSFORMER/[email protected]/net.minecraft.client.main.Main.main(Main.java:218)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at MC-BOOTSTRAP/[email protected]/net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111)
at MC-BOOTSTRAP/[email protected]/net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99)
at MC-BOOTSTRAP/[email protected]/net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25)
at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30)
at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53)
at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71)
at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.run(Launcher.java:108)
at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.main(Launcher.java:78)
at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26)
at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23)
at [email protected]/cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141)

"open_gateway" command missing in 1.20.1?

The /open_gateway command does not appear to be accessible in 1.20.1, whereas it is available when the Gateways mod is installed separately in 1.18.2 and 1.19.2. Tested under Minecraft 1.20.1, Forge versions 47.2.17, 47.2.0 and 47.0.0 (no other mods installed).

Is it possible to give a floor limit for the door?

I found that building a tall pillar on the ground, just the right height to let the monster fall down and drop a lot of blood and will not destroy the door.

Or the monster is born with a slow landing,

Gateways that run commands as part of rewards have their commands logged in the chat

I'm attempting to have a gateway use a /summon command to spawn a special entity as a reward. This is working exactly as intended, except for the fact that it runs the command in the chat, which while not game-breaking, does ruin immersion a bit.

I think a good solution to this problem would be to add an optional argument to the JSON structure that could allow logging commands to chat to be toggleable.

nbt tag and gear_set will not work if the entity has default weapon.

MC Version

1.20.1

forge Version

47.2.0

Mod Version

GatewaysToEternity-1.20.1-4.2.4 (lasted in curseforge)

Question Descript

I tried the following scenarios:
NBT tag and gear_set will not work if the entity has default weapon or armor.

i try to spawn a skeleton and with following codes and without any modifiers:

"entity": "minecraft:skeleton",
                    "count": 1,
                    "nbt": {
                        "CustomName": "{\"translate\":\"name.xueyuan_wuhao\",\"color\":\"gold\"}",
                        "HandItems": [
                            {
                                "Count": 1,
                                "id": "simplyswords:storms_edge",
                                "tag": {
                                    "Damage": 0
                                }
                            },
                            {
                                "Count": 1,
                                "id": "simplyswords:storms_edge",
                                "tag": {
                                    "Damage": 0
                                }
                            }
                        ]

the result is this skeleton's mainhand item is bow and offhand item is simplyswords:storms_edge.

image

next i try to write code in gear_sets to let this skeleton's mainhand and offhand item are diamond sword.

{
	"weight": 0,
	"quality": 0,
	"mainhands": [
		{
			"weight": 1,
			"stack": {
				"item": "minecraft:diamond_sword"
			},
			"drop_chance": 0.5
		}
	],
	"offhands": [
		{
			"weight": 1,
			"stack": {
				"item": "minecraft:diamond_sword"
			},
			"drop_chance": 0.5
		}
	],
	"helmets": [
		{
			"weight": 1,
			"stack": {
				"item": "twilightforest:fiery_helmet"
			},
			"drop_chance": 0
		}
	],
	"chestplates": [
		{
			"weight": 1,
			"stack": {
				"item": "twilightforest:fiery_chestplate"
			},
			"drop_chance": 0
		}
	],
	"leggings": [
		{
			"weight": 1,
			"stack": {
				"item": "twilightforest:fiery_leggings"
			},
			"drop_chance": 0
		}
	],
	"boots": [
		{
			"weight": 1,
			"stack": {
				"item": "twilightforest:fiery_boots"
			},
			"drop_chance": 0
		}
	],
	"tags": []
}

image

then i use nbtedit in game to see this entity's nbttag ,the nbt shows

dropchange was successfully applied, but mainhand item still is bow

image

final I changed the entity to a zombie it can take two diamond sword.

image

Similarly, my use of wither skeleton doesn't work, including the giant_miner in the TwilightForest mod

Small Apothic Boss Gate causes the game to freeze

When challenging the third stage of Small Apothic Boss Gate, the game will freeze permanently
No information appears in the log at the time of freezing
Strangely enough, when I found this problem, I opened a separate test module package and opened a Superflat world to test it, it can be summoned normally
But when I used a normal world to test it, the problem appeared
Apart from Apotheosis only Better Combat was installed

Apotheosis-1.19.2-6.2.1
GatewaysToEternity-1.19.2-3.2.0

Gateways keep closing because of "wave entities spawning too far"

I noticed that you fixed an issue on version 3.1.0 on 1.19.2 that caused mobs to constantly spawn in invalid areas and therefore close the gateway. I don't know whether or not the 1.18.2 version is discontinued, but can you please consider fixing this bug in 1.18.2? This mod was going to be a core part of my modpack and it's pretty much unusable when gateways keep closing randomly. If you want to, you could also make it that you can specify in the JSON file whether or not you want to disable wormholes closing, but that's up to you.

Fixing this glitch would be greatly appreciated! Have a nice day!

Crash with latest version

Hi, I'm working on a modpack update and kept getting this crash. After some testing, I've isolated that it's the most recent update of this mod causing it. Seems to be a bug with Oculus maybe? I have sickbrain so I can't figure it out.

crash-2023-05-22_15.36.53-client.txt

The crash has my modlist and other info, please let me know if I'm forgetting anything important.

Gateway reward release speed must adapt to the amount of rewards in queue

Currently, a Large Gate Pearl may take multiple minutes (in extreme cases, almost a full in-game day) to fully release its rewards after players kill the last of the wave mobs. This happens when players accumulate tens of thousands of items in rewards during and after each wave of the gate round.

To reproduce:

  1. Give yourself the following sword: /give @s netherite_sword{Enchantments:[{id:"minecraft:sharpness",lvl:99s},{id:"minecraft:smite",lvl:99s},{id:"minecraft:looting",lvl:9s}]} 1
  2. Summon a (preferably large) gate pearl.
  3. Using the sword from the command in step 1, kill the mobs in the gate wave by wave until the gate is successfully completed.
  4. Notice that rewards from the gate keep being released for as many as 5-10 minutes after the last of the mobs are killed.

Originally reproduced in ATM8 1.0.4 (Minecraft 1.19.2)
Mod version: 3.1.0

(Edit: reduced Looting on original test sword from 99 to 9 as looting 9 (or equivalent) is achievable with Apotheosis and Quark.)

[Issue] Gateway of Overworldian Nights can fail if a creeper explodes

I don't know whether this is an issue or not. Want to make sure it's not.

Describe the bug

I'm not sure if this is intended, but if a creeper spawned by this gateway explodes, the gateway quits and pops a chat message "The gateway imploded because an entity was removed without being killed"

Maybe don't spawn creepers or include an exception for them? Unless this is intentional, which I guess I could understand but is kind of dumb IMO.

Steps to reproduce

Craft said gateway
Use it
Let a creeper explode
Gateway quits

Expected behavior

Maybe the gateway should continue, since exploding is what creepers do?

Issue From: FTBTeam/FTB-Modpack-Issues#4353

Hello! Here are some suggestions!👍

Hello! A suggestion is that the current problem with mod is that monster generation is prone to problems, so you can change the way:

  1. Set a naturally-generated structure similar to the ancient Roman arena. Players can summon the door by clicking on a special box in the middle with a pearl. This structure set in advance can avoid most problems.
  2. Add an item that can generate a structure. The size of the structure can be perfectly adapted to the door. Then there is also a special box in the middle of the structure, which also needs to be clicked with pearls to summon.
    If the above suggestions are not ideal, I'm sorry to disturb you.

Gateway summon command doesn't work from console

Attempting open_gateway 46 126 -23 gateways:large_ghast from in game works fine, if I try to run this from the console
or from a command block it fails

I've tried several variations

/execute as Saereth run open_gateway 46 126 -23 gateways:dragon_retaliation
/execute as saereth in minecraft:the_end run open_gateway 46 126 -23 gateways:dragon_retaliation

all variations just throw an error: An unexpected error occurred trying to execute that command
and no portal spawns.

I'm trying to run a command to spawn a portal on a player as part of an event system and for a quest turn in.

loot_table reward crashes multiplayer server

Version: GatewaysToEternity-1.16.5-1.0.0

Description:
I created a custom gate and added the following reward-entry for a wave:

{
  "type": "loot_table",
  "loot_table": "minecraft:chests/simple_dungeon",
  "rolls": 1
}

In Singleplayer this works without any issues. But using this on a multiplayer server, the server instantly crashes when trying to drop the reward.

Crash-Report: https://hastebin.com/jicapuleco.http

Additional gate pearls do not take effect

Apotheosis adds a gate pearls to it's data pack, which works fine in single player, but doesn't work on servers
JEI can not be searched inside, and the gate pearls made after adding recipes can not be used

latest.log

[1.18.2] Using stack_list throws ClassCastException

Hello again, I'm having an issue with stack_list preventing gates from loading.

[14Nov2022 18:27:40.484] [Server thread/ERROR] [Gateways to Eternity/]: Underlying Exception: 
java.lang.ClassCastException: class java.util.ArrayList cannot be cast to class net.minecraft.core.NonNullList (java.util.ArrayList is in module java.base of loader 'bootstrap'; net.minecraft.core.NonNullList is in module [email protected] of loader 'TRANSFORMER' @46b2dcc5)
	at shadows.gateways.gate.Reward$StackListReward.read(Reward.java:195) ~[GatewaysToEternity-1.18.2-2.2.0.jar%23103!/:2.2.0]
	at shadows.placebo.json.SerializerBuilder$Serializer.read(SerializerBuilder.java:155) ~[Placebo-1.18.2-6.6.6.jar%23131!/:6.6.6]
	at shadows.gateways.gate.Reward.read(Reward.java:93) ~[GatewaysToEternity-1.18.2-2.2.0.jar%23103!/:2.2.0]
	at shadows.gateways.gate.Reward$Serializer.deserialize(Reward.java:130) ~[GatewaysToEternity-1.18.2-2.2.0.jar%23103!/:2.2.0]
	at shadows.gateways.gate.Reward$Serializer.deserialize(Reward.java:121) ~[GatewaysToEternity-1.18.2-2.2.0.jar%23103!/:2.2.0]
	at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[gson-2.8.9.jar%2335!/:?]
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[gson-2.8.9.jar%2335!/:?]
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82) ~[gson-2.8.9.jar%2335!/:?]
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) ~[gson-2.8.9.jar%2335!/:?]
	at com.google.gson.Gson.fromJson(Gson.java:963) ~[gson-2.8.9.jar%2335!/:?]
	at com.google.gson.Gson.fromJson(Gson.java:1034) ~[gson-2.8.9.jar%2335!/:?]
	at shadows.gateways.gate.Gateway.read(Gateway.java:109) ~[GatewaysToEternity-1.18.2-2.2.0.jar%23103!/:2.2.0]
	at shadows.placebo.json.SerializerBuilder$Serializer.read(SerializerBuilder.java:155) ~[Placebo-1.18.2-6.6.6.jar%23131!/:6.6.6]
	at shadows.placebo.json.PlaceboJsonReloadListener.lambda$apply$0(PlaceboJsonReloadListener.java:100) ~[Placebo-1.18.2-6.6.6.jar%23131!/:6.6.6]
	at java.util.HashMap.forEach(HashMap.java:1421) ~[?:?]
	at shadows.placebo.json.PlaceboJsonReloadListener.apply(PlaceboJsonReloadListener.java:88) ~[Placebo-1.18.2-6.6.6.jar%23131!/:6.6.6]
	at shadows.placebo.json.PlaceboJsonReloadListener.m_5787_(PlaceboJsonReloadListener.java:50) ~[Placebo-1.18.2-6.6.6.jar%23131!/:6.6.6]
	at net.minecraft.server.packs.resources.SimplePreparableReloadListener.m_10789_(SimplePreparableReloadListener.java:13) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?]
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
	at net.minecraft.server.packs.resources.SimpleReloadInstance.m_143940_(SimpleReloadInstance.java:69) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.server.TickTask.run(TickTask.java:18) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.util.thread.BlockableEventLoop.m_6367_(BlockableEventLoop.java:157) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.util.thread.ReentrantBlockableEventLoop.m_6367_(ReentrantBlockableEventLoop.java:23) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.server.MinecraftServer.m_6367_(MinecraftServer.java:799) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.server.MinecraftServer.m_6367_(MinecraftServer.java:164) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.util.thread.BlockableEventLoop.m_7245_(BlockableEventLoop.java:131) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.server.MinecraftServer.m_129961_(MinecraftServer.java:782) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.server.MinecraftServer.m_7245_(MinecraftServer.java:776) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.util.thread.BlockableEventLoop.m_18701_(BlockableEventLoop.java:140) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.server.MinecraftServer.m_129861_(MinecraftServer.java:1340) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.server.commands.ReloadCommand.m_138235_(ReloadCommand.java:22) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.server.commands.ReloadCommand.m_138228_(ReloadCommand.java:53) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:263) ~[brigadier-1.0.18.jar%2333!/:?]
	at net.minecraft.commands.Commands.m_82117_(Commands.java:234) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.server.network.ServerGamePacketListenerImpl.m_9957_(ServerGamePacketListenerImpl.java:1150) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.server.network.ServerGamePacketListenerImpl.m_143628_(ServerGamePacketListenerImpl.java:1129) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.server.network.ServerGamePacketListenerImpl.m_7388_(ServerGamePacketListenerImpl.java:1115) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.network.protocol.game.ServerboundChatPacket.m_5797_(ServerboundChatPacket.java:30) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.network.protocol.game.ServerboundChatPacket.m_5797_(ServerboundChatPacket.java:7) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.network.protocol.PacketUtils.m_131356_(PacketUtils.java:22) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.server.TickTask.run(TickTask.java:18) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.util.thread.BlockableEventLoop.m_6367_(BlockableEventLoop.java:157) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.util.thread.ReentrantBlockableEventLoop.m_6367_(ReentrantBlockableEventLoop.java:23) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.server.MinecraftServer.m_6367_(MinecraftServer.java:799) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.server.MinecraftServer.m_6367_(MinecraftServer.java:164) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.util.thread.BlockableEventLoop.m_7245_(BlockableEventLoop.java:131) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.server.MinecraftServer.m_129961_(MinecraftServer.java:782) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.server.MinecraftServer.m_7245_(MinecraftServer.java:776) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.util.thread.BlockableEventLoop.m_18699_(BlockableEventLoop.java:116) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.server.MinecraftServer.m_130012_(MinecraftServer.java:761) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:689) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at net.minecraft.server.MinecraftServer.m_177918_(MinecraftServer.java:261) ~[client-1.18.2-20220404.173914-srg.jar%23160!/:?]
	at java.lang.Thread.run(Thread.java:833) [?:?]

the relevant JSON:

"rewards": [{
        "type": "stack_list",
        "stacks": [
						{
							"item": "minecraft:nether_wart",
							"count": 8
						},
						{
							"item": "quark:soul_bead",
							"count": 8
						}
		]
    }],

Using any other reward type, and the JSON file in question is valid.

1.20.1/4.2.3 mobs do not spawn from gateways

2024-01-07_09 51 43

As per the screenshot in my normal world, I am running modded Minecraft 1.20.1 forge and using Gateways 4.2.3.

  • The spaces I open the portals in are valid
  • Mobs do not come out, but particles appear
  • I go to my creative world and successfully spawn mobs per round
  • I load back into my normal world and get a round complete, but mobs still do not spawn

Suggestion: Limit Gateways per player or chunk

Hi Shadows.

We're currently running a server and noticed some players would spam a bunch of Gateways at once in an area. The issue this causes is lag/TPS drops by a pretty substantial amount.

It's not a deal-breaker issue, but was wondering if you would be able to implement.

I have this mod in Craft to Exile 2.

Thanks!

Gateway durations are unstable

The first gateway placed, functions just fine.
After that first gateway is completed, later placing another gateway in the same location causes the new gateway to spawn its first wave of enemies, and then instantly close.
Subsequent gateways have unpredictable durations, sometimes playing out in full, sometimes spontaneously closing right after spawning a wave (without producing the experience bounty).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.