mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-19 15:09:15 +00:00
use fast nms
This commit is contained in:
@@ -22,6 +22,8 @@ dependencies {
|
|||||||
// NBT
|
// NBT
|
||||||
compileOnly("net.momirealms:sparrow-nbt:${rootProject.properties["sparrow_nbt_version"]}")
|
compileOnly("net.momirealms:sparrow-nbt:${rootProject.properties["sparrow_nbt_version"]}")
|
||||||
compileOnly("net.momirealms:sparrow-util:${rootProject.properties["sparrow_util_version"]}")
|
compileOnly("net.momirealms:sparrow-util:${rootProject.properties["sparrow_util_version"]}")
|
||||||
|
// NMS
|
||||||
|
compileOnly("net.momirealms:craft-engine-nms-helper:${rootProject.properties["nms_helper_version"]}")
|
||||||
// Placeholder
|
// Placeholder
|
||||||
compileOnly("me.clip:placeholderapi:${rootProject.properties["placeholder_api_version"]}")
|
compileOnly("me.clip:placeholderapi:${rootProject.properties["placeholder_api_version"]}")
|
||||||
// Platform
|
// Platform
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ dependencies {
|
|||||||
implementation("com.saicone.rtag:rtag-item:${rootProject.properties["rtag_version"]}")
|
implementation("com.saicone.rtag:rtag-item:${rootProject.properties["rtag_version"]}")
|
||||||
implementation("net.momirealms:sparrow-util:${rootProject.properties["sparrow_util_version"]}")
|
implementation("net.momirealms:sparrow-util:${rootProject.properties["sparrow_util_version"]}")
|
||||||
implementation("com.github.Xiao-MoMi:AntiGriefLib:${rootProject.properties["anti_grief_version"]}")
|
implementation("com.github.Xiao-MoMi:AntiGriefLib:${rootProject.properties["anti_grief_version"]}")
|
||||||
|
implementation("net.momirealms:craft-engine-nms-helper:${rootProject.properties["nms_helper_version"]}")
|
||||||
}
|
}
|
||||||
|
|
||||||
java {
|
java {
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import java.util.Map;
|
|||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.concurrent.Callable;
|
import java.util.concurrent.Callable;
|
||||||
|
|
||||||
|
// TODO Inject FallingBlockEntity?
|
||||||
public class ConcretePowderBlockBehavior extends FallingBlockBehavior {
|
public class ConcretePowderBlockBehavior extends FallingBlockBehavior {
|
||||||
public static final Factory FACTORY = new Factory();
|
public static final Factory FACTORY = new Factory();
|
||||||
private final Key targetBlock;
|
private final Key targetBlock;
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import net.momirealms.craftengine.bukkit.block.BukkitBlockManager;
|
|||||||
import net.momirealms.craftengine.bukkit.block.BukkitBlockShape;
|
import net.momirealms.craftengine.bukkit.block.BukkitBlockShape;
|
||||||
import net.momirealms.craftengine.bukkit.item.BukkitItemManager;
|
import net.momirealms.craftengine.bukkit.item.BukkitItemManager;
|
||||||
import net.momirealms.craftengine.bukkit.item.recipe.BukkitRecipeManager;
|
import net.momirealms.craftengine.bukkit.item.recipe.BukkitRecipeManager;
|
||||||
|
import net.momirealms.craftengine.bukkit.nms.FastNMS;
|
||||||
import net.momirealms.craftengine.bukkit.util.BlockStateUtils;
|
import net.momirealms.craftengine.bukkit.util.BlockStateUtils;
|
||||||
import net.momirealms.craftengine.bukkit.util.NoteBlockChainUpdateUtils;
|
import net.momirealms.craftengine.bukkit.util.NoteBlockChainUpdateUtils;
|
||||||
import net.momirealms.craftengine.bukkit.util.Reflections;
|
import net.momirealms.craftengine.bukkit.util.Reflections;
|
||||||
@@ -592,13 +593,13 @@ public class BukkitInjector {
|
|||||||
public static final GetAndSetInterceptor INSTANCE = new GetAndSetInterceptor();
|
public static final GetAndSetInterceptor INSTANCE = new GetAndSetInterceptor();
|
||||||
|
|
||||||
@RuntimeType
|
@RuntimeType
|
||||||
public Object intercept(@This Object thisObj, @AllArguments Object[] args, @Origin MethodHandle method) throws Throwable {
|
public Object intercept(@This Object thisObj, @AllArguments Object[] args) {
|
||||||
InjectedPalettedContainerHolder holder = (InjectedPalettedContainerHolder) thisObj;
|
InjectedPalettedContainerHolder holder = (InjectedPalettedContainerHolder) thisObj;
|
||||||
Object targetStates = holder.target();
|
Object targetStates = holder.target();
|
||||||
int x = (int) args[0];
|
int x = (int) args[0];
|
||||||
int y = (int) args[1];
|
int y = (int) args[1];
|
||||||
int z = (int) args[2];
|
int z = (int) args[2];
|
||||||
Object previousState = method.invoke(targetStates, x, y, z, args[3]);
|
Object previousState = FastNMS.INSTANCE.method$PalettedContainer$getAndSet(targetStates, x, y, z, args[3]);
|
||||||
try {
|
try {
|
||||||
Object newState = args[3];
|
Object newState = args[3];
|
||||||
int stateId = BlockStateUtils.blockStateToId(newState);
|
int stateId = BlockStateUtils.blockStateToId(newState);
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ mojang_brigadier_version=1.0.18
|
|||||||
byte_buddy_version=1.15.11
|
byte_buddy_version=1.15.11
|
||||||
snake_yaml_version=2.3
|
snake_yaml_version=2.3
|
||||||
anti_grief_version=0.13
|
anti_grief_version=0.13
|
||||||
|
nms_helper_version=0.1
|
||||||
# Ignite Dependencies
|
# Ignite Dependencies
|
||||||
mixinextras_version=0.4.1
|
mixinextras_version=0.4.1
|
||||||
mixin_version=0.15.2+mixin.0.8.7
|
mixin_version=0.15.2+mixin.0.8.7
|
||||||
|
|||||||
Reference in New Issue
Block a user