Fix mixin conflict with Spelunkery (#1253)
This commit is contained in:
parent
0f2ca4bf18
commit
e9f320001a
|
@ -61,9 +61,9 @@ public abstract class AbstractMinecartMixin extends EntityMixin {
|
||||||
@Shadow private boolean flipped;
|
@Shadow private boolean flipped;
|
||||||
@Shadow public abstract AbstractMinecart.Type getMinecartType();
|
@Shadow public abstract AbstractMinecart.Type getMinecartType();
|
||||||
@Shadow(remap = false) public abstract boolean canUseRail();
|
@Shadow(remap = false) public abstract boolean canUseRail();
|
||||||
|
@Shadow private boolean onRails;
|
||||||
// @formatter:on
|
// @formatter:on
|
||||||
|
|
||||||
@Shadow private boolean onRails;
|
|
||||||
public boolean slowWhenEmpty = true;
|
public boolean slowWhenEmpty = true;
|
||||||
private double derailedX = 0.5;
|
private double derailedX = 0.5;
|
||||||
private double derailedY = 0.5;
|
private double derailedY = 0.5;
|
||||||
|
@ -128,17 +128,15 @@ public abstract class AbstractMinecartMixin extends EntityMixin {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private transient Location arclight$prevLocation;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author IzzelAliz
|
* @author IzzelAliz
|
||||||
* @reason
|
* @reason
|
||||||
*/
|
*/
|
||||||
@Overwrite
|
@Overwrite
|
||||||
public void tick() {
|
public void tick() {
|
||||||
double prevX = this.getX();
|
this.arclight$prevLocation = new Location(null, this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
|
||||||
double prevY = this.getY();
|
|
||||||
double prevZ = this.getZ();
|
|
||||||
float prevYaw = this.getYRot();
|
|
||||||
float prevPitch = this.getXRot();
|
|
||||||
if (this.getHurtTime() > 0) {
|
if (this.getHurtTime() > 0) {
|
||||||
this.setHurtTime(this.getHurtTime() - 1);
|
this.setHurtTime(this.getHurtTime() - 1);
|
||||||
}
|
}
|
||||||
|
@ -204,7 +202,9 @@ public abstract class AbstractMinecartMixin extends EntityMixin {
|
||||||
}
|
}
|
||||||
this.setRot(this.getYRot(), this.getXRot());
|
this.setRot(this.getYRot(), this.getXRot());
|
||||||
org.bukkit.World bworld = ((WorldBridge) this.level()).bridge$getWorld();
|
org.bukkit.World bworld = ((WorldBridge) this.level()).bridge$getWorld();
|
||||||
Location from = new Location(bworld, prevX, prevY, prevZ, prevYaw, prevPitch);
|
Location from = this.arclight$prevLocation;
|
||||||
|
this.arclight$prevLocation = null;
|
||||||
|
from.setWorld(bworld);
|
||||||
Location to = new Location(bworld, this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
|
Location to = new Location(bworld, this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
|
||||||
Vehicle vehicle = (Vehicle) this.getBukkitEntity();
|
Vehicle vehicle = (Vehicle) this.getBukkitEntity();
|
||||||
Bukkit.getPluginManager().callEvent(new VehicleUpdateEvent(vehicle));
|
Bukkit.getPluginManager().callEvent(new VehicleUpdateEvent(vehicle));
|
||||||
|
|
|
@ -26,6 +26,6 @@ public class LootDataManagerMixin {
|
||||||
private void arclight$buildRev(Map<LootDataType<?>, Map<ResourceLocation, ?>> p_279426_, CallbackInfo ci) {
|
private void arclight$buildRev(Map<LootDataType<?>, Map<ResourceLocation, ?>> p_279426_, CallbackInfo ci) {
|
||||||
ImmutableMap.Builder<Object, ResourceLocation> lootTableToKeyBuilder = ImmutableMap.builder();
|
ImmutableMap.Builder<Object, ResourceLocation> lootTableToKeyBuilder = ImmutableMap.builder();
|
||||||
this.elements.forEach((key, lootTable) -> lootTableToKeyBuilder.put(lootTable, key.location()));
|
this.elements.forEach((key, lootTable) -> lootTableToKeyBuilder.put(lootTable, key.location()));
|
||||||
this.lootTableToKey = lootTableToKeyBuilder.build();
|
this.lootTableToKey = lootTableToKeyBuilder.buildKeepingLast();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user