Skip to content

Commit

Permalink
Fixed some mixin bugs
Browse files Browse the repository at this point in the history
  • Loading branch information
LatvianModder committed Oct 20, 2023
1 parent b7249e7 commit 4afa5ba
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,29 @@
package dev.latvian.mods.kubejs.core.mixin.common;

import dev.latvian.mods.kubejs.core.ClientLevelKJS;
import dev.latvian.mods.rhino.util.HideFromJS;
import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.client.player.AbstractClientPlayer;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.level.entity.LevelEntityGetter;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;

import java.util.List;

@Mixin(ClientLevel.class)
public abstract class ClientLevelMixin implements ClientLevelKJS {
@Shadow
@Final
@HideFromJS
List<AbstractClientPlayer> players;

@Shadow
@HideFromJS
public abstract List<AbstractClientPlayer> players();

@Shadow
@HideFromJS
protected abstract LevelEntityGetter<Entity> getEntities();
}
Original file line number Diff line number Diff line change
Expand Up @@ -149,4 +149,12 @@ private void loadKJS(CompoundTag tag, CallbackInfo ci) {
@Shadow
@RemapForJS("getEntityType")
public abstract EntityType<?> getType();

@Shadow
@RemapForJS("distanceToEntitySqr")
public abstract double distanceToSqr(Entity arg);

@Shadow
@RemapForJS("distanceToEntity")
public abstract float distanceTo(Entity arg);
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,27 @@
package dev.latvian.mods.kubejs.core.mixin.common;

import dev.latvian.mods.kubejs.core.ServerLevelKJS;
import dev.latvian.mods.rhino.util.HideFromJS;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.level.entity.LevelEntityGetter;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;

import java.util.List;

@Mixin(ServerLevel.class)
public abstract class ServerLevelMixin implements ServerLevelKJS {
@Shadow
@Final
@HideFromJS
List<ServerPlayer> players;

@Unique
private CompoundTag kjs$persistentData;

@Override
Expand All @@ -19,4 +34,12 @@ public abstract class ServerLevelMixin implements ServerLevelKJS {

return kjs$persistentData;
}

@Shadow
@HideFromJS
public abstract List<ServerPlayer> players();

@Shadow
@HideFromJS
protected abstract LevelEntityGetter<Entity> getEntities();
}

0 comments on commit 4afa5ba

Please sign in to comment.