ItemModule.java
package com.hypixel.hytale.server.core.modules.item;
import com.hypixel.hytale.codec.lookup.Priority;
import com.hypixel.hytale.common.plugin.PluginManifest;
import com.hypixel.hytale.logger.HytaleLogger;
import com.hypixel.hytale.server.core.asset.type.item.config.Item;
import com.hypixel.hytale.server.core.asset.type.item.config.ItemCategory;
import com.hypixel.hytale.server.core.asset.type.item.config.ItemDrop;
import com.hypixel.hytale.server.core.asset.type.item.config.ItemDropList;
import com.hypixel.hytale.server.core.asset.type.item.config.container.ItemDropContainer;
import com.hypixel.hytale.server.core.inventory.ItemStack;
import com.hypixel.hytale.server.core.inventory.container.EmptyItemContainer;
import com.hypixel.hytale.server.core.inventory.container.ItemContainer;
import com.hypixel.hytale.server.core.inventory.container.SimpleItemContainer;
import com.hypixel.hytale.server.core.modules.item.commands.SpawnItemCommand;
import com.hypixel.hytale.server.core.plugin.JavaPlugin;
import com.hypixel.hytale.server.core.plugin.JavaPluginInit;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.ThreadLocalRandom;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
public class ItemModule extends JavaPlugin {
PluginManifest.corePlugin(ItemModule.class).build();
ItemModule instance;
ItemModule {
instance;
}
{
(init);
instance = ;
}
{
.getCommandRegistry().registerCommand( ());
ItemContainer.CODEC.register(Priority.DEFAULT, (String), SimpleItemContainer.class, SimpleItemContainer.CODEC);
ItemContainer.CODEC.register((String), EmptyItemContainer.class, EmptyItemContainer.CODEC);
}
List<String> {
List<String> ids = <String>();
ItemCategory[] itemCategories = (ItemCategory[])ItemCategory.getAssetMap().getAssetMap().values().toArray((x$) -> [x$]);
(ItemCategory category : itemCategories) {
ItemCategory[] children = category.getChildren();
(children != ) {
.flattenCategories(category.getId() + , children, ids);
}
}
ids;
}
{
(ItemCategory category : itemCategories) {
parent + category.getId();
categoryIds.add(id);
ItemCategory[] children = category.getChildren();
(children != ) {
.flattenCategories(id + , children, categoryIds);
}
}
}
List<ItemStack> {
(.isDisabled()) {
Collections.emptyList();
} (dropListId == ) {
Collections.emptyList();
} {
(ItemDropList)ItemDropList.getAssetMap().getAsset(dropListId);
(itemDropList != && itemDropList.getContainer() != ) {
List<ItemStack> generatedItemDrops = <ItemStack>();
ThreadLocalRandom.current();
List<ItemDrop> configuredItemDrops = <ItemDrop>();
itemDropList.getContainer();
Objects.requireNonNull(random);
var10000.populateDrops(configuredItemDrops, random::nextDouble, dropListId);
(ItemDrop drop : configuredItemDrops) {
(drop != && drop.getItemId() != ) {
drop.getRandomQuantity(random);
(amount > ) {
generatedItemDrops.add( (drop.getItemId(), amount, drop.getMetadata()));
}
} {
((HytaleLogger.Api).getLogger().atWarning()).log(, dropListId);
}
}
generatedItemDrops;
} {
Collections.emptyList();
}
}
}
{
(.equals(key)) {
;
} (.equals(key)) {
;
} {
Item.getAssetMap().getAsset(key) != ;
}
}
}