mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 10:12:53 +00:00
NMS Bindings for 1.17 only
This commit is contained in:
parent
bbce4bdeb0
commit
861ff636b1
@ -1,54 +0,0 @@
|
||||
package com.volmit.iris.nms.v16_2;
|
||||
|
||||
import com.volmit.iris.nms.INMSBinding;
|
||||
import com.volmit.iris.util.KMap;
|
||||
import net.minecraft.server.v1_16_R2.BiomeBase;
|
||||
import net.minecraft.server.v1_16_R2.IRegistry;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.Biome;
|
||||
import org.bukkit.craftbukkit.v1_16_R2.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_16_R2.block.CraftBlock;
|
||||
|
||||
public class NMSBinding16_2 implements INMSBinding
|
||||
{
|
||||
private final KMap<Biome, Object> baseBiomeCache = new KMap<>();
|
||||
|
||||
@Override
|
||||
public Object getBiomeBase(World world, Biome biome)
|
||||
{
|
||||
return getBiomeBase(((CraftWorld)world).getHandle().r().b(net.minecraft.server.v1_16_R2.IRegistry.ay), biome);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getBiomeBase(Object registry, Biome biome) {
|
||||
Object v = baseBiomeCache.get(biome);
|
||||
|
||||
if(v != null)
|
||||
{
|
||||
return v;
|
||||
}
|
||||
v = CraftBlock.biomeToBiomeBase((IRegistry<BiomeBase>) registry, biome);
|
||||
baseBiomeCache.put(biome, v);
|
||||
return v;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBiomeId(Biome biome) {
|
||||
for(World i : Bukkit.getWorlds())
|
||||
{
|
||||
if(i.getEnvironment().equals(World.Environment.NORMAL))
|
||||
{
|
||||
IRegistry<BiomeBase> registry = ((CraftWorld)i).getHandle().r().b(IRegistry.ay);
|
||||
return registry.a((BiomeBase) getBiomeBase(registry, biome));
|
||||
}
|
||||
}
|
||||
|
||||
return biome.ordinal();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBukkit() {
|
||||
return false;
|
||||
}
|
||||
}
|
@ -1,23 +1,22 @@
|
||||
package com.volmit.iris.nms.v16_3;
|
||||
package com.volmit.iris.nms.v17_1;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.nms.INMSBinding;
|
||||
import com.volmit.iris.util.KMap;
|
||||
import net.minecraft.server.v1_16_R3.BiomeBase;
|
||||
import net.minecraft.server.v1_16_R3.IRegistry;
|
||||
import net.minecraft.core.IRegistry;
|
||||
import net.minecraft.world.level.biome.BiomeBase;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.Biome;
|
||||
import org.bukkit.craftbukkit.v1_16_R3.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_17_R1.CraftWorld;
|
||||
|
||||
public class NMSBinding16_3 implements INMSBinding
|
||||
public class NMSBinding17_1 implements INMSBinding
|
||||
{
|
||||
private final KMap<Biome, Object> baseBiomeCache = new KMap<>();
|
||||
|
||||
@Override
|
||||
public Object getBiomeBase(World world, Biome biome)
|
||||
{
|
||||
return getBiomeBase(((CraftWorld)world).getHandle().r().b(net.minecraft.server.v1_16_R3.IRegistry.ay), biome);
|
||||
return getBiomeBase(((CraftWorld)world).getHandle().r().b(IRegistry.ay), biome);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -28,12 +27,12 @@ public class NMSBinding16_3 implements INMSBinding
|
||||
{
|
||||
return v;
|
||||
}
|
||||
v = org.bukkit.craftbukkit.v1_16_R3.block.CraftBlock.biomeToBiomeBase((IRegistry<BiomeBase>) registry, biome);
|
||||
v = org.bukkit.craftbukkit.v1_17_R1.block.CraftBlock.biomeToBiomeBase((IRegistry<BiomeBase>) registry, biome);
|
||||
if (v == null) {
|
||||
// Ok so there is this new biome name called "CUSTOM" in Paper's new releases.
|
||||
// But, this does NOT exist within CraftBukkit which makes it return an error.
|
||||
// So, we will just return the ID that the plains biome returns instead.
|
||||
return org.bukkit.craftbukkit.v1_16_R3.block.CraftBlock.biomeToBiomeBase((IRegistry<BiomeBase>) registry, Biome.PLAINS);
|
||||
return org.bukkit.craftbukkit.v1_17_R1.block.CraftBlock.biomeToBiomeBase((IRegistry<BiomeBase>) registry, Biome.PLAINS);
|
||||
}
|
||||
baseBiomeCache.put(biome, v);
|
||||
return v;
|
||||
@ -45,7 +44,7 @@ public class NMSBinding16_3 implements INMSBinding
|
||||
{
|
||||
if(i.getEnvironment().equals(World.Environment.NORMAL))
|
||||
{
|
||||
IRegistry<BiomeBase> registry = ((CraftWorld)i).getHandle().r().b(net.minecraft.server.v1_16_R3.IRegistry.ay);
|
||||
IRegistry<BiomeBase> registry = ((CraftWorld)i).getHandle().r().b(IRegistry.ay);
|
||||
return registry.a((BiomeBase) getBiomeBase(registry, biome));
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user