SpongeForge icon indicating copy to clipboard operation
SpongeForge copied to clipboard

Grave will not capture all items on death

Open ProsperCraft opened this issue 6 years ago • 7 comments

I am currently running

Minecraft: 1.12.2
SpongeAPI: 7.1.0-SNAPSHOT-06016f2
SpongeForge: 1.12.2-2611-7.1.0-BETA-2990
Minecraft Forge: 14.23.2.2628
  • Java version: openjdk version "1.8.0_161"
  • Operating System: Centos 7 minimal install
  • Plugins/Mods: Plugins (21): Minecraft, Minecraft Coder Pack, SpongeAPI, SpongeForge, BetterChunkLoader, EconomyLite, GriefPrevention, LuckPerms, MMCReboot, MMCRestrict, MagiBridge, Nations, Nucleus, PayDay, PwnFilter Sponge Plugin, Rankup, ServerListPlus, SleepVote, StatusProtocol, Tab Modifier, WorldEdit

Mods (164): Minecraft, Minecraft Coder Pack, Forge Mod Loader, Minecraft Forge, SpongeAPI, SpongeForge, /dank/null, AI Improvements, Applied Energistics 2, Astikoor, Backpacks!, Bad Wither No Cookie! Reloaded, Bailey's Dailies, Baubles, Bed Bugs, Better Animals Mod, Better Builder's Wands, Better Questing, Better Questing Quest Book, BiblioCraft, Binnie Core, Binnie's Botany, Binnie's Design, Binnie's Extra Bees, Binnie's Extra Trees, Binnie's Genetics, Biomes O' Plenty, Bookshelf, Car Mod, Cavern II, Ceramics, Chameleon, ChinjufuMod, Chisel, Chisels & Bits, Chococraft 3, Chunk Pregenerator, CoFH Core, CoFH World, CodeChicken Lib, Cooking for Blockheads, Corail Pillar, Corail Pillar - Biomes O'Plenty Extension, Corail Pillar - Chisel Extension, Corail Pillar - Forestry Extension, Corail Tombstone, CosmeticArmorReworked, CraftTweaker JEI Support, CraftTweaker2, CustomNPCs, Dark Roleplay Core, Dark Roleplay Medieval, Decocraft, DeepResonance, Default World Generator, Diet Hopper, Display, Dooglamoo Cities, Edible Bugs Mod, ElecCore, Elevator Mod, EnderTanks, EqualDragons, Extra Bit Manipulation, Farming for Blockheads, Farseek, Fast Leaf Decay, FoamFix, FoamFixCore, Forestry, Futurepack, Futurepack API, Futurepack Forestry Addon, Hydrophobia, Immersive Engineering, Immersive Petroleum, Immersive Railroading, Immersive Tech, Industrial Foregoing, Industrial Wires, IndustrialCraft 2, Inventory Tweaks, JEI Bees, Just Enough Items, LLibrary, Landlust, Lapis Stays in the Enchanting Table, Laser Level, LibrarianLib, LibrarianLib Stage 2, Long Fall Boots, LunatriusCore, MTLib, MagicBees, Mantle, McJtyLib, Mekanism, MekanismTools, MineColonies, MineTweakerRecipeMaker, Minecraft Transport Simulator, Mod Tweaker, MrCrayfish's Furniture Mod, MrCrayfish's Jumping Castle Mod, Multi-Beds, Multi-Storage, Natura, Nature's Compass, No FOV, NoNausea, NotEnoughIDs, OC Glasses, Open Glider, OpenComputers, OpenComputers (Core), OpenComputers Sensors, OpenEye, Placebo, Platforms, Prefab, Pumpkin Carving, RC Roads, RF Lux, RandomPatches, Reborn Core, Redstone Flux, Rocky Core, Rope Bridge, Sampling Performance Profiler, Shadowfacts' Forgelin, ShetiPhian-Core, Standard Expansion, Steve's Carts 2, Storage Drawers, Streams, Super Sound Muffler, TESLA, TOP Addons, Tech Reborn, Techguns, Techguns Core, Tell Me, Tesla Core Lib, Tesla Core Lib Registries, The One Probe, Thermal Dynamics, Thermal Expansion, Thermal Foundation, TickProfiler, ToroChess, Track API, Unloader, Waddles, Wearables, What Are We Looking At, Wizardry, World Drop, Xtones, Zetta Industries, careerbees, mxTune, p455w0rd's Library, ptrmodellib, �9RuneCraft

https://minecraft.curseforge.com/projects/towncraft

Issue Description With sponge enabled Techguns inventory tab(https://minecraft.curseforge.com/projects/techguns) will not get captured by Tombstones(https://minecraft.curseforge.com/projects/corail-tombstone).

This has been verified to work in Forge only on our server with our modpack, and by the mod author. Then verified not to work with sponge onboard.

https://github.com/Corail31/tombstone_lite/issues/28

TombstoneLogs.zip

ProsperCraft avatar Mar 28 '18 13:03 ProsperCraft

Hi, to provide more infos : tombstone only uses the PlayerDropsEvent NB : for now, Tombstone uses a provisory fix to make it works, but the problem is still present any way (in the latest for 2655 too)

ghost avatar Mar 31 '18 14:03 ghost

still an issue on latest?

phit avatar Jun 15 '18 21:06 phit

It is hard to say, because Corail put in a work around(hack), will have to wait for his reply.

ProsperCraft avatar Jun 15 '18 22:06 ProsperCraft

it's still an issue, with sponge 1.12.2-2705-7.1.0-BETA-3171, the equipped techgun ammos are never present in the playerdrop event

ghost avatar Jun 18 '18 17:06 ghost

This is caused by the weird way in which TechGuns performs drops from its own inventory.

In its PlayerDropsEvent listener, TechGuns runs this snippet of code:

player.captureDrops = true;
props.dropInventory(player);
player.captureDrops = false;

Instead of adding its drops directly to the event, it spawns the items into the world after turning on capturing. The only reason that this ever works is that Forge's list of captured drops Entity.capturedDrops is the same object that's used in PlayerDropsEvent

Sponge takes over PlayerDropsEvent, firing it during the unwinding of our EntityDeathState. Since we don't perform drop capturing during unwinding, TechGuns's custom drops never make their way into PlayerDropsEvent.

@gabizou: I'm not sure what the best way to deal with this is - any solution is going to be pretty ugly. We might need to create a special phase for firing LivingDropsEvent, and add any drops created during the firing of the event directly to the event.

Aaron1011 avatar Jun 18 '18 19:06 Aaron1011

There's already a few states in use during living drops, we can do as I had to do for hatchery where the phase state dictates how to handle the list supplied to the event.

gabizou avatar Jun 18 '18 21:06 gabizou

if it can help, the techguns ammos are not around the grave too (because my graves also catch items around) and that's why i catch theses ammos in the next tick as a provisory fix.

ghost avatar Jun 19 '18 01:06 ghost