Remove script module and spigot jars, using our gradle plugins now.

This commit is contained in:
IzzelAliz 2020-05-25 12:19:09 +08:00
parent ad0ff92408
commit 4229eaf62c
17 changed files with 65 additions and 164633 deletions

View File

@ -4,10 +4,12 @@ buildscript {
maven { url = 'https://repo.spongepowered.org/maven' }
jcenter()
mavenCentral()
maven { url = 'https://jitpack.io' }
}
dependencies {
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true
classpath 'org.spongepowered:mixingradle:0.7-SNAPSHOT'
classpath 'com.github.IzzelAliz:arclight-gradle-plugin:1.1'
}
}
@ -15,37 +17,29 @@ apply plugin: 'net.minecraftforge.gradle'
apply plugin: 'org.spongepowered.mixin'
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'io.izzel.arclight'
ext {
minecraftVersion = '1.14.4'
forgeVersion = '28.2.0'
installerInfoDir = file("$buildDir/installer-info")
installerInfo = file("$installerInfoDir/META-INF/installer.json")
}
arclight {
mcVersion = minecraftVersion
forgeVersion = project.ext.forgeVersion
bukkitVersion = 'v1_14_R1'
}
sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8'
configurations {
embed
embedJar
compile.extendsFrom(embed, embedJar)
compile.extendsFrom(embed)
}
minecraft {
mappings channel: 'stable', version: "58-$minecraftVersion"
accessTransformer = project.file('src/main/resources/META-INF/accesstransformer.cfg')
runs {
server {
workingDirectory project.file('run')
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
property 'forge.logging.console.level', 'debug'
mods {
arclight {
source sourceSets.main
}
}
}
}
}
repositories {
@ -73,11 +67,10 @@ dependencies {
embed project(':arclight-common')
embed project(':forge-installer')
for (def lib : embedLibs) {
embedJar "$lib@jar"
arclight lib
}
embed 'net.md-5:bungeecord-chat:1.13-SNAPSHOT@jar'
embed "org.spigotmc:spigot-api:$minecraftVersion-R0.1-SNAPSHOT@jar"
embed files("$projectDir/libs/spigot-1.14.4-mapped-deobf.jar")
}
def getGitHash = { ->
@ -108,22 +101,12 @@ jar {
exclude "META-INF/*.RSA"
exclude "LICENSE.txt"
}
into('META-INF') {
from(files("${project(':scripts').projectDir}/bukkit_srg.srg"))
from(files("${project(':scripts').projectDir}/resources/inheritanceMap.txt"))
}
}
task generateInstallerInfo {
def output = [installer: [minecraft: minecraftVersion, forge: forgeVersion], libraries: embedLibs]
outputs.file(installerInfo)
doLast {
installerInfo.text = groovy.json.JsonOutput.toJson(output)
}
remapSpigotJar {
includes.add('net/minecraft/block/ChestBlock$DoubleInventory')
}
sourceSets.main.output.dir installerInfoDir, builtBy: generateInstallerInfo
mixin {
add sourceSets.main, 'mixins.arclight.refmap.json'
}

View File

@ -1,6 +1,6 @@
package io.izzel.arclight.mixin.core.block;
import net.minecraft.block.MuteError;
import io.izzel.arclight.mod.util.ChestBlockDoubleInventoryHacks;
import net.minecraft.inventory.DoubleSidedInventory;
import net.minecraft.inventory.container.INamedContainerProvider;
import net.minecraft.tileentity.ChestTileEntity;
@ -17,6 +17,6 @@ public class ChestBlock2Mixin {
@Overwrite
public INamedContainerProvider forDouble(ChestTileEntity p_212855_1_, ChestTileEntity p_212855_2_) {
final DoubleSidedInventory iinventory = new DoubleSidedInventory(p_212855_1_, p_212855_2_);
return new MuteError(p_212855_1_, p_212855_2_, iinventory);
return ChestBlockDoubleInventoryHacks.create(p_212855_1_, p_212855_2_, iinventory);
}
}

View File

@ -8,10 +8,10 @@ import io.izzel.arclight.bridge.entity.player.ServerPlayerEntityBridge;
import io.izzel.arclight.bridge.inventory.container.ContainerBridge;
import io.izzel.arclight.bridge.util.FoodStatsBridge;
import io.izzel.arclight.bridge.world.WorldBridge;
import io.izzel.arclight.mod.util.ChestBlockDoubleInventoryHacks;
import net.minecraft.advancements.CriteriaTriggers;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.block.MuteError;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.boss.WitherEntity;
@ -19,7 +19,6 @@ import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.passive.horse.AbstractHorseEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.inventory.DoubleSidedInventory;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.HorseInventoryContainer;
@ -112,7 +111,6 @@ import java.util.List;
import java.util.OptionalInt;
import java.util.Random;
import java.util.function.Consumer;
import java.util.function.Supplier;
@Mixin(ServerPlayerEntity.class)
public abstract class ServerPlayerEntityMixin extends PlayerEntityMixin implements ServerPlayerEntityBridge {
@ -565,8 +563,8 @@ public abstract class ServerPlayerEntityMixin extends PlayerEntityMixin implemen
if (container == null && !cancelled) {
if (itileinventory instanceof IInventory) {
((IInventory) itileinventory).closeInventory((ServerPlayerEntity) (Object) this);
} else if (MuteError.class.getSuperclass().isInstance(itileinventory)) {
((Supplier<DoubleSidedInventory>) itileinventory).get().closeInventory((ServerPlayerEntity) (Object) this);
} else if (ChestBlockDoubleInventoryHacks.isInstance(itileinventory)) {
ChestBlockDoubleInventoryHacks.get(itileinventory).closeInventory((ServerPlayerEntity) (Object) this);
}
cir.setReturnValue(OptionalInt.empty());
}

View File

@ -0,0 +1,44 @@
package io.izzel.arclight.mod.util;
import io.izzel.arclight.api.Unsafe;
import net.minecraft.inventory.DoubleSidedInventory;
import net.minecraft.inventory.container.INamedContainerProvider;
import net.minecraft.tileentity.ChestTileEntity;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodType;
import java.lang.reflect.Field;
public class ChestBlockDoubleInventoryHacks {
private static MethodHandle ctor;
private static Class<?> cl;
private static long offset;
static {
try {
cl = Class.forName("net.minecraft.block.ChestBlock$DoubleInventory");
Field field = cl.getDeclaredField("inventorylargechest");
offset = Unsafe.objectFieldOffset(field);
ctor = Unsafe.lookup().findConstructor(cl, MethodType.methodType(void.class, ChestTileEntity.class, ChestTileEntity.class, DoubleSidedInventory.class));
} catch (Exception e) {
e.printStackTrace();
}
}
public static DoubleSidedInventory get(Object obj) {
return (DoubleSidedInventory) Unsafe.getObject(obj, offset);
}
public static boolean isInstance(Object obj) {
return cl.isInstance(obj);
}
public static INamedContainerProvider create(ChestTileEntity entity, ChestTileEntity entity1, DoubleSidedInventory inventory) {
try {
return (INamedContainerProvider) ctor.invoke(entity, entity1, inventory);
} catch (Throwable throwable) {
throw new RuntimeException(throwable);
}
}
}

View File

@ -34,15 +34,15 @@ public class ArclightRemapper {
this.toBukkitMapping = new JarMapping();
this.inheritanceMap = new InheritanceMap();
this.toNmsMapping.loadMappings(
new BufferedReader(new InputStreamReader(ArclightRemapper.class.getResourceAsStream("/META-INF/bukkit_srg.srg"))),
new BufferedReader(new InputStreamReader(ArclightRemapper.class.getResourceAsStream("/bukkit_srg.srg"))),
null, null, false
);
this.toBukkitMapping.loadMappings(
new BufferedReader(new InputStreamReader(ArclightRemapper.class.getResourceAsStream("/META-INF/bukkit_srg.srg"))),
new BufferedReader(new InputStreamReader(ArclightRemapper.class.getResourceAsStream("/bukkit_srg.srg"))),
null, null, true
);
BiMap<String, String> inverseClassMap = HashBiMap.create(toNmsMapping.classes).inverse();
try (BufferedReader reader = new BufferedReader(new InputStreamReader(ArclightRemapper.class.getResourceAsStream("/META-INF/inheritanceMap.txt")))) {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(ArclightRemapper.class.getResourceAsStream("/inheritanceMap.txt")))) {
inheritanceMap.load(reader, inverseClassMap);
}
JointProvider inheritanceProvider = new JointProvider();

View File

@ -1,20 +0,0 @@
plugins {
id 'scala'
}
sourceCompatibility = 1.8
sourceSets {
main {
scala.srcDir 'src/'
resources.srcDir 'resources/'
}
}
repositories {
jcenter()
}
dependencies {
implementation 'org.scala-lang:scala-library:2.13.1'
}

View File

@ -1,281 +0,0 @@
public net.minecraft.world.server.ChunkManager$EntityTracker
public net.minecraft.item.crafting.Ingredient$IItemList
public net.minecraft.item.crafting.Ingredient$SingleItemList
public net.minecraft.block.DispenserBlock func_176439_d(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)V
public net.minecraft.block.DropperBlock func_176439_d(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)V
public net.minecraft.entity.item.HangingEntity func_174859_a(Lnet/minecraft/util/Direction;)V
public net.minecraft.entity.item.ItemFrameEntity func_174859_a(Lnet/minecraft/util/Direction;)V
public net.minecraft.entity.monster.MagmaCubeEntity func_70799_a(IZ)V
public net.minecraft.entity.monster.SlimeEntity func_70799_a(IZ)V
public net.minecraft.advancements.PlayerAdvancements field_192758_f
public net.minecraft.advancements.AdvancementManager field_192783_b
public net.minecraft.advancements.AdvancementManager field_223388_c
public net.minecraft.advancements.AdvancementList field_192092_b
public net.minecraft.entity.ai.attributes.RangedAttribute field_111118_b
public net.minecraft.block.Block field_149782_v
public net.minecraft.state.StateHolder field_177233_b
public net.minecraft.block.DispenserBlock field_149943_a
public net.minecraft.block.JukeboxBlock func_203419_a(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)V
public net.minecraft.block.RedstoneWireBlock func_212567_a(ILnet/minecraft/block/BlockState;)I
public net.minecraft.block.ShulkerBoxBlock field_190958_b
public net.minecraft.world.BossInfo field_186751_c
public net.minecraft.world.BossInfo field_186752_d
public net.minecraft.world.BossInfo field_186749_a
public net.minecraft.world.ServerBossInfo func_186759_a(Lnet/minecraft/network/play/server/SUpdateBossInfoPacket$Operation;)V
public net.minecraft.world.ServerBossInfo field_186764_j
public net.minecraft.world.LockCode field_180161_b
public net.minecraft.world.chunk.Chunk field_76645_j
public net.minecraft.world.chunk.Chunk field_76634_f
public net.minecraft.world.chunk.Chunk field_76636_d
public net.minecraft.world.chunk.Chunk field_150816_i
public net.minecraft.world.chunk.Chunk field_76637_e
public net.minecraft.world.server.ServerChunkProvider field_217247_m
public net.minecraft.world.server.ServerChunkProvider field_217246_l
public net.minecraft.world.server.ServerChunkProvider field_186029_c
public net.minecraft.world.chunk.ChunkSection field_205512_a
public net.minecraft.command.CommandSource field_197041_c
public net.minecraft.inventory.container.RepairContainer field_82854_e
public net.minecraft.inventory.container.RepairContainer field_82857_m
public net.minecraft.inventory.container.DispenserContainer field_178146_a
public net.minecraft.inventory.container.WorkbenchContainer field_217070_e
public net.minecraft.util.datafix.fixes.ItemIntIDToString field_188221_a
public net.minecraft.util.datafix.fixes.SpawnEggNames field_188226_a
public net.minecraft.server.dedicated.DedicatedServer field_184115_n
public net.minecraft.world.dimension.DimensionType field_212682_f
public net.minecraft.world.dimension.DimensionType field_201038_g
public net.minecraft.world.dimension.DimensionType func_212677_a(Ljava/lang/String;Lnet/minecraft/world/dimension/DimensionType;)Lnet/minecraft/world/dimension/DimensionType;
public net.minecraft.world.end.DragonFightManager field_186109_c
public net.minecraft.entity.Entity field_190534_ay
public net.minecraft.entity.Entity func_70083_f(I)Z
public net.minecraft.entity.Entity func_190531_bD()I
public net.minecraft.entity.Entity func_70022_Q()Ljava/lang/String;
public net.minecraft.entity.Entity field_184238_ar
public net.minecraft.entity.Entity field_70171_ac
public net.minecraft.entity.Entity field_184244_h
public net.minecraft.entity.Entity func_70052_a(IZ)V
public net.minecraft.entity.passive.AnimalEntity field_146084_br
public net.minecraft.entity.passive.AnimalEntity field_70881_d
public net.minecraft.entity.AreaEffectCloudEntity field_184509_av
public net.minecraft.entity.AreaEffectCloudEntity field_184510_aw
public net.minecraft.entity.AreaEffectCloudEntity field_184511_ax
public net.minecraft.entity.AreaEffectCloudEntity field_184507_at
public net.minecraft.entity.AreaEffectCloudEntity field_184506_as
public net.minecraft.entity.item.ArmorStandEntity field_175444_bi
public net.minecraft.entity.item.ArmorStandEntity field_175443_bh
public net.minecraft.entity.item.ArmorStandEntity field_175438_bj
public net.minecraft.entity.item.ArmorStandEntity field_175440_bl
public net.minecraft.entity.item.ArmorStandEntity field_175439_bk
public net.minecraft.entity.item.ArmorStandEntity field_175441_bm
public net.minecraft.entity.item.ArmorStandEntity func_175413_k(Z)V
public net.minecraft.entity.item.ArmorStandEntity func_175426_l(Z)V
public net.minecraft.entity.item.ArmorStandEntity func_181027_m(Z)V
public net.minecraft.entity.item.ArmorStandEntity func_175420_a(Z)V
public net.minecraft.entity.projectile.AbstractArrowEntity field_70252_j
public net.minecraft.entity.projectile.AbstractArrowEntity field_70254_i
public net.minecraft.entity.projectile.AbstractArrowEntity field_70256_ap
public net.minecraft.entity.monster.CreeperEntity func_146077_cc()V
public net.minecraft.entity.monster.CreeperEntity field_82226_g
public net.minecraft.entity.monster.CreeperEntity field_82225_f
public net.minecraft.entity.item.EyeOfEnderEntity field_70223_e
public net.minecraft.entity.item.EyeOfEnderEntity field_70221_f
public net.minecraft.entity.item.EyeOfEnderEntity field_70224_b
public net.minecraft.entity.item.EyeOfEnderEntity field_70225_c
public net.minecraft.entity.item.EyeOfEnderEntity field_70222_d
public net.minecraft.entity.item.ExperienceOrbEntity field_70530_e
public net.minecraft.entity.item.FallingBlockEntity field_145809_g
public net.minecraft.entity.item.FireworkRocketEntity field_184566_a
public net.minecraft.entity.item.FireworkRocketEntity field_92055_b
public net.minecraft.entity.passive.fish.AbstractFishEntity func_203705_dA()Z
public net.minecraft.entity.passive.FoxEntity func_213474_a(Lnet/minecraft/entity/passive/FoxEntity$Type;)V
public net.minecraft.entity.passive.FoxEntity func_213485_x(Z)V
public net.minecraft.entity.monster.GuardianEntity field_175481_bq
public net.minecraft.entity.item.HangingEntity field_174861_a
public net.minecraft.entity.passive.horse.AbstractHorseEntity field_110271_bv
public net.minecraft.entity.passive.horse.AbstractHorseEntity field_110296_bG
public net.minecraft.entity.passive.horse.AbstractHorseEntity func_110226_cD()V
public net.minecraft.entity.player.PlayerEntity func_71053_j()V
public net.minecraft.entity.player.PlayerEntity func_190531_bD()I
public net.minecraft.entity.player.PlayerEntity func_192029_h(Lnet/minecraft/nbt/CompoundNBT;)V
public net.minecraft.entity.player.PlayerEntity func_192031_i(Lnet/minecraft/nbt/CompoundNBT;)V
public net.minecraft.entity.player.PlayerEntity field_71076_b
public net.minecraft.entity.monster.SpellcastingIllagerEntity func_193083_dm()Lnet/minecraft/entity/monster/SpellcastingIllagerEntity$SpellType;
public net.minecraft.entity.MobEntity field_184655_bs
public net.minecraft.entity.MobEntity field_82174_bp
public net.minecraft.entity.MobEntity field_184659_bA
public net.minecraft.entity.MobEntity field_184653_bB
public net.minecraft.entity.MobEntity field_82179_bU
public net.minecraft.entity.item.ItemEntity field_70292_b
public net.minecraft.entity.item.ItemEntity field_145804_b
public net.minecraft.entity.LivingEntity field_184632_c
public net.minecraft.entity.LivingEntity field_70713_bf
public net.minecraft.entity.LivingEntity field_70756_c
public net.minecraft.entity.LivingEntity field_70717_bb
public net.minecraft.entity.LivingEntity field_110153_bc
public net.minecraft.entity.LivingEntity field_70755_b
public net.minecraft.entity.LivingEntity field_70752_e
public net.minecraft.entity.passive.horse.LlamaEntity func_190706_p(I)V
public net.minecraft.entity.item.minecart.MinecartCommandBlockEntity field_184273_a
public net.minecraft.entity.item.minecart.ContainerMinecartEntity field_184290_c
public net.minecraft.entity.item.minecart.ContainerMinecartEntity field_184291_d
public net.minecraft.entity.monster.ZombiePigmanEntity field_70837_d
public net.minecraft.entity.player.ServerPlayerEntity field_147101_bU
public net.minecraft.entity.player.ServerPlayerEntity field_71144_ck
public net.minecraft.entity.player.ServerPlayerEntity field_71148_cg
public net.minecraft.entity.player.ServerPlayerEntity func_71117_bO()V
public net.minecraft.entity.player.ServerPlayerEntity field_71130_g
public net.minecraft.entity.player.ServerPlayerEntity field_184851_cj
public net.minecraft.entity.projectile.PotionEntity func_184544_n()Z
public net.minecraft.entity.projectile.ThrowableEntity field_70192_c
public net.minecraft.entity.projectile.ThrowableEntity field_200218_h
public net.minecraft.entity.monster.ShulkerEntity field_190770_bw
public net.minecraft.entity.projectile.SpectralArrowEntity field_184562_f
public net.minecraft.entity.projectile.TridentEntity field_203054_h
public net.minecraft.entity.projectile.ArrowEntity field_184561_h
public net.minecraft.entity.projectile.ArrowEntity func_191507_d(I)V
public net.minecraft.entity.merchant.villager.VillagerEntity func_175554_cu()V
public net.minecraft.entity.boss.WitherEntity field_184744_bE
public net.minecraft.entity.monster.ZombieEntity field_204709_bA
public net.minecraft.entity.monster.ZombieEntity field_204708_bE
public net.minecraft.entity.monster.ZombieEntity func_204704_a(I)V
public net.minecraft.entity.monster.ZombieVillagerEntity field_184739_bx
public net.minecraft.entity.monster.ZombieVillagerEntity field_82234_d
public net.minecraft.entity.monster.ZombieVillagerEntity field_191992_by
public net.minecraft.util.text.TextFormatting field_96329_z
public net.minecraft.world.Explosion field_77283_e
public net.minecraft.util.FoodStats field_75126_c
public net.minecraft.util.FoodStats field_75127_a
public net.minecraft.util.FoodStats field_75125_b
public net.minecraft.world.GameRules$RuleValue func_223556_a(Lnet/minecraft/server/MinecraftServer;)V
public net.minecraft.inventory.CraftingInventory field_70465_c
public net.minecraft.inventory.DoubleSidedInventory field_70477_b
public net.minecraft.inventory.DoubleSidedInventory field_70478_c
public net.minecraft.inventory.MerchantInventory field_70473_e
public net.minecraft.inventory.Inventory field_70482_c
public net.minecraft.item.WallOrFloorItem field_195947_b
public net.minecraft.item.BucketItem field_77876_a
public net.minecraft.util.CooldownTracker$Cooldown
public net.minecraft.util.CooldownTracker$Cooldown field_185138_b
public net.minecraft.util.CooldownTracker field_185147_a
public net.minecraft.util.CooldownTracker field_185148_b
public net.minecraft.server.management.UserListEntry func_152640_f()Ljava/lang/Object;
public net.minecraft.item.MerchantOffer field_222231_i
public net.minecraft.item.MerchantOffer field_222228_f
public net.minecraft.item.MerchantOffer field_222225_c
public net.minecraft.item.MerchantOffer field_222226_d
public net.minecraft.item.MerchantOffer field_222232_j
public net.minecraft.server.MinecraftServer func_71237_c(Ljava/lang/String;)V
public net.minecraft.server.MinecraftServer field_184112_s
public net.minecraft.server.MinecraftServer field_213217_au
public net.minecraft.server.MinecraftServer func_213186_a(Lnet/minecraft/world/chunk/listener/IChunkStatusListener;)V
public net.minecraft.server.MinecraftServer field_175590_aa
public net.minecraft.server.MinecraftServer field_213220_d
public net.minecraft.server.MinecraftServer field_71305_c
public net.minecraft.world.spawner.AbstractSpawner func_190895_g()Lnet/minecraft/util/ResourceLocation;
public net.minecraft.world.spawner.AbstractSpawner field_98292_k
public net.minecraft.world.spawner.AbstractSpawner field_98293_h
public net.minecraft.world.spawner.AbstractSpawner field_98283_g
public net.minecraft.world.spawner.AbstractSpawner field_98285_e
public net.minecraft.world.spawner.AbstractSpawner field_98289_l
public net.minecraft.world.spawner.AbstractSpawner field_98294_i
public net.minecraft.world.spawner.AbstractSpawner field_98282_f
public net.minecraft.world.spawner.AbstractSpawner field_98286_b
public net.minecraft.world.spawner.AbstractSpawner field_98290_m
public net.minecraft.nbt.JsonToNBT func_193606_k()Lnet/minecraft/nbt/INBT;
public net.minecraft.nbt.JsonToNBT func_193596_c(Ljava/lang/String;)Lnet/minecraft/nbt/INBT;
public net.minecraft.network.NetworkManager field_150746_k
public net.minecraft.network.NetworkManager field_150743_l
public net.minecraft.network.handshake.client.CHandshakePacket field_149598_b
public net.minecraft.network.handshake.client.CHandshakePacket field_149599_c
public net.minecraft.network.play.client.CCustomPayloadPacket field_149561_c
public net.minecraft.network.play.client.CCustomPayloadPacket field_149562_a
public net.minecraft.network.play.client.CResourcePackStatusPacket field_179719_b
public net.minecraft.network.play.client.CClientSettingsPacket field_149528_b
public net.minecraft.network.play.server.SChangeBlockPacket field_197686_b
public net.minecraft.network.play.server.SPlayerListHeaderFooterPacket field_179702_b
public net.minecraft.network.play.server.SPlayerListHeaderFooterPacket field_179703_a
public net.minecraft.network.play.server.SSpawnPositionPacket field_179801_a
public net.minecraft.entity.player.PlayerAbilities field_75096_f
public net.minecraft.entity.player.PlayerAbilities field_75097_g
public net.minecraft.world.server.ChunkHolder field_219316_k
public net.minecraft.world.server.ChunkHolder field_219328_w
public net.minecraft.world.server.ChunkManager$EntityTracker field_219406_f
public net.minecraft.world.server.ChunkManager field_219267_u
public net.minecraft.world.server.ChunkManager field_219258_l
public net.minecraft.world.server.ChunkManager func_219229_a(Lnet/minecraft/world/chunk/IChunk;)Z
public net.minecraft.world.server.ChunkManager field_219272_z
public net.minecraft.world.server.ChunkManager field_219261_o
public net.minecraft.world.server.ChunkManager field_219251_e
public net.minecraft.world.server.ChunkManager field_219252_f
public net.minecraft.world.server.ChunkManager field_219255_i
public net.minecraft.world.server.ChunkManager field_219266_t
public net.minecraft.server.management.PlayerList field_72412_k
public net.minecraft.server.management.PlayerList field_72404_b
public net.minecraft.server.management.PlayerList func_96456_a(Lnet/minecraft/scoreboard/ServerScoreboard;Lnet/minecraft/entity/player/ServerPlayerEntity;)V
public net.minecraft.server.dedicated.PropertyManager field_73672_b
public net.minecraft.item.crafting.Ingredient func_199806_d()V
public net.minecraft.item.crafting.Ingredient field_193371_b
public net.minecraft.world.chunk.storage.RegionFileCache field_219102_c
public net.minecraft.scoreboard.ScoreObjective field_96683_d
public net.minecraft.inventory.container.Slot field_75225_a
public net.minecraft.world.server.Ticket field_219482_c
public net.minecraft.tileentity.BannerTileEntity field_175120_a
public net.minecraft.tileentity.BannerTileEntity field_175118_f
public net.minecraft.tileentity.BeaconTileEntity field_213936_m
public net.minecraft.tileentity.BeaconTileEntity field_146008_p
public net.minecraft.tileentity.BeaconTileEntity field_146012_l
public net.minecraft.tileentity.BeaconTileEntity field_146013_m
public net.minecraft.tileentity.BeaconTileEntity field_146010_n
public net.minecraft.tileentity.BedTileEntity field_193053_a
public net.minecraft.tileentity.BrewingStandTileEntity field_145946_k
public net.minecraft.tileentity.BrewingStandTileEntity field_184278_m
public net.minecraft.tileentity.CampfireTileEntity field_213988_b
public net.minecraft.tileentity.CampfireTileEntity field_213989_c
public net.minecraft.tileentity.LockableTileEntity field_174901_a
public net.minecraft.tileentity.LockableTileEntity field_213909_b
public net.minecraft.tileentity.EndGatewayTileEntity field_195504_f
public net.minecraft.tileentity.EndGatewayTileEntity field_195507_i
public net.minecraft.tileentity.EndGatewayTileEntity field_195506_h
public net.minecraft.tileentity.AbstractFurnaceTileEntity field_214018_j
public net.minecraft.tileentity.AbstractFurnaceTileEntity field_214020_l
public net.minecraft.tileentity.AbstractFurnaceTileEntity field_214021_m
public net.minecraft.tileentity.LecternTileEntity field_214048_a
public net.minecraft.tileentity.LecternTileEntity func_214035_a(I)V
public net.minecraft.tileentity.LockableLootTileEntity field_184284_m
public net.minecraft.tileentity.LockableLootTileEntity field_184285_n
public net.minecraft.tileentity.SignTileEntity field_145916_j
public net.minecraft.tileentity.SkullTileEntity field_152110_j
public net.minecraft.tileentity.StructureBlockTileEntity field_184421_f
public net.minecraft.tileentity.StructureBlockTileEntity field_184428_m
public net.minecraft.tileentity.StructureBlockTileEntity field_189730_q
public net.minecraft.tileentity.StructureBlockTileEntity field_184422_g
public net.minecraft.tileentity.StructureBlockTileEntity field_184425_j
public net.minecraft.tileentity.StructureBlockTileEntity field_184423_h
public net.minecraft.tileentity.StructureBlockTileEntity field_184426_k
public net.minecraft.tileentity.StructureBlockTileEntity field_189731_r
public net.minecraft.tileentity.StructureBlockTileEntity field_189728_o
public net.minecraft.tileentity.StructureBlockTileEntity field_189729_p
public net.minecraft.tileentity.StructureBlockTileEntity field_184424_i
public net.minecraft.world.World field_72986_A
public net.minecraft.world.storage.MapData field_76202_j
public net.minecraft.world.storage.DimensionSavedDataManager field_212778_c
public net.minecraft.world.server.ServerWorld field_217498_x
public-f net.minecraft.inventory.container.Container field_75153_a
public-f net.minecraft.inventory.container.Container field_75151_b
public-f net.minecraft.item.crafting.RecipeManager field_199522_d
public-f net.minecraft.server.dedicated.DedicatedServer field_71340_o
public-f net.minecraft.entity.AreaEffectCloudEntity field_184503_f
public-f net.minecraft.entity.projectile.FishingBobberEntity field_146042_b
public-f net.minecraft.entity.MobEntity field_70714_bg
public-f net.minecraft.entity.MobEntity field_70715_bh
public-f net.minecraft.entity.LivingEntity field_94063_bt
public-f net.minecraft.entity.LivingEntity field_70771_an
private-f net.minecraft.item.ItemStack field_151002_e
public-f net.minecraft.item.MerchantOffer field_222223_a
public-f net.minecraft.item.MerchantOffer field_222224_b
public-f net.minecraft.item.MerchantOffer field_222227_e
public-f net.minecraft.server.MinecraftServer field_195579_af
public-f net.minecraft.server.MinecraftServer field_71310_m
private-f net.minecraft.server.MinecraftServer field_147144_o
public-f net.minecraft.server.MinecraftServer field_71308_o
public-f net.minecraft.world.server.TicketType field_223186_k
public-f net.minecraft.world.World field_73011_w

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,298 +0,0 @@
# (c) 2019 SpigotMC Pty. Ltd.
public net/minecraft/server/PlayerChunkMap$EntityTracker
public net/minecraft/server/RecipeItemStack$Provider
public net/minecraft/server/RecipeItemStack$StackProvider
# No inheritance in AT :(
public net/minecraft/server/BlockDispenser/dispense(Lnet/minecraft/server/World;Lnet/minecraft/server/BlockPosition;)V
public net/minecraft/server/BlockDropper/dispense(Lnet/minecraft/server/World;Lnet/minecraft/server/BlockPosition;)V
public net/minecraft/server/EntityHanging/setDirection(Lnet/minecraft/server/EnumDirection;)V
public net/minecraft/server/EntityItemFrame/setDirection(Lnet/minecraft/server/EnumDirection;)V
public net/minecraft/server/EntityGuardian/initAttributes()V
public net/minecraft/server/EntityGuardianElder/initAttributes()V
public net/minecraft/server/EntityMagmaCube/setSize(IZ)V
public net/minecraft/server/EntitySlime/setSize(IZ)V
public net/minecraft/server/AdvancementDataPlayer/data
public net/minecraft/server/AdvancementDataWorld/DESERIALIZER
public net/minecraft/server/AdvancementDataWorld/REGISTRY
public net/minecraft/server/Advancements/advancements
public net/minecraft/server/AttributeRanged/maximum
public net/minecraft/server/Block/strength
public net/minecraft/server/BlockDataAbstract/STATE_TO_VALUE
public net/minecraft/server/BlockDispenser/REGISTRY
public net/minecraft/server/BlockJukeBox/dropRecord(Lnet/minecraft/server/World;Lnet/minecraft/server/BlockPosition;)V
public net/minecraft/server/BlockRedstoneWire/getPower(ILnet/minecraft/server/IBlockData;)I
public net/minecraft/server/BlockShulkerBox/color
public net/minecraft/server/BossBattle/color
public net/minecraft/server/BossBattle/style
public net/minecraft/server/BossBattle/title
public net/minecraft/server/BossBattleServer/sendUpdate(Lnet/minecraft/server/PacketPlayOutBoss$Action;)V
public net/minecraft/server/BossBattleServer/visible
public net/minecraft/server/ChestLock/key
public net/minecraft/server/Chunk/entitySlices
public net/minecraft/server/Chunk/heightMap
public net/minecraft/server/Chunk/loaded
public net/minecraft/server/Chunk/tileEntities
public net/minecraft/server/Chunk/world
public net/minecraft/server/ChunkProviderServer/allowAnimals
public net/minecraft/server/ChunkProviderServer/allowMonsters
public net/minecraft/server/ChunkProviderServer/chunkGenerator
public net/minecraft/server/ChunkSection/GLOBAL_PALETTE
public net/minecraft/server/CommandListenerWrapper/base
public net/minecraft/server/ContainerAnvil/levelCost
public net/minecraft/server/ContainerAnvil/renameText
public net/minecraft/server/ContainerDispenser/items
public net/minecraft/server/ContainerWorkbench/containerAccess
public net/minecraft/server/DataConverterMaterialId/ID_MAPPING
public net/minecraft/server/DataConverterSpawnEgg/ID_MAPPING
public net/minecraft/server/DedicatedServer/remoteControlCommandListener
public net/minecraft/server/DimensionManager/<init>(ILjava/lang/String;Ljava/lang/String;Ljava/util/function/BiFunction;Z)V
public net/minecraft/server/DimensionManager/folder
public net/minecraft/server/DimensionManager/providerFactory
public net/minecraft/server/DimensionManager/register(Ljava/lang/String;Lnet/minecraft/server/DimensionManager;)Lnet/minecraft/server/DimensionManager;
public net/minecraft/server/EnderDragonBattle/bossBattle
public net/minecraft/server/Entity/fireTicks
public net/minecraft/server/Entity/getFlag(I)Z
public net/minecraft/server/Entity/getMaxFireTicks()I
public net/minecraft/server/Entity/getSaveID()Ljava/lang/String;
public net/minecraft/server/Entity/glowing
public net/minecraft/server/Entity/inWater
public net/minecraft/server/Entity/passengers
public net/minecraft/server/Entity/setFlag(IZ)V
public net/minecraft/server/EntityAnimal/breedCause
public net/minecraft/server/EntityAnimal/loveTicks
public net/minecraft/server/EntityAreaEffectCloud/durationOnUse
public net/minecraft/server/EntityAreaEffectCloud/radiusOnUse
public net/minecraft/server/EntityAreaEffectCloud/radiusPerTick
public net/minecraft/server/EntityAreaEffectCloud/reapplicationDelay
public net/minecraft/server/EntityAreaEffectCloud/waitTime
public net/minecraft/server/EntityArmorStand/bodyPose
public net/minecraft/server/EntityArmorStand/headPose
public net/minecraft/server/EntityArmorStand/leftArmPose
public net/minecraft/server/EntityArmorStand/leftLegPose
public net/minecraft/server/EntityArmorStand/rightArmPose
public net/minecraft/server/EntityArmorStand/rightLegPose
public net/minecraft/server/EntityArmorStand/setArms(Z)V
public net/minecraft/server/EntityArmorStand/setBasePlate(Z)V
public net/minecraft/server/EntityArmorStand/setMarker(Z)V
public net/minecraft/server/EntityArmorStand/setSmall(Z)V
public net/minecraft/server/EntityArrow/despawnCounter
public net/minecraft/server/EntityArrow/inGround
public net/minecraft/server/EntityArrow/knockbackStrength
public net/minecraft/server/EntityCreeper/explode()V
public net/minecraft/server/EntityCreeper/explosionRadius
public net/minecraft/server/EntityCreeper/maxFuseTicks
public net/minecraft/server/EntityEnderSignal/despawnTimer
public net/minecraft/server/EntityEnderSignal/shouldDropItem
public net/minecraft/server/EntityEnderSignal/targetX
public net/minecraft/server/EntityEnderSignal/targetY
public net/minecraft/server/EntityEnderSignal/targetZ
public net/minecraft/server/EntityExperienceOrb/value
public net/minecraft/server/EntityFallingBlock/hurtEntities
public net/minecraft/server/EntityFireworks/FIREWORK_ITEM
public net/minecraft/server/EntityFireworks/expectedLifespan
public net/minecraft/server/EntityFish/isFromBucket()Z
public net/minecraft/server/EntityFox/setFoxType(Lnet/minecraft/server/EntityFox$Type;)V
public net/minecraft/server/EntityFox/setSleeping(Z)V
public net/minecraft/server/EntityGuardian/goalRandomStroll
public net/minecraft/server/EntityHanging/blockPosition
public net/minecraft/server/EntityHorseAbstract/attributeJumpStrength
public net/minecraft/server/EntityHorseAbstract/inventoryChest
public net/minecraft/server/EntityHorseAbstract/loadChest()V
public net/minecraft/server/EntityHuman/closeInventory()V
public net/minecraft/server/EntityHuman/getMaxFireTicks()I
public net/minecraft/server/EntityHuman/setShoulderEntityLeft(Lnet/minecraft/server/NBTTagCompound;)V
public net/minecraft/server/EntityHuman/setShoulderEntityRight(Lnet/minecraft/server/NBTTagCompound;)V
public net/minecraft/server/EntityHuman/sleepTicks
public net/minecraft/server/EntityIllagerWizard/getSpell()Lnet/minecraft/server/EntityIllagerWizard$Spell;
public net/minecraft/server/EntityInsentient/dropChanceArmor
public net/minecraft/server/EntityInsentient/dropChanceHand
public net/minecraft/server/EntityInsentient/lootTableKey
public net/minecraft/server/EntityInsentient/lootTableSeed
public net/minecraft/server/EntityInsentient/persistent
public net/minecraft/server/EntityItem/age
public net/minecraft/server/EntityItem/pickupDelay
public net/minecraft/server/EntityLiving/HEALTH
public net/minecraft/server/EntityLiving/effects
public net/minecraft/server/EntityLiving/hurtTimestamp
public net/minecraft/server/EntityLiving/killer
public net/minecraft/server/EntityLiving/lastDamage
public net/minecraft/server/EntityLiving/lastDamager
public net/minecraft/server/EntityLiving/updateEffects
public net/minecraft/server/EntityLlama/setStrength(I)V
public net/minecraft/server/EntityMinecartCommandBlock/COMMAND
public net/minecraft/server/EntityMinecartContainer/lootTable
public net/minecraft/server/EntityMinecartContainer/lootTableSeed
public net/minecraft/server/EntityMushroomCow/setVariant(Lnet/minecraft/server/EntityMushroomCow$Type;)V
public net/minecraft/server/EntityPigZombie/angerLevel
public net/minecraft/server/EntityPlayer/invulnerableTicks
public net/minecraft/server/EntityPlayer/lastSentExp
public net/minecraft/server/EntityPlayer/locale
public net/minecraft/server/EntityPlayer/nextContainerCounter()V
public net/minecraft/server/EntityPlayer/removeQueue
public net/minecraft/server/EntityPlayer/worldChangeInvuln
public net/minecraft/server/EntityPotion/isLingering()Z
public net/minecraft/server/EntityProjectile/shooter
public net/minecraft/server/EntityProjectile/shooterId
public net/minecraft/server/EntityShulker/COLOR
public net/minecraft/server/EntitySpectralArrow/duration
public net/minecraft/server/EntityThrownTrident/trident
public net/minecraft/server/EntityTippedArrow/effects
public net/minecraft/server/EntityTippedArrow/setColor(I)V
public net/minecraft/server/EntityVillager/populateTrades()V
public net/minecraft/server/EntityWither/bossBattle
public net/minecraft/server/EntityZombie/DROWN_CONVERTING
public net/minecraft/server/EntityZombie/drownedConversionTime
public net/minecraft/server/EntityZombie/startDrownedConversion(I)V
public net/minecraft/server/EntityZombieVillager/CONVERTING
public net/minecraft/server/EntityZombieVillager/conversionTime
public net/minecraft/server/EntityZombieVillager/conversionPlayer
public net/minecraft/server/EntityZombieVillager/startConversion(Ljava/util/UUID;I)V
public net/minecraft/server/EnumChatFormat/character
public net/minecraft/server/Explosion/source
public net/minecraft/server/FoodMetaData/exhaustionLevel
public net/minecraft/server/FoodMetaData/foodLevel
public net/minecraft/server/FoodMetaData/saturationLevel
public net/minecraft/server/GameRules$GameRuleValue/onChange(Lnet/minecraft/server/MinecraftServer;)V
public net/minecraft/server/InventoryCrafting/container
public net/minecraft/server/InventoryLargeChest/left
public net/minecraft/server/InventoryLargeChest/right
public net/minecraft/server/InventoryMerchant/selectedIndex
public net/minecraft/server/InventorySubcontainer/items
public net/minecraft/server/ItemBlockWallable/wallBlock
public net/minecraft/server/ItemBucket/fluidType
public net/minecraft/server/ItemCooldown$Info
public net/minecraft/server/ItemCooldown$Info/endTick
public net/minecraft/server/ItemCooldown/cooldowns
public net/minecraft/server/ItemCooldown/currentTick
public net/minecraft/server/JsonListEntry/getKey()Ljava/lang/Object;
public net/minecraft/server/MerchantRecipe/priceMultiplier
public net/minecraft/server/MerchantRecipe/rewardExp
public net/minecraft/server/MerchantRecipe/sellingItem
public net/minecraft/server/MerchantRecipe/uses
public net/minecraft/server/MerchantRecipe/xp
public net/minecraft/server/MinecraftServer/LOGGER
public net/minecraft/server/MinecraftServer/convertWorld(Ljava/lang/String;)V
public net/minecraft/server/MinecraftServer/dataConverterManager
public net/minecraft/server/MinecraftServer/executorService
public net/minecraft/server/MinecraftServer/loadSpawn(Lnet/minecraft/server/WorldLoadListener;)V
public net/minecraft/server/MinecraftServer/serverThread
public net/minecraft/server/MinecraftServer/worldLoadListenerFactory
public net/minecraft/server/MinecraftServer/worldServer
public net/minecraft/server/MobSpawnerAbstract/getMobName()Lnet/minecraft/server/MinecraftKey;
public net/minecraft/server/MobSpawnerAbstract/maxNearbyEntities
public net/minecraft/server/MobSpawnerAbstract/maxSpawnDelay
public net/minecraft/server/MobSpawnerAbstract/minSpawnDelay
public net/minecraft/server/MobSpawnerAbstract/mobs
public net/minecraft/server/MobSpawnerAbstract/requiredPlayerRange
public net/minecraft/server/MobSpawnerAbstract/spawnCount
public net/minecraft/server/MobSpawnerAbstract/spawnData
public net/minecraft/server/MobSpawnerAbstract/spawnDelay
public net/minecraft/server/MobSpawnerAbstract/spawnRange
public net/minecraft/server/MojangsonParser/parseArray()Lnet/minecraft/server/NBTBase;
public net/minecraft/server/MojangsonParser/parseLiteral(Ljava/lang/String;)Lnet/minecraft/server/NBTBase;
public net/minecraft/server/NetworkManager/channel
public net/minecraft/server/NetworkManager/socketAddress
public net/minecraft/server/PacketHandshakingInSetProtocol/hostname
public net/minecraft/server/PacketHandshakingInSetProtocol/port
public net/minecraft/server/PacketPlayInCustomPayload/data
public net/minecraft/server/PacketPlayInCustomPayload/tag
public net/minecraft/server/PacketPlayInResourcePackStatus/status
public net/minecraft/server/PacketPlayInSettings/viewDistance
public net/minecraft/server/PacketPlayOutBlockChange/block
public net/minecraft/server/PacketPlayOutPlayerListHeaderFooter/footer
public net/minecraft/server/PacketPlayOutPlayerListHeaderFooter/header
public net/minecraft/server/PacketPlayOutSpawnPosition/position
public net/minecraft/server/PlayerAbilities/flySpeed
public net/minecraft/server/PlayerAbilities/walkSpeed
public net/minecraft/server/PlayerChunk/oldTicketLevel
public net/minecraft/server/PlayerChunk/players
public net/minecraft/server/PlayerChunkMap$EntityTracker/trackedPlayers
public net/minecraft/server/PlayerChunkMap/chunkDistanceManager
public net/minecraft/server/PlayerChunkMap/chunkGenerator
public net/minecraft/server/PlayerChunkMap/saveChunk(Lnet/minecraft/server/IChunkAccess;)Z
public net/minecraft/server/PlayerChunkMap/trackedEntities
public net/minecraft/server/PlayerChunkMap/unloadQueue
public net/minecraft/server/PlayerChunkMap/updatingChunks
public net/minecraft/server/PlayerChunkMap/visibleChunks
public net/minecraft/server/PlayerChunkMap/world
public net/minecraft/server/PlayerChunkMap/worldLoadListener
public net/minecraft/server/PlayerList/playerFileData
public net/minecraft/server/PlayerList/players
public net/minecraft/server/PlayerList/sendScoreboard(Lnet/minecraft/server/ScoreboardServer;Lnet/minecraft/server/EntityPlayer;)V
public net/minecraft/server/PropertyManager/properties
public net/minecraft/server/RecipeItemStack$StackProvider/<init>(Lnet/minecraft/server/ItemStack;)V
public net/minecraft/server/RecipeItemStack/<init>(Ljava/util/stream/Stream;)V
public net/minecraft/server/RecipeItemStack/buildChoices()V
public net/minecraft/server/RecipeItemStack/choices
public net/minecraft/server/RegionFileCache/cache
public net/minecraft/server/ScoreboardObjective/displayName
public net/minecraft/server/Slot/index
public net/minecraft/server/Ticket/identifier
public net/minecraft/server/TileEntityBanner/color
public net/minecraft/server/TileEntityBanner/patterns
public net/minecraft/server/TileEntityBeacon/chestLock
public net/minecraft/server/TileEntityBeacon/customName
public net/minecraft/server/TileEntityBeacon/levels
public net/minecraft/server/TileEntityBeacon/primaryEffect
public net/minecraft/server/TileEntityBeacon/secondaryEffect
public net/minecraft/server/TileEntityBed/color
public net/minecraft/server/TileEntityBrewingStand/brewTime
public net/minecraft/server/TileEntityBrewingStand/fuelLevel
public net/minecraft/server/TileEntityCampfire/cookingTimes
public net/minecraft/server/TileEntityCampfire/cookingTotalTimes
public net/minecraft/server/TileEntityContainer/chestLock
public net/minecraft/server/TileEntityContainer/customName
public net/minecraft/server/TileEntityEndGateway/age
public net/minecraft/server/TileEntityEndGateway/exactTeleport
public net/minecraft/server/TileEntityEndGateway/exitPortal
public net/minecraft/server/TileEntityFurnace/burnTime
public net/minecraft/server/TileEntityFurnace/cookTime
public net/minecraft/server/TileEntityFurnace/cookTimeTotal
public net/minecraft/server/TileEntityLectern/inventory
public net/minecraft/server/TileEntityLectern/setPage(I)V
public net/minecraft/server/TileEntityLootable/lootTable
public net/minecraft/server/TileEntityLootable/lootTableSeed
public net/minecraft/server/TileEntitySign/isEditable
public net/minecraft/server/TileEntitySkull/gameProfile
public net/minecraft/server/TileEntityStructure/author
public net/minecraft/server/TileEntityStructure/ignoreEntities
public net/minecraft/server/TileEntityStructure/integrity
public net/minecraft/server/TileEntityStructure/metadata
public net/minecraft/server/TileEntityStructure/mirror
public net/minecraft/server/TileEntityStructure/relativePosition
public net/minecraft/server/TileEntityStructure/rotation
public net/minecraft/server/TileEntityStructure/seed
public net/minecraft/server/TileEntityStructure/showAir
public net/minecraft/server/TileEntityStructure/showBoundingBox
public net/minecraft/server/TileEntityStructure/size
public net/minecraft/server/World/worldData
public net/minecraft/server/WorldMap/humans
public net/minecraft/server/WorldPersistentData/data
public net/minecraft/server/WorldServer/entitiesById
public-final net/minecraft/server/Container/items
public-final net/minecraft/server/Container/slots
public-final net/minecraft/server/CraftingManager/recipes
public-final net/minecraft/server/DedicatedServer/propertyManager
public-final net/minecraft/server/EntityAreaEffectCloud/effects
public-final net/minecraft/server/EntityFishingHook/owner
public-final net/minecraft/server/EntityInsentient/goalSelector
public-final net/minecraft/server/EntityInsentient/targetSelector
public-final net/minecraft/server/EntityLiving/combatTracker
public-final net/minecraft/server/EntityLiving/maxNoDamageTicks
private-final net/minecraft/server/ItemStack/item
public-final net/minecraft/server/MerchantRecipe/buyingItem1
public-final net/minecraft/server/MerchantRecipe/buyingItem2
public-final net/minecraft/server/MerchantRecipe/maxUses
public-final net/minecraft/server/MinecraftServer/commandDispatcher
public-final net/minecraft/server/MinecraftServer/convertable
private-final net/minecraft/server/MinecraftServer/serverConnection
public-final net/minecraft/server/MinecraftServer/universe
public-final net/minecraft/server/TicketType/loadPeriod
public-final net/minecraft/server/World/worldProvider

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,175 +0,0 @@
import java.io._
import scala.annotation.tailrec
import scala.collection.mutable
import scala.io.Source
import scala.util.Using
import scala.util.matching.Regex
object GenSrg extends App {
val packages = List("it/unimi/dsi/fastutil","org/apache/commons", "jline")
case class Sig(param: Seq[String], ret: String) {
override def toString: String = s"(${param.mkString("")})$ret"
def map(map: Map[String, String]): Sig = {
val func: String => String = {
case s"L$cl;" => s"L${map.getOrElse(cl, cl)};"
case x => x
}
val arrayBase = ret.takeWhile(_ == '[')
val arrayType = ret.dropWhile(_ == '[')
Sig(param.map(func), arrayBase + func(arrayType))
}
}
object Sig {
def apply(sig: String): Sig = {
val s"($param)$ret" = sig
Sig(read(Seq.empty, param), ret)
}
val reg: Regex = "(L[^;]*;)(.*)".r
@tailrec def read(list: Seq[String], str: String): Seq[String] =
str match {
case "" => list
case reg(a, b) => read(list :+ a, b)
case x => read(list :+ x.head.toString, x.tail)
}
}
sealed abstract class Mapping
case class C(notch: String, srg: String) extends Mapping
case class M(cl: String, notch: String, sig: Sig, srg: String) extends Mapping
case class F(cl: String, notch: String, srg: String) extends Mapping
def resource(str: String): Source = Source.fromInputStream(getClass.getResourceAsStream(str))
@tailrec def readTsrg(map: mutable.Map[C, Seq[Mapping]],
lines: Seq[String]): mutable.Map[C, Seq[Mapping]] =
if (lines.isEmpty) map
else {
val Array(notch, srg) = lines.head.split(' ')
val members = lines.tail.takeWhile(_.head == '\t')
val mappings = members.map(_.trim split ' ').map({
case Array(fn, fs) => F(notch, fn, fs)
case Array(mn, sig, ms) => M(notch, mn, Sig(sig), ms)
})
readTsrg(map += (C(notch, srg) -> mappings), lines.tail.dropWhile(_.head == '\t'))
}
val bukkit_cl = resource("/bukkit-1.14.4-cl.csrg").getLines()
.filterNot(_ startsWith "#").filterNot(_.isEmpty)
.map(_ split ' ').map(it => C(it(0), it(1))).toSeq
val notch_bukkit = bukkit_cl.map({ case C(n, b) => (n, b) }).toMap
val bukkit_notch = bukkit_cl.map({ case C(n, b) => (b, n) }).toMap
val bukkit_nms_prefix = notch_bukkit.values.map({
case "net/minecraft/server/MinecraftServer" => ("net/minecraft/server/MinecraftServer", "net/minecraft/server/v1_14_R1/MinecraftServer")
case x => (x, "net/minecraft/server/v1_14_R1/" + x)
}).toMap
val bukkit_simple = bukkit_nms_prefix.map { case (a, b) => (b.replace("v1_14_R1/", ""), a) }
val tsrg = readTsrg(mutable.Map.empty, resource("/joined.tsrg").getLines().toSeq)
val tsrg_cl = tsrg.keys.map(c => (c.notch, c.srg)).toMap
val tsrg_members = tsrg.map({ case (c, mapping) => (c.notch, mapping) }).toMap
val bukkit_srg_cl = bukkit_notch.map({
case (s, n) => (s, tsrg_cl(n))
})
val srg_bukkit_cl = bukkit_srg_cl.map({ case (a, b) => (b, a) })
val inherit = resource("/inheritanceMap.txt").getLines().map(it => {
val spl = it.split("\\s")
(spl(0), spl(1))
}).toMap.map({
case (a, b) => (srg_bukkit_cl(a), srg_bukkit_cl(b))
})
val bukkit_members_ = notch_bukkit.values.map(x => (x, List[Mapping]())).to(mutable.Map)
resource("/bukkit-1.14.4-members.csrg").getLines()
.filterNot(_ startsWith "#").filterNot(_.isEmpty)
.map(_ split ' ').foreach({
case Array(c, n, b) =>
bukkit_members_(c) ::= F(c, n, b)
case Array(c, n, s, b) =>
bukkit_members_(c) ::= M(c, n, Sig(s), b)
})
def bukkit_members(str: String, parents: Boolean = true): List[Mapping] = {
val ret = bukkit_members_(str)
if (!parents) return ret
inherit.get(str) match {
case Some(parent) => ret ::: bukkit_members(parent)
case None => ret
}
}
Using(new PrintWriter(new File("./scripts/bukkit_at.at"))) { writer =>
try {
resource("/bukkit-1.14.4.at").getLines()
.filterNot(_ startsWith "#").filterNot(_.isEmpty)
.foreach {
case s"$access $cl_name($param)$ret" =>
val bukkit_sig = Sig(s"($param)$ret").map(bukkit_simple)
val i = cl_name.lastIndexOf('/')
val name = bukkit_simple(cl_name.take(i))
val method = cl_name.drop(i + 1)
bukkit_members(name).foreach {
case M(_, mn, sig, ms) if ms == method && sig == bukkit_sig =>
val notch_sig = sig.map(bukkit_notch)
tsrg_members(bukkit_notch(name)).foreach({
case M(_, notch, sig, srg) if mn == notch && sig == notch_sig =>
writer.println(s"${access.replace("inal", "")} ${tsrg_cl(bukkit_notch(name)).replace('/', '.')} $srg${sig.map(tsrg_cl)}")
case _ =>
})
case _ =>
}
case s"$access $cl" =>
val count = cl.count(_ == '/')
val i = cl.lastIndexOf('/')
if (count == 3) {
val bukkit = bukkit_simple(cl)
writer.println(s"$access ${tsrg_cl(bukkit_notch(bukkit)).replace('/', '.')}")
} else if (count == 4) {
val field = cl.substring(i).tail
val bukkit = bukkit_simple(cl.take(i))
bukkit_members(bukkit, parents = false).foreach({
case F(_, fn, fs) if fs == field =>
tsrg_members(bukkit_notch(bukkit)).foreach({
case F(notch, n, srg) if fn == n =>
writer.println(s"${access.replace("inal", "")} ${tsrg_cl(notch).replace('/', '.')} $srg")
case _ =>
})
case _ =>
})
}
}
} catch {
case e: Exception => e.printStackTrace()
}
}
Using(new PrintWriter(new File("./scripts/bukkit_srg.srg"))) { writer =>
for (pk <- packages) writer.println(s"PK: org/bukkit/craftbukkit/libs/$pk $pk")
for ((c, mappings) <- tsrg if c.srg.startsWith("net/minecraft") && notch_bukkit.keySet(c.notch.takeWhile(_ != '$'))) {
val bukkit_cl = notch_bukkit(c.notch)
writer.println(s"CL: ${bukkit_nms_prefix(bukkit_cl)} ${c.srg}")
mappings.foreach({
case F(_, fn, fs) =>
bukkit_members(bukkit_cl, parents = false).filter({
case F(_, notch, _) if fn == notch => true
case _ => false
}).map({ case F(_, _, fs) => fs }).headOption match {
case Some(bn) => writer.println(s"FD: ${bukkit_nms_prefix(bukkit_cl)}/$bn ${c.srg}/$fs")
case None => writer.println(s"FD: ${bukkit_nms_prefix(bukkit_cl)}/$fn ${c.srg}/$fs")
}
case M(_, mn, sig, ms) =>
bukkit_members(bukkit_cl).filter({
case M(_, notch, bukkit_sig, _) if mn == notch && bukkit_sig.map(bukkit_notch) == sig => true
case _ => false
}).map({ case M(_, _, sig, ms) => (sig, ms) }).headOption match {
case Some((bukkit_sig, bms)) => writer.println(s"MD: ${bukkit_nms_prefix(bukkit_cl)}/$bms ${bukkit_sig.map(bukkit_nms_prefix)} ${c.srg}/$ms ${sig.map(tsrg_cl)}")
case None => writer.println(s"MD: ${bukkit_nms_prefix(bukkit_cl)}/$mn ${sig.map(notch_bukkit).map(bukkit_nms_prefix)} ${c.srg}/$ms ${sig.map(tsrg_cl)}")
}
})
}
}
}

View File

@ -1,6 +1,5 @@
rootProject.name = 'arclight'
include 'arclight-coremod'
include 'scripts'
include 'arclight-testplugin'
include 'arclight-common'
include 'forge-installer'