mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-25 01:49:30 +00:00
@@ -8,6 +8,7 @@ repositories {
|
||||
maven("https://repo.infernalsuite.com/repository/maven-snapshots/") // slime world
|
||||
maven("https://repo.momirealms.net/releases/")
|
||||
maven("https://mvn.lumine.io/repository/maven-public/") // model engine
|
||||
maven("https://nexus.phoenixdevt.fr/repository/maven-public/") // mmoitems
|
||||
}
|
||||
|
||||
dependencies {
|
||||
@@ -28,6 +29,9 @@ dependencies {
|
||||
compileOnly("com.ticxo.modelengine:ModelEngine:R4.0.8")
|
||||
// BetterModels
|
||||
compileOnly("io.github.toxicity188:BetterModel:1.4.2")
|
||||
// MMOItems
|
||||
compileOnly("net.Indyuce:MMOItems-API:6.10-SNAPSHOT")
|
||||
compileOnly("io.lumine:MythicLib-dist:1.6.2-SNAPSHOT")
|
||||
}
|
||||
|
||||
java {
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.momirealms.craftengine.bukkit.compatibility.item;
|
||||
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.api.Type;
|
||||
import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem;
|
||||
import net.momirealms.craftengine.core.item.ExternalItemProvider;
|
||||
import net.momirealms.craftengine.core.item.ItemBuildContext;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import static java.util.Objects.requireNonNull;
|
||||
|
||||
public class MMOItemsProvider implements ExternalItemProvider<ItemStack> {
|
||||
@Override
|
||||
public String plugin() {
|
||||
return "MMOItems";
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable ItemStack build(String id, ItemBuildContext context) {
|
||||
String[] split = id.split(":", 2);
|
||||
MMOItem mmoItem = MMOItems.plugin.getMMOItem(Type.get(split[0]), split[1].toUpperCase(Locale.ENGLISH));
|
||||
return mmoItem == null ? new ItemStack(Material.AIR) : requireNonNull(mmoItem.newBuilder().build());
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package net.momirealms.craftengine.bukkit.item;
|
||||
|
||||
import net.momirealms.craftengine.bukkit.compatibility.item.MMOItemsProvider;
|
||||
import net.momirealms.craftengine.bukkit.compatibility.item.NeigeItemsProvider;
|
||||
import net.momirealms.craftengine.bukkit.item.behavior.AxeItemBehavior;
|
||||
import net.momirealms.craftengine.bukkit.item.behavior.BoneMealItemBehavior;
|
||||
@@ -89,6 +90,9 @@ public class BukkitItemManager extends AbstractItemManager<ItemStack> {
|
||||
if (this.plugin.isPluginEnabled("NeigeItems")) {
|
||||
registerExternalItemProvider(new NeigeItemsProvider());
|
||||
}
|
||||
if (this.plugin.isPluginEnabled("MMOItems")) {
|
||||
registerExternalItemProvider(new MMOItemsProvider());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1100,10 +1100,12 @@ public class PacketConsumers {
|
||||
try {
|
||||
IntList intList = FastNMS.INSTANCE.field$ClientboundRemoveEntitiesPacket$entityIds(packet);
|
||||
for (int i = 0, size = intList.size(); i < size; i++) {
|
||||
List<Integer> entities = user.furnitureView().remove(intList.getInt(i));
|
||||
int entityId = intList.getInt(i);
|
||||
user.entityView().remove(entityId);
|
||||
List<Integer> entities = user.furnitureView().remove(entityId);
|
||||
if (entities == null) continue;
|
||||
for (int entityId : entities) {
|
||||
intList.add(entityId);
|
||||
for (int subEntityId : entities) {
|
||||
intList.add(subEntityId);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
||||
Reference in New Issue
Block a user