mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 18:23:06 +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.nms.INMSBinding;
|
||||||
import com.volmit.iris.util.KMap;
|
import com.volmit.iris.util.KMap;
|
||||||
import net.minecraft.server.v1_16_R3.BiomeBase;
|
import net.minecraft.core.IRegistry;
|
||||||
import net.minecraft.server.v1_16_R3.IRegistry;
|
import net.minecraft.world.level.biome.BiomeBase;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.block.Biome;
|
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<>();
|
private final KMap<Biome, Object> baseBiomeCache = new KMap<>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object getBiomeBase(World world, Biome biome)
|
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
|
@Override
|
||||||
@ -28,12 +27,12 @@ public class NMSBinding16_3 implements INMSBinding
|
|||||||
{
|
{
|
||||||
return v;
|
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) {
|
if (v == null) {
|
||||||
// Ok so there is this new biome name called "CUSTOM" in Paper's new releases.
|
// 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.
|
// 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.
|
// 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);
|
baseBiomeCache.put(biome, v);
|
||||||
return v;
|
return v;
|
||||||
@ -45,7 +44,7 @@ public class NMSBinding16_3 implements INMSBinding
|
|||||||
{
|
{
|
||||||
if(i.getEnvironment().equals(World.Environment.NORMAL))
|
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));
|
return registry.a((BiomeBase) getBiomeBase(registry, biome));
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user