mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-06-16 22:00:56 +00:00
add oraxen furniture support
This commit is contained in:
@@ -19,17 +19,25 @@
|
|||||||
package com.volmit.iris.core.link;
|
package com.volmit.iris.core.link;
|
||||||
|
|
||||||
import com.volmit.iris.Iris;
|
import com.volmit.iris.Iris;
|
||||||
|
import com.volmit.iris.engine.framework.Engine;
|
||||||
import com.volmit.iris.util.collection.KList;
|
import com.volmit.iris.util.collection.KList;
|
||||||
|
import com.volmit.iris.util.data.B;
|
||||||
|
import com.volmit.iris.util.data.IrisBlockData;
|
||||||
import com.volmit.iris.util.reflect.WrappedField;
|
import com.volmit.iris.util.reflect.WrappedField;
|
||||||
import io.th0rgal.oraxen.api.OraxenItems;
|
import io.th0rgal.oraxen.api.OraxenItems;
|
||||||
import io.th0rgal.oraxen.items.ItemBuilder;
|
import io.th0rgal.oraxen.items.ItemBuilder;
|
||||||
|
import io.th0rgal.oraxen.mechanics.Mechanic;
|
||||||
import io.th0rgal.oraxen.mechanics.MechanicFactory;
|
import io.th0rgal.oraxen.mechanics.MechanicFactory;
|
||||||
import io.th0rgal.oraxen.mechanics.MechanicsManager;
|
import io.th0rgal.oraxen.mechanics.MechanicsManager;
|
||||||
import io.th0rgal.oraxen.mechanics.provided.gameplay.block.BlockMechanic;
|
import io.th0rgal.oraxen.mechanics.provided.gameplay.block.BlockMechanic;
|
||||||
import io.th0rgal.oraxen.mechanics.provided.gameplay.block.BlockMechanicFactory;
|
import io.th0rgal.oraxen.mechanics.provided.gameplay.block.BlockMechanicFactory;
|
||||||
|
import io.th0rgal.oraxen.mechanics.provided.gameplay.furniture.FurnitureFactory;
|
||||||
|
import io.th0rgal.oraxen.mechanics.provided.gameplay.furniture.FurnitureMechanic;
|
||||||
import io.th0rgal.oraxen.mechanics.provided.gameplay.noteblock.NoteBlockMechanicFactory;
|
import io.th0rgal.oraxen.mechanics.provided.gameplay.noteblock.NoteBlockMechanicFactory;
|
||||||
import io.th0rgal.oraxen.mechanics.provided.gameplay.stringblock.StringBlockMechanicFactory;
|
import io.th0rgal.oraxen.mechanics.provided.gameplay.stringblock.StringBlockMechanicFactory;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.Chunk;
|
||||||
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
import org.bukkit.block.data.MultipleFacing;
|
import org.bukkit.block.data.MultipleFacing;
|
||||||
@@ -69,6 +77,8 @@ public class OraxenDataProvider extends ExternalDataProvider {
|
|||||||
return newBlockData;
|
return newBlockData;
|
||||||
} else if (factory instanceof StringBlockMechanicFactory f) {
|
} else if (factory instanceof StringBlockMechanicFactory f) {
|
||||||
return f.createTripwireData(blockId.key());
|
return f.createTripwireData(blockId.key());
|
||||||
|
} else if (factory instanceof FurnitureFactory) {
|
||||||
|
return new IrisBlockData(B.getAir(), blockId);
|
||||||
} else
|
} else
|
||||||
throw new MissingResourceException("Failed to find BlockData!", blockId.namespace(), blockId.key());
|
throw new MissingResourceException("Failed to find BlockData!", blockId.namespace(), blockId.key());
|
||||||
}
|
}
|
||||||
@@ -79,6 +89,14 @@ public class OraxenDataProvider extends ExternalDataProvider {
|
|||||||
return opt.orElseThrow(() -> new MissingResourceException("Failed to find ItemData!", itemId.namespace(), itemId.key())).build();
|
return opt.orElseThrow(() -> new MissingResourceException("Failed to find ItemData!", itemId.namespace(), itemId.key())).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void processUpdate(Engine engine, Location location, Identifier blockId) {
|
||||||
|
Mechanic mechanic = getFactory(blockId).getMechanic(blockId.key());
|
||||||
|
if (mechanic instanceof FurnitureMechanic f) {
|
||||||
|
f.place(location);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Identifier[] getBlockTypes() {
|
public Identifier[] getBlockTypes() {
|
||||||
KList<Identifier> names = new KList<>();
|
KList<Identifier> names = new KList<>();
|
||||||
|
|||||||
Reference in New Issue
Block a user