mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2026-01-06 15:52:03 +00:00
@@ -8,6 +8,7 @@ repositories {
|
|||||||
maven("https://repo.infernalsuite.com/repository/maven-snapshots/") // slime world
|
maven("https://repo.infernalsuite.com/repository/maven-snapshots/") // slime world
|
||||||
maven("https://repo.momirealms.net/releases/")
|
maven("https://repo.momirealms.net/releases/")
|
||||||
maven("https://mvn.lumine.io/repository/maven-public/") // model engine
|
maven("https://mvn.lumine.io/repository/maven-public/") // model engine
|
||||||
|
maven("https://nexus.phoenixdevt.fr/repository/maven-public/") // mmoitems
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
@@ -28,6 +29,9 @@ dependencies {
|
|||||||
compileOnly("com.ticxo.modelengine:ModelEngine:R4.0.8")
|
compileOnly("com.ticxo.modelengine:ModelEngine:R4.0.8")
|
||||||
// BetterModels
|
// BetterModels
|
||||||
compileOnly("io.github.toxicity188:BetterModel:1.4.2")
|
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 {
|
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;
|
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.compatibility.item.NeigeItemsProvider;
|
||||||
import net.momirealms.craftengine.bukkit.item.behavior.AxeItemBehavior;
|
import net.momirealms.craftengine.bukkit.item.behavior.AxeItemBehavior;
|
||||||
import net.momirealms.craftengine.bukkit.item.behavior.BoneMealItemBehavior;
|
import net.momirealms.craftengine.bukkit.item.behavior.BoneMealItemBehavior;
|
||||||
@@ -89,6 +90,9 @@ public class BukkitItemManager extends AbstractItemManager<ItemStack> {
|
|||||||
if (this.plugin.isPluginEnabled("NeigeItems")) {
|
if (this.plugin.isPluginEnabled("NeigeItems")) {
|
||||||
registerExternalItemProvider(new NeigeItemsProvider());
|
registerExternalItemProvider(new NeigeItemsProvider());
|
||||||
}
|
}
|
||||||
|
if (this.plugin.isPluginEnabled("MMOItems")) {
|
||||||
|
registerExternalItemProvider(new MMOItemsProvider());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1100,10 +1100,12 @@ public class PacketConsumers {
|
|||||||
try {
|
try {
|
||||||
IntList intList = FastNMS.INSTANCE.field$ClientboundRemoveEntitiesPacket$entityIds(packet);
|
IntList intList = FastNMS.INSTANCE.field$ClientboundRemoveEntitiesPacket$entityIds(packet);
|
||||||
for (int i = 0, size = intList.size(); i < size; i++) {
|
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;
|
if (entities == null) continue;
|
||||||
for (int entityId : entities) {
|
for (int subEntityId : entities) {
|
||||||
intList.add(entityId);
|
intList.add(subEntityId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user