nosingleplayer 1.1.1: fond custom via blit + log debug widgets
This commit is contained in:
+26
@@ -0,0 +1,26 @@
|
||||
package net.paladrill.paladrillmod;
|
||||
|
||||
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
|
||||
import net.minecraftforge.client.model.obj.OBJLoader;
|
||||
|
||||
public class ClientProxyPaladrillmodMod implements IProxyPaladrillmodMod {
|
||||
@Override
|
||||
public void init(FMLInitializationEvent event) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void preInit(FMLPreInitializationEvent event) {
|
||||
OBJLoader.INSTANCE.addDomain("paladrillmod");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void postInit(FMLPostInitializationEvent event) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void serverLoad(FMLServerStartingEvent event) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,202 @@
|
||||
package net.paladrill.paladrillmod;
|
||||
|
||||
import net.paladrill.paladrillmod.gui.GuiPaladiumFurnaceGUI;
|
||||
import net.paladrill.paladrillmod.gui.GuiPaladiumCrusherGUI;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.EntityEntry;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import net.minecraftforge.fml.common.network.IGuiHandler;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
|
||||
import net.minecraftforge.fml.common.discovery.ASMDataTable;
|
||||
import net.minecraftforge.fml.common.IWorldGenerator;
|
||||
import net.minecraftforge.fml.common.IFuelHandler;
|
||||
import net.minecraftforge.event.RegistryEvent;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.storage.WorldSavedData;
|
||||
import net.minecraft.world.gen.IChunkGenerator;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
import net.minecraft.world.biome.Biome;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.potion.Potion;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.List;
|
||||
import java.util.HashMap;
|
||||
import java.util.Collections;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Retention;
|
||||
|
||||
public class ElementsPaladrillmodMod implements IFuelHandler, IWorldGenerator {
|
||||
public final List<ModElement> elements = new ArrayList<>();
|
||||
public final List<Supplier<Block>> blocks = new ArrayList<>();
|
||||
public final List<Supplier<Item>> items = new ArrayList<>();
|
||||
public final List<Supplier<Biome>> biomes = new ArrayList<>();
|
||||
public final List<Supplier<EntityEntry>> entities = new ArrayList<>();
|
||||
public final List<Supplier<Potion>> potions = new ArrayList<>();
|
||||
public static Map<ResourceLocation, net.minecraft.util.SoundEvent> sounds = new HashMap<>();
|
||||
public ElementsPaladrillmodMod() {
|
||||
}
|
||||
|
||||
public void preInit(FMLPreInitializationEvent event) {
|
||||
try {
|
||||
for (ASMDataTable.ASMData asmData : event.getAsmData().getAll(ModElement.Tag.class.getName())) {
|
||||
Class<?> clazz = Class.forName(asmData.getClassName());
|
||||
if (clazz.getSuperclass() == ElementsPaladrillmodMod.ModElement.class)
|
||||
elements.add((ElementsPaladrillmodMod.ModElement) clazz.getConstructor(this.getClass()).newInstance(this));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
Collections.sort(elements);
|
||||
elements.forEach(ElementsPaladrillmodMod.ModElement::initElements);
|
||||
this.addNetworkMessage(PaladrillmodModVariables.WorldSavedDataSyncMessageHandler.class,
|
||||
PaladrillmodModVariables.WorldSavedDataSyncMessage.class, Side.SERVER, Side.CLIENT);
|
||||
}
|
||||
|
||||
public void registerSounds(RegistryEvent.Register<net.minecraft.util.SoundEvent> event) {
|
||||
for (Map.Entry<ResourceLocation, net.minecraft.util.SoundEvent> sound : sounds.entrySet())
|
||||
event.getRegistry().register(sound.getValue().setRegistryName(sound.getKey()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator cg, IChunkProvider cp) {
|
||||
elements.forEach(element -> element.generateWorld(random, chunkX * 16, chunkZ * 16, world, world.provider.getDimension(), cg, cp));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBurnTime(ItemStack fuel) {
|
||||
for (ModElement element : elements) {
|
||||
int ret = element.addFuel(fuel);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onPlayerLoggedIn(net.minecraftforge.fml.common.gameevent.PlayerEvent.PlayerLoggedInEvent event) {
|
||||
if (!event.player.world.isRemote) {
|
||||
WorldSavedData mapdata = PaladrillmodModVariables.MapVariables.get(event.player.world);
|
||||
WorldSavedData worlddata = PaladrillmodModVariables.WorldVariables.get(event.player.world);
|
||||
if (mapdata != null)
|
||||
PaladrillmodMod.PACKET_HANDLER.sendTo(new PaladrillmodModVariables.WorldSavedDataSyncMessage(0, mapdata),
|
||||
(EntityPlayerMP) event.player);
|
||||
if (worlddata != null)
|
||||
PaladrillmodMod.PACKET_HANDLER.sendTo(new PaladrillmodModVariables.WorldSavedDataSyncMessage(1, worlddata),
|
||||
(EntityPlayerMP) event.player);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onPlayerChangedDimension(net.minecraftforge.fml.common.gameevent.PlayerEvent.PlayerChangedDimensionEvent event) {
|
||||
if (!event.player.world.isRemote) {
|
||||
WorldSavedData worlddata = PaladrillmodModVariables.WorldVariables.get(event.player.world);
|
||||
if (worlddata != null)
|
||||
PaladrillmodMod.PACKET_HANDLER.sendTo(new PaladrillmodModVariables.WorldSavedDataSyncMessage(1, worlddata),
|
||||
(EntityPlayerMP) event.player);
|
||||
}
|
||||
}
|
||||
private int messageID = 0;
|
||||
public <T extends IMessage, V extends IMessage> void addNetworkMessage(Class<? extends IMessageHandler<T, V>> handler, Class<T> messageClass,
|
||||
Side... sides) {
|
||||
for (Side side : sides)
|
||||
PaladrillmodMod.PACKET_HANDLER.registerMessage(handler, messageClass, messageID, side);
|
||||
messageID++;
|
||||
}
|
||||
public static class GuiHandler implements IGuiHandler {
|
||||
@Override
|
||||
public Object getServerGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) {
|
||||
if (id == GuiPaladiumFurnaceGUI.GUIID)
|
||||
return new GuiPaladiumFurnaceGUI.GuiContainerMod(world, x, y, z, player);
|
||||
if (id == GuiPaladiumCrusherGUI.GUIID)
|
||||
return new GuiPaladiumCrusherGUI.GuiContainerMod(world, x, y, z, player);
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getClientGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) {
|
||||
if (id == GuiPaladiumFurnaceGUI.GUIID)
|
||||
return new GuiPaladiumFurnaceGUI.GuiWindow(world, x, y, z, player);
|
||||
if (id == GuiPaladiumCrusherGUI.GUIID)
|
||||
return new GuiPaladiumCrusherGUI.GuiWindow(world, x, y, z, player);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
public List<ModElement> getElements() {
|
||||
return elements;
|
||||
}
|
||||
|
||||
public List<Supplier<Block>> getBlocks() {
|
||||
return blocks;
|
||||
}
|
||||
|
||||
public List<Supplier<Item>> getItems() {
|
||||
return items;
|
||||
}
|
||||
|
||||
public List<Supplier<Biome>> getBiomes() {
|
||||
return biomes;
|
||||
}
|
||||
|
||||
public List<Supplier<EntityEntry>> getEntities() {
|
||||
return entities;
|
||||
}
|
||||
|
||||
public List<Supplier<Potion>> getPotions() {
|
||||
return potions;
|
||||
}
|
||||
public static class ModElement implements Comparable<ModElement> {
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
public @interface Tag {
|
||||
}
|
||||
protected final ElementsPaladrillmodMod elements;
|
||||
protected final int sortid;
|
||||
public ModElement(ElementsPaladrillmodMod elements, int sortid) {
|
||||
this.elements = elements;
|
||||
this.sortid = sortid;
|
||||
}
|
||||
|
||||
public void initElements() {
|
||||
}
|
||||
|
||||
public void init(FMLInitializationEvent event) {
|
||||
}
|
||||
|
||||
public void preInit(FMLPreInitializationEvent event) {
|
||||
}
|
||||
|
||||
public void generateWorld(Random random, int posX, int posZ, World world, int dimID, IChunkGenerator cg, IChunkProvider cp) {
|
||||
}
|
||||
|
||||
public void serverLoad(FMLServerStartingEvent event) {
|
||||
}
|
||||
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
}
|
||||
|
||||
public int addFuel(ItemStack fuel) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(ModElement other) {
|
||||
return this.sortid - other.sortid;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package net.paladrill.paladrillmod;
|
||||
|
||||
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
|
||||
|
||||
public interface IProxyPaladrillmodMod {
|
||||
void preInit(FMLPreInitializationEvent event);
|
||||
|
||||
void init(FMLInitializationEvent event);
|
||||
|
||||
void postInit(FMLPostInitializationEvent event);
|
||||
|
||||
void serverLoad(FMLServerStartingEvent event);
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
package net.paladrill.paladrillmod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.fml.common.registry.EntityEntry;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
|
||||
import net.minecraftforge.fml.common.network.NetworkRegistry;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
|
||||
import net.minecraftforge.fml.common.SidedProxy;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fluids.FluidRegistry;
|
||||
import net.minecraftforge.event.RegistryEvent;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.biome.Biome;
|
||||
import net.minecraft.potion.Potion;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
@Mod(modid = PaladrillmodMod.MODID, version = PaladrillmodMod.VERSION)
|
||||
public class PaladrillmodMod {
|
||||
public static final String MODID = "paladrillmod";
|
||||
public static final String VERSION = "1.15";
|
||||
public static final SimpleNetworkWrapper PACKET_HANDLER = NetworkRegistry.INSTANCE.newSimpleChannel("paladrillmod:a");
|
||||
@SidedProxy(clientSide = "net.paladrill.paladrillmod.ClientProxyPaladrillmodMod", serverSide = "net.paladrill.paladrillmod.ServerProxyPaladrillmodMod")
|
||||
public static IProxyPaladrillmodMod proxy;
|
||||
@Mod.Instance(MODID)
|
||||
public static PaladrillmodMod instance;
|
||||
public ElementsPaladrillmodMod elements = new ElementsPaladrillmodMod();
|
||||
@Mod.EventHandler
|
||||
public void preInit(FMLPreInitializationEvent event) {
|
||||
MinecraftForge.EVENT_BUS.register(this);
|
||||
GameRegistry.registerWorldGenerator(elements, 5);
|
||||
GameRegistry.registerFuelHandler(elements);
|
||||
NetworkRegistry.INSTANCE.registerGuiHandler(this, new ElementsPaladrillmodMod.GuiHandler());
|
||||
elements.preInit(event);
|
||||
MinecraftForge.EVENT_BUS.register(elements);
|
||||
elements.getElements().forEach(element -> element.preInit(event));
|
||||
proxy.preInit(event);
|
||||
}
|
||||
|
||||
@Mod.EventHandler
|
||||
public void init(FMLInitializationEvent event) {
|
||||
elements.getElements().forEach(element -> element.init(event));
|
||||
proxy.init(event);
|
||||
}
|
||||
|
||||
@Mod.EventHandler
|
||||
public void postInit(FMLPostInitializationEvent event) {
|
||||
proxy.postInit(event);
|
||||
}
|
||||
|
||||
@Mod.EventHandler
|
||||
public void serverLoad(FMLServerStartingEvent event) {
|
||||
elements.getElements().forEach(element -> element.serverLoad(event));
|
||||
proxy.serverLoad(event);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void registerBlocks(RegistryEvent.Register<Block> event) {
|
||||
event.getRegistry().registerAll(elements.getBlocks().stream().map(Supplier::get).toArray(Block[]::new));
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void registerItems(RegistryEvent.Register<Item> event) {
|
||||
event.getRegistry().registerAll(elements.getItems().stream().map(Supplier::get).toArray(Item[]::new));
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void registerBiomes(RegistryEvent.Register<Biome> event) {
|
||||
event.getRegistry().registerAll(elements.getBiomes().stream().map(Supplier::get).toArray(Biome[]::new));
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void registerEntities(RegistryEvent.Register<EntityEntry> event) {
|
||||
event.getRegistry().registerAll(elements.getEntities().stream().map(Supplier::get).toArray(EntityEntry[]::new));
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void registerPotions(RegistryEvent.Register<Potion> event) {
|
||||
event.getRegistry().registerAll(elements.getPotions().stream().map(Supplier::get).toArray(Potion[]::new));
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void registerSounds(RegistryEvent.Register<net.minecraft.util.SoundEvent> event) {
|
||||
elements.registerSounds(event);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
elements.getElements().forEach(element -> element.registerModels(event));
|
||||
}
|
||||
static {
|
||||
FluidRegistry.enableUniversalBucket();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,163 @@
|
||||
package net.paladrill.paladrillmod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import net.minecraftforge.fml.common.network.ByteBufUtils;
|
||||
|
||||
import net.minecraft.world.storage.WorldSavedData;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.client.Minecraft;
|
||||
|
||||
public class PaladrillmodModVariables {
|
||||
public static class MapVariables extends WorldSavedData {
|
||||
public static final String DATA_NAME = "paladrillmod_mapvars";
|
||||
public boolean CoffreNord = false;
|
||||
public double UnclaimFindersFetcher = 0;
|
||||
public boolean HideUnclaimfinder = false;
|
||||
public double chancePalaCrusher = 0;
|
||||
public boolean isGreenUnclaimFinderInHand = false;
|
||||
public boolean isOrangeUnclaimFinderInHand = false;
|
||||
public MapVariables() {
|
||||
super(DATA_NAME);
|
||||
}
|
||||
|
||||
public MapVariables(String s) {
|
||||
super(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
CoffreNord = nbt.getBoolean("CoffreNord");
|
||||
UnclaimFindersFetcher = nbt.getDouble("UnclaimFindersFetcher");
|
||||
HideUnclaimfinder = nbt.getBoolean("HideUnclaimfinder");
|
||||
chancePalaCrusher = nbt.getDouble("chancePalaCrusher");
|
||||
isGreenUnclaimFinderInHand = nbt.getBoolean("isGreenUnclaimFinderInHand");
|
||||
isOrangeUnclaimFinderInHand = nbt.getBoolean("isOrangeUnclaimFinderInHand");
|
||||
}
|
||||
|
||||
@Override
|
||||
public NBTTagCompound writeToNBT(NBTTagCompound nbt) {
|
||||
nbt.setBoolean("CoffreNord", CoffreNord);
|
||||
nbt.setDouble("UnclaimFindersFetcher", UnclaimFindersFetcher);
|
||||
nbt.setBoolean("HideUnclaimfinder", HideUnclaimfinder);
|
||||
nbt.setDouble("chancePalaCrusher", chancePalaCrusher);
|
||||
nbt.setBoolean("isGreenUnclaimFinderInHand", isGreenUnclaimFinderInHand);
|
||||
nbt.setBoolean("isOrangeUnclaimFinderInHand", isOrangeUnclaimFinderInHand);
|
||||
return nbt;
|
||||
}
|
||||
|
||||
public void syncData(World world) {
|
||||
this.markDirty();
|
||||
if (world.isRemote) {
|
||||
PaladrillmodMod.PACKET_HANDLER.sendToServer(new WorldSavedDataSyncMessage(0, this));
|
||||
} else {
|
||||
PaladrillmodMod.PACKET_HANDLER.sendToAll(new WorldSavedDataSyncMessage(0, this));
|
||||
}
|
||||
}
|
||||
|
||||
public static MapVariables get(World world) {
|
||||
MapVariables instance = (MapVariables) world.getMapStorage().getOrLoadData(MapVariables.class, DATA_NAME);
|
||||
if (instance == null) {
|
||||
instance = new MapVariables();
|
||||
world.getMapStorage().setData(DATA_NAME, instance);
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
}
|
||||
|
||||
public static class WorldVariables extends WorldSavedData {
|
||||
public static final String DATA_NAME = "paladrillmod_worldvars";
|
||||
public WorldVariables() {
|
||||
super(DATA_NAME);
|
||||
}
|
||||
|
||||
public WorldVariables(String s) {
|
||||
super(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public NBTTagCompound writeToNBT(NBTTagCompound nbt) {
|
||||
return nbt;
|
||||
}
|
||||
|
||||
public void syncData(World world) {
|
||||
this.markDirty();
|
||||
if (world.isRemote) {
|
||||
PaladrillmodMod.PACKET_HANDLER.sendToServer(new WorldSavedDataSyncMessage(1, this));
|
||||
} else {
|
||||
PaladrillmodMod.PACKET_HANDLER.sendToDimension(new WorldSavedDataSyncMessage(1, this), world.provider.getDimension());
|
||||
}
|
||||
}
|
||||
|
||||
public static WorldVariables get(World world) {
|
||||
WorldVariables instance = (WorldVariables) world.getPerWorldStorage().getOrLoadData(WorldVariables.class, DATA_NAME);
|
||||
if (instance == null) {
|
||||
instance = new WorldVariables();
|
||||
world.getPerWorldStorage().setData(DATA_NAME, instance);
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
}
|
||||
|
||||
public static class WorldSavedDataSyncMessageHandler implements IMessageHandler<WorldSavedDataSyncMessage, IMessage> {
|
||||
@Override
|
||||
public IMessage onMessage(WorldSavedDataSyncMessage message, MessageContext context) {
|
||||
if (context.side == Side.SERVER)
|
||||
context.getServerHandler().player.getServerWorld()
|
||||
.addScheduledTask(() -> syncData(message, context, context.getServerHandler().player.world));
|
||||
else
|
||||
Minecraft.getMinecraft().addScheduledTask(() -> syncData(message, context, Minecraft.getMinecraft().player.world));
|
||||
return null;
|
||||
}
|
||||
|
||||
private void syncData(WorldSavedDataSyncMessage message, MessageContext context, World world) {
|
||||
if (context.side == Side.SERVER) {
|
||||
message.data.markDirty();
|
||||
if (message.type == 0)
|
||||
PaladrillmodMod.PACKET_HANDLER.sendToAll(message);
|
||||
else
|
||||
PaladrillmodMod.PACKET_HANDLER.sendToDimension(message, world.provider.getDimension());
|
||||
}
|
||||
if (message.type == 0) {
|
||||
world.getMapStorage().setData(MapVariables.DATA_NAME, message.data);
|
||||
} else {
|
||||
world.getPerWorldStorage().setData(WorldVariables.DATA_NAME, message.data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static class WorldSavedDataSyncMessage implements IMessage {
|
||||
public int type;
|
||||
public WorldSavedData data;
|
||||
public WorldSavedDataSyncMessage() {
|
||||
}
|
||||
|
||||
public WorldSavedDataSyncMessage(int type, WorldSavedData data) {
|
||||
this.type = type;
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toBytes(io.netty.buffer.ByteBuf buf) {
|
||||
buf.writeInt(this.type);
|
||||
ByteBufUtils.writeTag(buf, this.data.writeToNBT(new NBTTagCompound()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fromBytes(io.netty.buffer.ByteBuf buf) {
|
||||
this.type = buf.readInt();
|
||||
if (this.type == 0)
|
||||
this.data = new MapVariables();
|
||||
else
|
||||
this.data = new WorldVariables();
|
||||
this.data.readFromNBT(ByteBufUtils.readTag(buf));
|
||||
}
|
||||
}
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package net.paladrill.paladrillmod;
|
||||
|
||||
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
|
||||
|
||||
public class ServerProxyPaladrillmodMod implements IProxyPaladrillmodMod {
|
||||
@Override
|
||||
public void preInit(FMLPreInitializationEvent event) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(FMLInitializationEvent event) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void postInit(FMLPostInitializationEvent event) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void serverLoad(FMLServerStartingEvent event) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.gen.feature.WorldGenMinable;
|
||||
import net.minecraft.world.gen.IChunkGenerator;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockAmethystOre extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:amethystore")
|
||||
public static final Block block = null;
|
||||
public BlockAmethystOre(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("amethystore"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:amethystore", "inventory"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generateWorld(Random random, int chunkX, int chunkZ, World world, int dimID, IChunkGenerator cg, IChunkProvider cp) {
|
||||
boolean dimensionCriteria = false;
|
||||
if (dimID == 0)
|
||||
dimensionCriteria = true;
|
||||
if (!dimensionCriteria)
|
||||
return;
|
||||
for (int i = 0; i < 5; i++) {
|
||||
int x = chunkX + random.nextInt(16);
|
||||
int y = random.nextInt(24) + 1;
|
||||
int z = chunkZ + random.nextInt(16);
|
||||
(new WorldGenMinable(block.getDefaultState(), 5, new com.google.common.base.Predicate<IBlockState>() {
|
||||
public boolean apply(IBlockState blockAt) {
|
||||
boolean blockCriteria = false;
|
||||
IBlockState require;
|
||||
if (blockAt.getBlock() == Blocks.GRAVEL.getDefaultState().getBlock())
|
||||
blockCriteria = true;
|
||||
require = Blocks.STONE.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.getBlock())
|
||||
blockCriteria = true;
|
||||
}
|
||||
return blockCriteria;
|
||||
}
|
||||
})).generate(world, random, new BlockPos(x, y, z));
|
||||
}
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.ROCK);
|
||||
setUnlocalizedName("amethystore");
|
||||
setSoundType(SoundType.STONE);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(3F);
|
||||
setResistance(5F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(BlockAmethystOre.block, (int) (1)));
|
||||
}
|
||||
}
|
||||
}
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockAmethystOreBlock extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:amethystoreblock")
|
||||
public static final Block block = null;
|
||||
public BlockAmethystOreBlock(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 4);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("amethystoreblock"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:amethystoreblock", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("amethystoreblock");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(8F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockAmethystSpike extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:amethystspike")
|
||||
public static final Block block = null;
|
||||
public BlockAmethystSpike(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 100);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("amethystspike"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:amethystspike", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.ROCK);
|
||||
setUnlocalizedName("amethystspike");
|
||||
setSoundType(SoundType.GROUND);
|
||||
setHardness(1F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureAngelicWaterMobplayerCollidesBlock;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||
import net.minecraftforge.fluids.FluidRegistry;
|
||||
import net.minecraftforge.fluids.Fluid;
|
||||
import net.minecraftforge.fluids.BlockFluidClassic;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.client.renderer.block.statemap.StateMapperBase;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.client.renderer.block.model.ModelBakery;
|
||||
import net.minecraft.client.renderer.ItemMeshDefinition;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockAngelicWater extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:angelicwater")
|
||||
public static final Block block = null;
|
||||
@GameRegistry.ObjectHolder("paladrillmod:angelicwater")
|
||||
public static final Item item = null;
|
||||
private Fluid fluid;
|
||||
public BlockAngelicWater(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 54);
|
||||
fluid = new Fluid("angelicwater", new ResourceLocation("paladrillmod:blocks/angelicwater_still"),
|
||||
new ResourceLocation("paladrillmod:blocks/angelicwater_flowing")).setLuminosity(0).setDensity(1000).setViscosity(1000)
|
||||
.setGaseous(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockFluidClassic(fluid, Material.WATER) {
|
||||
@Override
|
||||
public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) {
|
||||
super.onEntityCollidedWithBlock(world, pos, state, entity);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
ProcedureAngelicWaterMobplayerCollidesBlock.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}.setUnlocalizedName("angelicwater").setRegistryName("angelicwater"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName("angelicwater"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void preInit(FMLPreInitializationEvent event) {
|
||||
FluidRegistry.registerFluid(fluid);
|
||||
FluidRegistry.addBucketForFluid(fluid);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelBakery.registerItemVariants(item);
|
||||
ModelLoader.setCustomMeshDefinition(item, new ItemMeshDefinition() {
|
||||
@Override
|
||||
public ModelResourceLocation getModelLocation(ItemStack stack) {
|
||||
return new ModelResourceLocation("paladrillmod:angelicwater", "angelicwater");
|
||||
}
|
||||
});
|
||||
ModelLoader.setCustomStateMapper(block, new StateMapperBase() {
|
||||
@Override
|
||||
protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
|
||||
return new ModelResourceLocation("paladrillmod:angelicwater", "angelicwater");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockCaveBlock extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:caveblock")
|
||||
public static final Block block = null;
|
||||
public BlockCaveBlock(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("caveblock"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0, new ModelResourceLocation("paladrillmod:caveblock", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.ROCK);
|
||||
setUnlocalizedName("caveblock");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHardness(1F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockCobblebreaker extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:cobblebreaker")
|
||||
public static final Block block = null;
|
||||
public BlockCobblebreaker(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 322);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("cobblebreaker"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:cobblebreaker", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("cobblebreaker");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureFakeWaterMobplayerCollidesBlock;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||
import net.minecraftforge.fluids.FluidRegistry;
|
||||
import net.minecraftforge.fluids.Fluid;
|
||||
import net.minecraftforge.fluids.BlockFluidClassic;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.client.renderer.block.statemap.StateMapperBase;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.client.renderer.block.model.ModelBakery;
|
||||
import net.minecraft.client.renderer.ItemMeshDefinition;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockFakeWater extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:fakewater")
|
||||
public static final Block block = null;
|
||||
@GameRegistry.ObjectHolder("paladrillmod:fakewater")
|
||||
public static final Item item = null;
|
||||
private Fluid fluid;
|
||||
public BlockFakeWater(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 53);
|
||||
fluid = new Fluid("fakewater", new ResourceLocation("paladrillmod:blocks/sulfuricwater_still"),
|
||||
new ResourceLocation("paladrillmod:blocks/sulfuricwater_flowing")).setLuminosity(0).setDensity(1000).setViscosity(1000)
|
||||
.setGaseous(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockFluidClassic(fluid, Material.WATER) {
|
||||
@Override
|
||||
public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) {
|
||||
super.onEntityCollidedWithBlock(world, pos, state, entity);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
ProcedureFakeWaterMobplayerCollidesBlock.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}.setUnlocalizedName("fakewater").setRegistryName("fakewater"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName("fakewater"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void preInit(FMLPreInitializationEvent event) {
|
||||
FluidRegistry.registerFluid(fluid);
|
||||
FluidRegistry.addBucketForFluid(fluid);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelBakery.registerItemVariants(item);
|
||||
ModelLoader.setCustomMeshDefinition(item, new ItemMeshDefinition() {
|
||||
@Override
|
||||
public ModelResourceLocation getModelLocation(ItemStack stack) {
|
||||
return new ModelResourceLocation("paladrillmod:fakewater", "fakewater");
|
||||
}
|
||||
});
|
||||
ModelLoader.setCustomStateMapper(block, new StateMapperBase() {
|
||||
@Override
|
||||
protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
|
||||
return new ModelResourceLocation("paladrillmod:fakewater", "fakewater");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureFikutsiStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureFikutsiStage0BlockDestroyByPlayerBlockDestroyedByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForFikutsi;
|
||||
import net.paladrill.paladrillmod.item.ItemFikutsiSeeds;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockFikutsiStage0 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:fikutsistage0")
|
||||
public static final Block block = null;
|
||||
public BlockFikutsiStage0(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 252);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("fikutsistage0"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:fikutsistage0", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("fikutsistage0");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemFikutsiSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemFikutsiSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForFikutsi.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureFikutsiStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureFikutsiStage0BlockDestroyByPlayerBlockDestroyedByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureFikutsiStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureFikutsiStage0BlockDestroyByPlayerBlockDestroyedByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForFikutsi;
|
||||
import net.paladrill.paladrillmod.item.ItemFikutsiSeeds;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockFikutsiStage1 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:fikutsistage1")
|
||||
public static final Block block = null;
|
||||
public BlockFikutsiStage1(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 253);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("fikutsistage1"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:fikutsistage1", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("fikutsistage1");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemFikutsiSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemFikutsiSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForFikutsi.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureFikutsiStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureFikutsiStage0BlockDestroyByPlayerBlockDestroyedByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureFikutsiStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureFikutsiStage0BlockDestroyByPlayerBlockDestroyedByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForFikutsi;
|
||||
import net.paladrill.paladrillmod.item.ItemFikutsiSeeds;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockFikutsiStage2 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:fikutsistage2")
|
||||
public static final Block block = null;
|
||||
public BlockFikutsiStage2(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 254);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("fikutsistage2"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:fikutsistage2", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("fikutsistage2");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemFikutsiSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemFikutsiSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForFikutsi.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureFikutsiStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureFikutsiStage0BlockDestroyByPlayerBlockDestroyedByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,172 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureFikutsiStage3Casser;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureFikutsiStage0BlockDestroyByPlayerBlockDestroyedByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForFikutsi;
|
||||
import net.paladrill.paladrillmod.item.ItemFikutsiSeeds;
|
||||
import net.paladrill.paladrillmod.item.ItemEggPlantFruit;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockFikutsiStage3 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:fikutsistage3")
|
||||
public static final Block block = null;
|
||||
public BlockFikutsiStage3(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 255);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("fikutsistage3"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:fikutsistage3", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("fikutsistage3");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemFikutsiSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemEggPlantFruit.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForFikutsi.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer entity, boolean willHarvest) {
|
||||
boolean retval = super.removedByPlayer(state, world, pos, entity, willHarvest);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureFikutsiStage3Casser.executeProcedure($_dependencies);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureFikutsiStage0BlockDestroyByPlayerBlockDestroyedByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.gen.feature.WorldGenMinable;
|
||||
import net.minecraft.world.gen.IChunkGenerator;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockFindiumOre extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:findiumore")
|
||||
public static final Block block = null;
|
||||
public BlockFindiumOre(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 46);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("findiumore"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:findiumore", "inventory"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generateWorld(Random random, int chunkX, int chunkZ, World world, int dimID, IChunkGenerator cg, IChunkProvider cp) {
|
||||
boolean dimensionCriteria = false;
|
||||
if (dimID == 0)
|
||||
dimensionCriteria = true;
|
||||
if (!dimensionCriteria)
|
||||
return;
|
||||
for (int i = 0; i < 5; i++) {
|
||||
int x = chunkX + random.nextInt(16);
|
||||
int y = random.nextInt(32) + 1;
|
||||
int z = chunkZ + random.nextInt(16);
|
||||
(new WorldGenMinable(block.getDefaultState(), 3, new com.google.common.base.Predicate<IBlockState>() {
|
||||
public boolean apply(IBlockState blockAt) {
|
||||
boolean blockCriteria = false;
|
||||
IBlockState require;
|
||||
if (blockAt.getBlock() == Blocks.STONE.getDefaultState().getBlock())
|
||||
blockCriteria = true;
|
||||
require = Blocks.DIRT.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.getBlock())
|
||||
blockCriteria = true;
|
||||
}
|
||||
if (blockAt.getBlock() == Blocks.GRAVEL.getDefaultState().getBlock())
|
||||
blockCriteria = true;
|
||||
return blockCriteria;
|
||||
}
|
||||
})).generate(world, random, new BlockPos(x, y, z));
|
||||
}
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.ROCK);
|
||||
setUnlocalizedName("findiumore");
|
||||
setSoundType(SoundType.STONE);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(3F);
|
||||
setResistance(8.705505632961241F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(BlockFindiumOre.block, (int) (1)));
|
||||
}
|
||||
}
|
||||
}
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockFindiumOreBlock extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:findiumoreblock")
|
||||
public static final Block block = null;
|
||||
public BlockFindiumOreBlock(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 48);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("findiumoreblock"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:findiumoreblock", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("findiumoreblock");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockGrinderBlock extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:grinderblock")
|
||||
public static final Block block = null;
|
||||
public BlockGrinderBlock(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 321);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("grinderblock"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:grinderblock", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("grinderblock");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockGrinderCasing extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:grindercasing")
|
||||
public static final Block block = null;
|
||||
public BlockGrinderCasing(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 320);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("grindercasing"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:grindercasing", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("grindercasing");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockGrinderFrame extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:grinderframe")
|
||||
public static final Block block = null;
|
||||
public BlockGrinderFrame(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 319);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("grinderframe"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:grinderframe", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("grinderframe");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.gen.feature.WorldGenMinable;
|
||||
import net.minecraft.world.gen.IChunkGenerator;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockKisakayOre extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kisakayore")
|
||||
public static final Block block = null;
|
||||
public BlockKisakayOre(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 280);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("kisakayore"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:kisakayore", "inventory"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generateWorld(Random random, int chunkX, int chunkZ, World world, int dimID, IChunkGenerator cg, IChunkProvider cp) {
|
||||
boolean dimensionCriteria = false;
|
||||
if (dimID == 0)
|
||||
dimensionCriteria = true;
|
||||
if (!dimensionCriteria)
|
||||
return;
|
||||
for (int i = 0; i < 2; i++) {
|
||||
int x = chunkX + random.nextInt(16);
|
||||
int y = random.nextInt(15) + 1;
|
||||
int z = chunkZ + random.nextInt(16);
|
||||
(new WorldGenMinable(block.getDefaultState(), 1, new com.google.common.base.Predicate<IBlockState>() {
|
||||
public boolean apply(IBlockState blockAt) {
|
||||
boolean blockCriteria = false;
|
||||
IBlockState require;
|
||||
if (blockAt.getBlock() == Blocks.STONE.getDefaultState().getBlock())
|
||||
blockCriteria = true;
|
||||
return blockCriteria;
|
||||
}
|
||||
})).generate(world, random, new BlockPos(x, y, z));
|
||||
}
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.ROCK);
|
||||
setUnlocalizedName("kisakayore");
|
||||
setSoundType(SoundType.STONE);
|
||||
setHarvestLevel("pickaxe", 4);
|
||||
setHardness(6F);
|
||||
setResistance(12F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(BlockKisakayOre.block, (int) (1)));
|
||||
}
|
||||
}
|
||||
}
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockKisakayOreBlock extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kisakayoreblock")
|
||||
public static final Block block = null;
|
||||
public BlockKisakayOreBlock(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 281);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("kisakayoreblock"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:kisakayoreblock", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("kisakayoreblock");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 9);
|
||||
setHardness(5F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(255);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,166 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoStage0BlockDestroyByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForKiwano;
|
||||
import net.paladrill.paladrillmod.item.ItemKiwanoSeeds;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockKiwanoStage0 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kiwanostage0")
|
||||
public static final Block block = null;
|
||||
public BlockKiwanoStage0(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 184);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("kiwanostage0"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:kiwanostage0", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("kiwanostage0");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemKiwanoSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemKiwanoSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForKiwano.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoStage0BlockDestroyByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoStage0BlockDestroyByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForKiwano;
|
||||
import net.paladrill.paladrillmod.item.ItemKiwanoSeeds;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockKiwanoStage1 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kiwanostage1")
|
||||
public static final Block block = null;
|
||||
public BlockKiwanoStage1(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 185);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("kiwanostage1"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:kiwanostage1", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("kiwanostage1");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemKiwanoSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemKiwanoSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForKiwano.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoStage0BlockDestroyByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoStage0BlockDestroyByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForKiwano;
|
||||
import net.paladrill.paladrillmod.item.ItemKiwanoSeeds;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockKiwanoStage2 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kiwanostage2")
|
||||
public static final Block block = null;
|
||||
public BlockKiwanoStage2(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 186);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("kiwanostage2"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:kiwanostage2", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("kiwanostage2");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemKiwanoSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemKiwanoSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForKiwano.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoStage0BlockDestroyByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoStage0BlockDestroyByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForKiwano;
|
||||
import net.paladrill.paladrillmod.item.ItemKiwanoSeeds;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockKiwanoStage3 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kiwanostage3")
|
||||
public static final Block block = null;
|
||||
public BlockKiwanoStage3(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 187);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("kiwanostage3"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:kiwanostage3", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("kiwanostage3");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemKiwanoSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemKiwanoSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForKiwano.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoStage0BlockDestroyByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoStage0BlockDestroyByPlayerBlockDestroyedByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoStage0BlockDestroyByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForKiwano;
|
||||
import net.paladrill.paladrillmod.item.ItemKiwano;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockKiwanoStage4 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kiwanostage4")
|
||||
public static final Block block = null;
|
||||
public BlockKiwanoStage4(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 188);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("kiwanostage4"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:kiwanostage4", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("kiwanostage4");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemKiwano.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemKiwano.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForKiwano.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer entity, boolean willHarvest) {
|
||||
boolean retval = super.removedByPlayer(state, world, pos, entity, willHarvest);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoStage0BlockDestroyByPlayerBlockDestroyedByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoStage0BlockDestroyByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOkamiStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOkamiStage0BlockDestroyByPlayerBlockDestroyedByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForOkami;
|
||||
import net.paladrill.paladrillmod.item.ItemOkamiSeeds;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockOkamiStage0 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:okamistage0")
|
||||
public static final Block block = null;
|
||||
public BlockOkamiStage0(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 270);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("okamistage0"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:okamistage0", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("okamistage0");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemOkamiSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemOkamiSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForOkami.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOkamiStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOkamiStage0BlockDestroyByPlayerBlockDestroyedByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOkamiStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOkamiStage0BlockDestroyByPlayerBlockDestroyedByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForOkami;
|
||||
import net.paladrill.paladrillmod.item.ItemOkamiSeeds;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockOkamiStage1 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:okamistage1")
|
||||
public static final Block block = null;
|
||||
public BlockOkamiStage1(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 271);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("okamistage1"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:okamistage1", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("okamistage1");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemOkamiSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemOkamiSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForOkami.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOkamiStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOkamiStage0BlockDestroyByPlayerBlockDestroyedByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,170 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOkamiStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForOkami;
|
||||
import net.paladrill.paladrillmod.item.ItemOkamiSeeds;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockOkamiStage2 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:okamistage2")
|
||||
public static final Block block = null;
|
||||
public BlockOkamiStage2(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 272);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("okamistage2"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:okamistage2", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("okamistage2");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemOkamiSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemOkamiSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForOkami.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOkamiStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForOkami.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,172 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOkamiStage3Casser;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOkamiStage0BlockDestroyByPlayerBlockDestroyedByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForOkami;
|
||||
import net.paladrill.paladrillmod.item.ItemOkamiSeeds;
|
||||
import net.paladrill.paladrillmod.item.ItemOkamiFruit;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockOkamiStage3 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:okamistage3")
|
||||
public static final Block block = null;
|
||||
public BlockOkamiStage3(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 273);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("okamistage3"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:okamistage3", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("okamistage3");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemOkamiSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemOkamiFruit.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForOkami.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer entity, boolean willHarvest) {
|
||||
boolean retval = super.removedByPlayer(state, world, pos, entity, willHarvest);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOkamiStage3Casser.executeProcedure($_dependencies);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOkamiStage0BlockDestroyByPlayerBlockDestroyedByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+171
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOrangeBlueStage4BlockDestroyedByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOrangeBlueStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForOrangeBlue;
|
||||
import net.paladrill.paladrillmod.item.ItemOrangeBlueSeeds;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockOrangeBlueStage0 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:orangebluestage0")
|
||||
public static final Block block = null;
|
||||
public BlockOrangeBlueStage0(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 196);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("orangebluestage0"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:orangebluestage0", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("orangebluestage0");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.TRANSLUCENT;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemOrangeBlueSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemOrangeBlueSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForOrangeBlue.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOrangeBlueStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOrangeBlueStage4BlockDestroyedByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+171
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOrangeBlueStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOrangeBlueStage0BlockDestroyByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForOrangeBlue;
|
||||
import net.paladrill.paladrillmod.item.ItemOrangeBlueSeeds;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockOrangeBlueStage1 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:orangebluestage1")
|
||||
public static final Block block = null;
|
||||
public BlockOrangeBlueStage1(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 197);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("orangebluestage1"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:orangebluestage1", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("orangebluestage1");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.TRANSLUCENT;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemOrangeBlueSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemOrangeBlueSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForOrangeBlue.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOrangeBlueStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOrangeBlueStage0BlockDestroyByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+171
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOrangeBlueStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOrangeBlueStage0BlockDestroyByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForOrangeBlue;
|
||||
import net.paladrill.paladrillmod.item.ItemOrangeBlueSeeds;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockOrangeBlueStage2 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:orangebluestage2")
|
||||
public static final Block block = null;
|
||||
public BlockOrangeBlueStage2(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 198);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("orangebluestage2"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:orangebluestage2", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("orangebluestage2");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.TRANSLUCENT;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemOrangeBlueSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemOrangeBlueSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForOrangeBlue.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOrangeBlueStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOrangeBlueStage0BlockDestroyByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+170
@@ -0,0 +1,170 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOrangeBlueStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOrangeBlueStage0BlockDestroyByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForOrangeBlue;
|
||||
import net.paladrill.paladrillmod.item.ItemOrangeBlueSeeds;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockOrangeBlueStage3 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:orangebluestage3")
|
||||
public static final Block block = null;
|
||||
public BlockOrangeBlueStage3(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 199);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("orangebluestage3"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:orangebluestage3", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("orangebluestage3");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(null);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.TRANSLUCENT;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemOrangeBlueSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemOrangeBlueSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForOrangeBlue.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOrangeBlueStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOrangeBlueStage0BlockDestroyByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+171
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOrangeBlueStage4BlockDestroyedByPlayer2;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOrangeBlueStage0BlockDestroyByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForOrangeBlue;
|
||||
import net.paladrill.paladrillmod.item.ItemOrangeBlueFruit;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockOrangeBlueStage4 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:orangebluestage4")
|
||||
public static final Block block = null;
|
||||
public BlockOrangeBlueStage4(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 200);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("orangebluestage4"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:orangebluestage4", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("orangebluestage4");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.TRANSLUCENT;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemOrangeBlueFruit.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemOrangeBlueFruit.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForOrangeBlue.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer entity, boolean willHarvest) {
|
||||
boolean retval = super.removedByPlayer(state, world, pos, entity, willHarvest);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOrangeBlueStage4BlockDestroyedByPlayer2.executeProcedure($_dependencies);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOrangeBlueStage0BlockDestroyByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+251
@@ -0,0 +1,251 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedurePaladiumCrusherUpdateTick;
|
||||
import net.paladrill.paladrillmod.gui.GuiPaladiumCrusherGUI;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.PaladrillmodMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumBlockRenderType;
|
||||
import net.minecraft.tileentity.TileEntityLockableLoot;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.network.play.server.SPacketUpdateTileEntity;
|
||||
import net.minecraft.network.NetworkManager;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.inventory.ItemStackHelper;
|
||||
import net.minecraft.inventory.InventoryHelper;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.ITileEntityProvider;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockPaladiumCrusher extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:paladiumcrusher")
|
||||
public static final Block block = null;
|
||||
public BlockPaladiumCrusher(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 68);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("paladiumcrusher"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(FMLInitializationEvent event) {
|
||||
GameRegistry.registerTileEntity(TileEntityCustom.class, "paladrillmod:tileentitypaladiumcrusher");
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:paladiumcrusher", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block implements ITileEntityProvider {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("paladiumcrusher");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHardness(1F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(255);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World worldIn, int meta) {
|
||||
return new TileEntityCustom();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean eventReceived(IBlockState state, World worldIn, BlockPos pos, int eventID, int eventParam) {
|
||||
super.eventReceived(state, worldIn, pos, eventID, eventParam);
|
||||
TileEntity tileentity = worldIn.getTileEntity(pos);
|
||||
return tileentity == null ? false : tileentity.receiveClientEvent(eventID, eventParam);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumBlockRenderType getRenderType(IBlockState state) {
|
||||
return EnumBlockRenderType.MODEL;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void breakBlock(World world, BlockPos pos, IBlockState state) {
|
||||
TileEntity tileentity = world.getTileEntity(pos);
|
||||
if (tileentity instanceof TileEntityCustom)
|
||||
InventoryHelper.dropInventoryItems(world, pos, (TileEntityCustom) tileentity);
|
||||
world.removeTileEntity(pos);
|
||||
super.breakBlock(world, pos, state);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasComparatorInputOverride(IBlockState state) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getComparatorInputOverride(IBlockState blockState, World worldIn, BlockPos pos) {
|
||||
TileEntity tileentity = worldIn.getTileEntity(pos);
|
||||
if (tileentity instanceof TileEntityCustom)
|
||||
return Container.calcRedstoneFromInventory((TileEntityCustom) tileentity);
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockAdded(World world, BlockPos pos, IBlockState state) {
|
||||
super.onBlockAdded(world, pos, state);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
world.scheduleUpdate(new BlockPos(x, y, z), this, this.tickRate(world));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedurePaladiumCrusherUpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
world.scheduleUpdate(new BlockPos(x, y, z), this, this.tickRate(world));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer entity, EnumHand hand, EnumFacing direction,
|
||||
float hitX, float hitY, float hitZ) {
|
||||
super.onBlockActivated(world, pos, state, entity, hand, direction, hitX, hitY, hitZ);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (entity instanceof EntityPlayer) {
|
||||
((EntityPlayer) entity).openGui(PaladrillmodMod.instance, GuiPaladiumCrusherGUI.GUIID, world, x, y, z);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public static class TileEntityCustom extends TileEntityLockableLoot {
|
||||
private NonNullList<ItemStack> stacks = NonNullList.<ItemStack>withSize(3, ItemStack.EMPTY);
|
||||
@Override
|
||||
public int getSizeInventory() {
|
||||
return 3;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEmpty() {
|
||||
for (ItemStack itemstack : this.stacks)
|
||||
if (!itemstack.isEmpty())
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int index, ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlot(int slot) {
|
||||
return stacks.get(slot);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "container.paladiumcrusher";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound compound) {
|
||||
super.readFromNBT(compound);
|
||||
this.stacks = NonNullList.<ItemStack>withSize(this.getSizeInventory(), ItemStack.EMPTY);
|
||||
if (!this.checkLootAndRead(compound))
|
||||
ItemStackHelper.loadAllItems(compound, this.stacks);
|
||||
}
|
||||
|
||||
@Override
|
||||
public NBTTagCompound writeToNBT(NBTTagCompound compound) {
|
||||
super.writeToNBT(compound);
|
||||
if (!this.checkLootAndWrite(compound))
|
||||
ItemStackHelper.saveAllItems(compound, this.stacks);
|
||||
return compound;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SPacketUpdateTileEntity getUpdatePacket() {
|
||||
return new SPacketUpdateTileEntity(this.pos, 0, this.getUpdateTag());
|
||||
}
|
||||
|
||||
@Override
|
||||
public NBTTagCompound getUpdateTag() {
|
||||
return this.writeToNBT(new NBTTagCompound());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) {
|
||||
this.readFromNBT(pkt.getNbtCompound());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleUpdateTag(NBTTagCompound tag) {
|
||||
this.readFromNBT(tag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getInventoryStackLimit() {
|
||||
return 64;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGuiID() {
|
||||
return "paladrillmod:paladiumcrusher";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Container createContainer(InventoryPlayer playerInventory, EntityPlayer playerIn) {
|
||||
return new GuiPaladiumCrusherGUI.GuiContainerMod(this.getWorld(), this.getPos().getX(), this.getPos().getY(), this.getPos().getZ(),
|
||||
playerIn);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected NonNullList<ItemStack> getItems() {
|
||||
return this.stacks;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.gen.feature.WorldGenMinable;
|
||||
import net.minecraft.world.gen.IChunkGenerator;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockPaladiumOre extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:paladiumore")
|
||||
public static final Block block = null;
|
||||
public BlockPaladiumOre(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 11);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("paladiumore"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:paladiumore", "inventory"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generateWorld(Random random, int chunkX, int chunkZ, World world, int dimID, IChunkGenerator cg, IChunkProvider cp) {
|
||||
boolean dimensionCriteria = false;
|
||||
if (dimID == 0)
|
||||
dimensionCriteria = true;
|
||||
if (!dimensionCriteria)
|
||||
return;
|
||||
for (int i = 0; i < 3; i++) {
|
||||
int x = chunkX + random.nextInt(16);
|
||||
int y = random.nextInt(17) + 1;
|
||||
int z = chunkZ + random.nextInt(16);
|
||||
(new WorldGenMinable(block.getDefaultState(), 4, new com.google.common.base.Predicate<IBlockState>() {
|
||||
public boolean apply(IBlockState blockAt) {
|
||||
boolean blockCriteria = false;
|
||||
IBlockState require;
|
||||
require = Blocks.STONE.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.getBlock())
|
||||
blockCriteria = true;
|
||||
}
|
||||
if (blockAt.getBlock() == Blocks.GRAVEL.getDefaultState().getBlock())
|
||||
blockCriteria = true;
|
||||
require = Blocks.DIRT.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.getBlock())
|
||||
blockCriteria = true;
|
||||
}
|
||||
return blockCriteria;
|
||||
}
|
||||
})).generate(world, random, new BlockPos(x, y, z));
|
||||
}
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.ROCK);
|
||||
setUnlocalizedName("paladiumore");
|
||||
setSoundType(SoundType.STONE);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(8F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(BlockPaladiumOre.block, (int) (1)));
|
||||
}
|
||||
}
|
||||
}
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockPaladiumOreBlock extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:paladiumoreblock")
|
||||
public static final Block block = null;
|
||||
public BlockPaladiumOreBlock(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 13);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("paladiumoreblock"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:paladiumoreblock", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("paladiumoreblock");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
+116
@@ -0,0 +1,116 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.gen.feature.WorldGenMinable;
|
||||
import net.minecraft.world.gen.IChunkGenerator;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockPaladium_GreenOre extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:paladium_greenore")
|
||||
public static final Block block = null;
|
||||
public BlockPaladium_GreenOre(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 20);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("paladium_greenore"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:paladium_greenore", "inventory"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generateWorld(Random random, int chunkX, int chunkZ, World world, int dimID, IChunkGenerator cg, IChunkProvider cp) {
|
||||
boolean dimensionCriteria = false;
|
||||
if (dimID == 0)
|
||||
dimensionCriteria = true;
|
||||
if (!dimensionCriteria)
|
||||
return;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
int x = chunkX + random.nextInt(16);
|
||||
int y = random.nextInt(17) + 1;
|
||||
int z = chunkZ + random.nextInt(16);
|
||||
(new WorldGenMinable(block.getDefaultState(), 4, new com.google.common.base.Predicate<IBlockState>() {
|
||||
public boolean apply(IBlockState blockAt) {
|
||||
boolean blockCriteria = false;
|
||||
IBlockState require;
|
||||
require = Blocks.DIRT.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.getBlock())
|
||||
blockCriteria = true;
|
||||
}
|
||||
if (blockAt.getBlock() == Blocks.GRAVEL.getDefaultState().getBlock())
|
||||
blockCriteria = true;
|
||||
require = Blocks.STONE.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.getBlock())
|
||||
blockCriteria = true;
|
||||
}
|
||||
return blockCriteria;
|
||||
}
|
||||
})).generate(world, random, new BlockPos(x, y, z));
|
||||
}
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.ROCK);
|
||||
setUnlocalizedName("paladium_greenore");
|
||||
setSoundType(SoundType.STONE);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5.5F);
|
||||
setResistance(9F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(BlockPaladium_GreenOre.block, (int) (1)));
|
||||
}
|
||||
}
|
||||
}
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockPaladium_GreenOreBlock extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:paladium_greenoreblock")
|
||||
public static final Block block = null;
|
||||
public BlockPaladium_GreenOreBlock(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 22);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("paladium_greenoreblock"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:paladium_greenoreblock", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("paladium_greenoreblock");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,181 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureSlimePadEntityCollidesInTheBlock;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.IStringSerializable;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemSlab;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.client.renderer.block.model.Variant;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.properties.PropertyEnum;
|
||||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.BlockSlab;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockSlimePad extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:slimepad")
|
||||
public static final Block block = null;
|
||||
@GameRegistry.ObjectHolder("paladrillmod:slimepad_double")
|
||||
public static final Block block_slab_double = null;
|
||||
public BlockSlimePad(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 65);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("slimepad"));
|
||||
elements.blocks.add(() -> new BlockCustom.Double().setRegistryName("slimepad_double"));
|
||||
elements.items.add(() -> new ItemSlab(block, (BlockSlab) block, (BlockSlab) block_slab_double).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0, new ModelResourceLocation("paladrillmod:slimepad", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends BlockSlab {
|
||||
public BlockCustom() {
|
||||
super(Material.SPONGE);
|
||||
setUnlocalizedName("slimepad");
|
||||
setSoundType(SoundType.SLIME);
|
||||
setHarvestLevel("pickaxe", 1);
|
||||
setHardness(1F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
IBlockState state = this.blockState.getBaseState().withProperty(VARIANT, BlockCustom.Variant.DEFAULT);
|
||||
if (!this.isDouble())
|
||||
state = state.withProperty(BlockSlab.HALF, EnumBlockHalf.BOTTOM);
|
||||
this.setDefaultState(state);
|
||||
this.useNeighborBrightness = !this.isDouble();
|
||||
setTickRandomly(true);
|
||||
}
|
||||
public static final PropertyEnum<BlockCustom.Variant> VARIANT = PropertyEnum.<BlockCustom.Variant>create("variant",
|
||||
BlockCustom.Variant.class);
|
||||
@Override
|
||||
public Item getItemDropped(IBlockState state, Random rand, int fortune) {
|
||||
return Item.getItemFromBlock(block);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getItem(World worldIn, BlockPos pos, IBlockState state) {
|
||||
return new ItemStack(block);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected net.minecraft.block.state.BlockStateContainer createBlockState() {
|
||||
return this.isDouble()
|
||||
? new net.minecraft.block.state.BlockStateContainer(this, new IProperty[]{VARIANT})
|
||||
: new net.minecraft.block.state.BlockStateContainer(this, new IProperty[]{HALF, VARIANT});
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getStateFromMeta(int meta) {
|
||||
if (this.isDouble()) {
|
||||
return this.getDefaultState();
|
||||
} else {
|
||||
return this.getDefaultState().withProperty(HALF, BlockSlab.EnumBlockHalf.values()[meta % 2]);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetaFromState(IBlockState state) {
|
||||
if (this.isDouble()) {
|
||||
return 0;
|
||||
} else {
|
||||
return state.getValue(HALF).ordinal();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(int meta) {
|
||||
return super.getUnlocalizedName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IProperty<?> getVariantProperty() {
|
||||
return VARIANT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Comparable<?> getTypeForItem(ItemStack stack) {
|
||||
return BlockCustom.Variant.DEFAULT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDouble() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean doesSideBlockRendering(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing face) {
|
||||
if (isDouble())
|
||||
return true;
|
||||
return super.doesSideBlockRendering(state, world, pos, face);
|
||||
}
|
||||
public enum Variant implements IStringSerializable {
|
||||
DEFAULT;
|
||||
public String getName() {
|
||||
return "default";
|
||||
}
|
||||
}
|
||||
|
||||
public static class Double extends BlockCustom {
|
||||
@Override
|
||||
public boolean isDouble() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) {
|
||||
super.onEntityCollidedWithBlock(world, pos, state, entity);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
ProcedureSlimePadEntityCollidesInTheBlock.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.gen.feature.WorldGenMinable;
|
||||
import net.minecraft.world.gen.IChunkGenerator;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockTitaneOre extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:titaneore")
|
||||
public static final Block block = null;
|
||||
public BlockTitaneOre(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 28);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("titaneore"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0, new ModelResourceLocation("paladrillmod:titaneore", "inventory"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generateWorld(Random random, int chunkX, int chunkZ, World world, int dimID, IChunkGenerator cg, IChunkProvider cp) {
|
||||
boolean dimensionCriteria = false;
|
||||
if (dimID == 1)
|
||||
dimensionCriteria = true;
|
||||
if (dimID == 0)
|
||||
dimensionCriteria = true;
|
||||
if (!dimensionCriteria)
|
||||
return;
|
||||
for (int i = 0; i < 6; i++) {
|
||||
int x = chunkX + random.nextInt(16);
|
||||
int y = random.nextInt(18) + 1;
|
||||
int z = chunkZ + random.nextInt(16);
|
||||
(new WorldGenMinable(block.getDefaultState(), 4, new com.google.common.base.Predicate<IBlockState>() {
|
||||
public boolean apply(IBlockState blockAt) {
|
||||
boolean blockCriteria = false;
|
||||
IBlockState require;
|
||||
if (blockAt.getBlock() == Blocks.GRAVEL.getDefaultState().getBlock())
|
||||
blockCriteria = true;
|
||||
require = Blocks.DIRT.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.getBlock())
|
||||
blockCriteria = true;
|
||||
}
|
||||
require = Blocks.STONE.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.getBlock())
|
||||
blockCriteria = true;
|
||||
}
|
||||
require = Blocks.MONSTER_EGG.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.getBlock())
|
||||
blockCriteria = true;
|
||||
}
|
||||
return blockCriteria;
|
||||
}
|
||||
})).generate(world, random, new BlockPos(x, y, z));
|
||||
}
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.ROCK);
|
||||
setUnlocalizedName("titaneore");
|
||||
setSoundType(SoundType.STONE);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(4F);
|
||||
setResistance(6F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(BlockTitaneOre.block, (int) (1)));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockTitaneOreBlock extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:titaneoreblock")
|
||||
public static final Block block = null;
|
||||
public BlockTitaneOreBlock(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 30);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("titaneoreblock"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:titaneoreblock", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("titaneoreblock");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.gen.feature.WorldGenMinable;
|
||||
import net.minecraft.world.gen.IChunkGenerator;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockTrixiumOre extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:trixiumore")
|
||||
public static final Block block = null;
|
||||
public BlockTrixiumOre(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 43);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("trixiumore"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:trixiumore", "inventory"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generateWorld(Random random, int chunkX, int chunkZ, World world, int dimID, IChunkGenerator cg, IChunkProvider cp) {
|
||||
boolean dimensionCriteria = false;
|
||||
if (dimID == 0)
|
||||
dimensionCriteria = true;
|
||||
if (!dimensionCriteria)
|
||||
return;
|
||||
for (int i = 0; i < 3; i++) {
|
||||
int x = chunkX + random.nextInt(16);
|
||||
int y = random.nextInt(24) + 1;
|
||||
int z = chunkZ + random.nextInt(16);
|
||||
(new WorldGenMinable(block.getDefaultState(), 8, new com.google.common.base.Predicate<IBlockState>() {
|
||||
public boolean apply(IBlockState blockAt) {
|
||||
boolean blockCriteria = false;
|
||||
IBlockState require;
|
||||
require = Blocks.DIRT.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.getBlock())
|
||||
blockCriteria = true;
|
||||
}
|
||||
require = Blocks.STONE.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.getBlock())
|
||||
blockCriteria = true;
|
||||
}
|
||||
return blockCriteria;
|
||||
}
|
||||
})).generate(world, random, new BlockPos(x, y, z));
|
||||
}
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.ROCK);
|
||||
setUnlocalizedName("trixiumore");
|
||||
setSoundType(SoundType.STONE);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(2F);
|
||||
setResistance(11.067792686322136F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(BlockTrixiumOre.block, (int) (1)));
|
||||
}
|
||||
}
|
||||
}
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockTrixiumOreBlock extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:trixiumoreblock")
|
||||
public static final Block block = null;
|
||||
public BlockTrixiumOreBlock(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 45);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("trixiumoreblock"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:trixiumoreblock", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("trixiumoreblock");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureXpBushPlantRightClicked;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.common.EnumPlantType;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.BlockFlower;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockXpBush extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:xpbush")
|
||||
public static final Block block = null;
|
||||
public BlockXpBush(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 49);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustomFlower());
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0, new ModelResourceLocation("paladrillmod:xpbush", "inventory"));
|
||||
}
|
||||
public static class BlockCustomFlower extends BlockFlower {
|
||||
public BlockCustomFlower() {
|
||||
setSoundType(SoundType.PLANT);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setUnlocalizedName("xpbush");
|
||||
setRegistryName("xpbush");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isReplaceable(IBlockAccess blockAccess, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(Item.getItemFromBlock(this), 1, this.damageDropped(state));
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPlantType getPlantType(IBlockAccess world, BlockPos pos) {
|
||||
return EnumPlantType.Plains;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockFlower.EnumFlowerColor getBlockType() {
|
||||
return BlockFlower.EnumFlowerColor.YELLOW;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void getSubBlocks(CreativeTabs tab, net.minecraft.util.NonNullList<ItemStack> list) {
|
||||
for (BlockFlower.EnumFlowerType blockflower$enumflowertype : BlockFlower.EnumFlowerType.getTypes(this.getBlockType())) {
|
||||
list.add(new ItemStack(this, 1, blockflower$enumflowertype.getMeta()));
|
||||
}
|
||||
}
|
||||
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer entity, EnumHand hand, EnumFacing direction,
|
||||
float hitX, float hitY, float hitZ) {
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
ProcedureXpBushPlantRightClicked.executeProcedure($_dependencies);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
|
||||
package net.paladrill.paladrillmod.command;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureEndCommandExecuted;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.command.ICommandSender;
|
||||
import net.minecraft.command.ICommand;
|
||||
import net.minecraft.command.CommandHandler;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.List;
|
||||
import java.util.HashMap;
|
||||
import java.util.Arrays;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class CommandEnd extends ElementsPaladrillmodMod.ModElement {
|
||||
public CommandEnd(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 244);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void serverLoad(FMLServerStartingEvent event) {
|
||||
event.registerServerCommand(new CommandHandler());
|
||||
}
|
||||
public static class CommandHandler implements ICommand {
|
||||
@Override
|
||||
public int compareTo(ICommand c) {
|
||||
return getName().compareTo(c.getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPermission(MinecraftServer server, ICommandSender var1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List getAliases() {
|
||||
return new ArrayList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List getTabCompletions(MinecraftServer server, ICommandSender sender, String[] args, BlockPos pos) {
|
||||
return new ArrayList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUsernameIndex(String[] string, int index) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "end";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUsage(ICommandSender var1) {
|
||||
return "/end [<arguments>]";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(MinecraftServer server, ICommandSender sender, String[] cmd) {
|
||||
int x = sender.getPosition().getX();
|
||||
int y = sender.getPosition().getY();
|
||||
int z = sender.getPosition().getZ();
|
||||
Entity entity = sender.getCommandSenderEntity();
|
||||
if (entity != null) {
|
||||
World world = entity.world;
|
||||
HashMap<String, String> cmdparams = new HashMap<>();
|
||||
int[] index = {0};
|
||||
Arrays.stream(cmd).forEach(param -> {
|
||||
cmdparams.put(Integer.toString(index[0]), param);
|
||||
index[0]++;
|
||||
});
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureEndCommandExecuted.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
|
||||
package net.paladrill.paladrillmod.command;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureNetherCommandExecuted;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.command.ICommandSender;
|
||||
import net.minecraft.command.ICommand;
|
||||
import net.minecraft.command.CommandHandler;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.List;
|
||||
import java.util.HashMap;
|
||||
import java.util.Arrays;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class CommandNether extends ElementsPaladrillmodMod.ModElement {
|
||||
public CommandNether(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 242);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void serverLoad(FMLServerStartingEvent event) {
|
||||
event.registerServerCommand(new CommandHandler());
|
||||
}
|
||||
public static class CommandHandler implements ICommand {
|
||||
@Override
|
||||
public int compareTo(ICommand c) {
|
||||
return getName().compareTo(c.getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPermission(MinecraftServer server, ICommandSender var1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List getAliases() {
|
||||
return new ArrayList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List getTabCompletions(MinecraftServer server, ICommandSender sender, String[] args, BlockPos pos) {
|
||||
return new ArrayList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUsernameIndex(String[] string, int index) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "nether";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUsage(ICommandSender var1) {
|
||||
return "/nether [<arguments>]";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(MinecraftServer server, ICommandSender sender, String[] cmd) {
|
||||
int x = sender.getPosition().getX();
|
||||
int y = sender.getPosition().getY();
|
||||
int z = sender.getPosition().getZ();
|
||||
Entity entity = sender.getCommandSenderEntity();
|
||||
if (entity != null) {
|
||||
World world = entity.world;
|
||||
HashMap<String, String> cmdparams = new HashMap<>();
|
||||
int[] index = {0};
|
||||
Arrays.stream(cmd).forEach(param -> {
|
||||
cmdparams.put(Integer.toString(index[0]), param);
|
||||
index[0]++;
|
||||
});
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureNetherCommandExecuted.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
|
||||
package net.paladrill.paladrillmod.command;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOverworldCommandExecuted;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.command.ICommandSender;
|
||||
import net.minecraft.command.ICommand;
|
||||
import net.minecraft.command.CommandHandler;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.List;
|
||||
import java.util.HashMap;
|
||||
import java.util.Arrays;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class CommandOverworld extends ElementsPaladrillmodMod.ModElement {
|
||||
public CommandOverworld(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 246);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void serverLoad(FMLServerStartingEvent event) {
|
||||
event.registerServerCommand(new CommandHandler());
|
||||
}
|
||||
public static class CommandHandler implements ICommand {
|
||||
@Override
|
||||
public int compareTo(ICommand c) {
|
||||
return getName().compareTo(c.getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPermission(MinecraftServer server, ICommandSender var1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List getAliases() {
|
||||
return new ArrayList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List getTabCompletions(MinecraftServer server, ICommandSender sender, String[] args, BlockPos pos) {
|
||||
return new ArrayList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUsernameIndex(String[] string, int index) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "overworld";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUsage(ICommandSender var1) {
|
||||
return "/overworld [<arguments>]";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(MinecraftServer server, ICommandSender sender, String[] cmd) {
|
||||
int x = sender.getPosition().getX();
|
||||
int y = sender.getPosition().getY();
|
||||
int z = sender.getPosition().getZ();
|
||||
Entity entity = sender.getCommandSenderEntity();
|
||||
if (entity != null) {
|
||||
World world = entity.world;
|
||||
HashMap<String, String> cmdparams = new HashMap<>();
|
||||
int[] index = {0};
|
||||
Arrays.stream(cmd).forEach(param -> {
|
||||
cmdparams.put(Integer.toString(index[0]), param);
|
||||
index[0]++;
|
||||
});
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOverworldCommandExecuted.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
|
||||
package net.paladrill.paladrillmod.creativetab;
|
||||
|
||||
import net.paladrill.paladrillmod.block.BlockPaladiumOreBlock;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class TabPalaDrillMod extends ElementsPaladrillmodMod.ModElement {
|
||||
public TabPalaDrillMod(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 144);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
tab = new CreativeTabs("tabpaladrillmod") {
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public ItemStack getTabIconItem() {
|
||||
return new ItemStack(BlockPaladiumOreBlock.block, (int) (1));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public boolean hasSearchBar() {
|
||||
return true;
|
||||
}
|
||||
}.setBackgroundImageName("item_search.png");
|
||||
}
|
||||
public static CreativeTabs tab;
|
||||
}
|
||||
+431
@@ -0,0 +1,431 @@
|
||||
|
||||
package net.paladrill.paladrillmod.gui;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedurePaladiumCrusherGenerateButton;
|
||||
import net.paladrill.paladrillmod.PaladrillmodMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.inventory.InventoryBasic;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class GuiPaladiumCrusherGUI extends ElementsPaladrillmodMod.ModElement {
|
||||
public static int GUIID = 2;
|
||||
public static HashMap guistate = new HashMap();
|
||||
public GuiPaladiumCrusherGUI(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 202);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void preInit(FMLPreInitializationEvent event) {
|
||||
elements.addNetworkMessage(GUIButtonPressedMessageHandler.class, GUIButtonPressedMessage.class, Side.SERVER);
|
||||
elements.addNetworkMessage(GUISlotChangedMessageHandler.class, GUISlotChangedMessage.class, Side.SERVER);
|
||||
}
|
||||
public static class GuiContainerMod extends Container implements Supplier<Map<Integer, Slot>> {
|
||||
private IInventory internal;
|
||||
private World world;
|
||||
private EntityPlayer entity;
|
||||
private int x, y, z;
|
||||
private Map<Integer, Slot> customSlots = new HashMap<>();
|
||||
public GuiContainerMod(World world, int x, int y, int z, EntityPlayer player) {
|
||||
this.world = world;
|
||||
this.entity = player;
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
this.internal = new InventoryBasic("", true, 3);
|
||||
TileEntity ent = world.getTileEntity(new BlockPos(x, y, z));
|
||||
if (ent instanceof IInventory)
|
||||
this.internal = (IInventory) ent;
|
||||
this.customSlots.put(0, this.addSlotToContainer(new Slot(internal, 0, 34, 30) {
|
||||
}));
|
||||
this.customSlots.put(1, this.addSlotToContainer(new Slot(internal, 1, 34, 57) {
|
||||
}));
|
||||
this.customSlots.put(2, this.addSlotToContainer(new Slot(internal, 2, 124, 39) {
|
||||
@Override
|
||||
public boolean isItemValid(ItemStack stack) {
|
||||
return false;
|
||||
}
|
||||
}));
|
||||
int si;
|
||||
int sj;
|
||||
for (si = 0; si < 3; ++si)
|
||||
for (sj = 0; sj < 9; ++sj)
|
||||
this.addSlotToContainer(new Slot(player.inventory, sj + (si + 1) * 9, 0 + 8 + sj * 18, 0 + 84 + si * 18));
|
||||
for (si = 0; si < 9; ++si)
|
||||
this.addSlotToContainer(new Slot(player.inventory, si, 0 + 8 + si * 18, 0 + 142));
|
||||
}
|
||||
|
||||
public Map<Integer, Slot> get() {
|
||||
return customSlots;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer player) {
|
||||
return internal.isUsableByPlayer(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer playerIn, int index) {
|
||||
ItemStack itemstack = ItemStack.EMPTY;
|
||||
Slot slot = (Slot) this.inventorySlots.get(index);
|
||||
if (slot != null && slot.getHasStack()) {
|
||||
ItemStack itemstack1 = slot.getStack();
|
||||
itemstack = itemstack1.copy();
|
||||
if (index < 3) {
|
||||
if (!this.mergeItemStack(itemstack1, 3, this.inventorySlots.size(), true)) {
|
||||
return ItemStack.EMPTY;
|
||||
}
|
||||
slot.onSlotChange(itemstack1, itemstack);
|
||||
} else if (!this.mergeItemStack(itemstack1, 0, 3, false)) {
|
||||
if (index < 3 + 27) {
|
||||
if (!this.mergeItemStack(itemstack1, 3 + 27, this.inventorySlots.size(), true)) {
|
||||
return ItemStack.EMPTY;
|
||||
}
|
||||
} else {
|
||||
if (!this.mergeItemStack(itemstack1, 3, 3 + 27, false)) {
|
||||
return ItemStack.EMPTY;
|
||||
}
|
||||
}
|
||||
return ItemStack.EMPTY;
|
||||
}
|
||||
if (itemstack1.getCount() == 0) {
|
||||
slot.putStack(ItemStack.EMPTY);
|
||||
} else {
|
||||
slot.onSlotChanged();
|
||||
}
|
||||
if (itemstack1.getCount() == itemstack.getCount()) {
|
||||
return ItemStack.EMPTY;
|
||||
}
|
||||
slot.onTake(playerIn, itemstack1);
|
||||
}
|
||||
return itemstack;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean mergeItemStack(ItemStack stack, int startIndex, int endIndex, boolean reverseDirection) {
|
||||
boolean flag = false;
|
||||
int i = startIndex;
|
||||
if (reverseDirection) {
|
||||
i = endIndex - 1;
|
||||
}
|
||||
if (stack.isStackable()) {
|
||||
while (!stack.isEmpty()) {
|
||||
if (reverseDirection) {
|
||||
if (i < startIndex) {
|
||||
break;
|
||||
}
|
||||
} else if (i >= endIndex) {
|
||||
break;
|
||||
}
|
||||
Slot slot = this.inventorySlots.get(i);
|
||||
ItemStack itemstack = slot.getStack();
|
||||
if (slot.isItemValid(itemstack) && !itemstack.isEmpty() && itemstack.getItem() == stack.getItem()
|
||||
&& (!stack.getHasSubtypes() || stack.getMetadata() == itemstack.getMetadata())
|
||||
&& ItemStack.areItemStackTagsEqual(stack, itemstack)) {
|
||||
int j = itemstack.getCount() + stack.getCount();
|
||||
int maxSize = Math.min(slot.getSlotStackLimit(), stack.getMaxStackSize());
|
||||
if (j <= maxSize) {
|
||||
stack.setCount(0);
|
||||
itemstack.setCount(j);
|
||||
slot.putStack(itemstack);
|
||||
flag = true;
|
||||
} else if (itemstack.getCount() < maxSize) {
|
||||
stack.shrink(maxSize - itemstack.getCount());
|
||||
itemstack.setCount(maxSize);
|
||||
slot.putStack(itemstack);
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
if (reverseDirection) {
|
||||
--i;
|
||||
} else {
|
||||
++i;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!stack.isEmpty()) {
|
||||
if (reverseDirection) {
|
||||
i = endIndex - 1;
|
||||
} else {
|
||||
i = startIndex;
|
||||
}
|
||||
while (true) {
|
||||
if (reverseDirection) {
|
||||
if (i < startIndex) {
|
||||
break;
|
||||
}
|
||||
} else if (i >= endIndex) {
|
||||
break;
|
||||
}
|
||||
Slot slot1 = this.inventorySlots.get(i);
|
||||
ItemStack itemstack1 = slot1.getStack();
|
||||
if (itemstack1.isEmpty() && slot1.isItemValid(stack)) {
|
||||
if (stack.getCount() > slot1.getSlotStackLimit()) {
|
||||
slot1.putStack(stack.splitStack(slot1.getSlotStackLimit()));
|
||||
} else {
|
||||
slot1.putStack(stack.splitStack(stack.getCount()));
|
||||
}
|
||||
slot1.onSlotChanged();
|
||||
flag = true;
|
||||
break;
|
||||
}
|
||||
if (reverseDirection) {
|
||||
--i;
|
||||
} else {
|
||||
++i;
|
||||
}
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onContainerClosed(EntityPlayer playerIn) {
|
||||
super.onContainerClosed(playerIn);
|
||||
if ((internal instanceof InventoryBasic) && (playerIn instanceof EntityPlayerMP)) {
|
||||
this.clearContainer(playerIn, playerIn.world, internal);
|
||||
}
|
||||
}
|
||||
|
||||
private void slotChanged(int slotid, int ctype, int meta) {
|
||||
if (this.world != null && this.world.isRemote) {
|
||||
PaladrillmodMod.PACKET_HANDLER.sendToServer(new GUISlotChangedMessage(slotid, x, y, z, ctype, meta));
|
||||
handleSlotAction(entity, slotid, ctype, meta, x, y, z);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static class GuiWindow extends GuiContainer {
|
||||
private World world;
|
||||
private int x, y, z;
|
||||
private EntityPlayer entity;
|
||||
public GuiWindow(World world, int x, int y, int z, EntityPlayer entity) {
|
||||
super(new GuiContainerMod(world, x, y, z, entity));
|
||||
this.world = world;
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
this.entity = entity;
|
||||
this.xSize = 176;
|
||||
this.ySize = 166;
|
||||
}
|
||||
private static final ResourceLocation texture = new ResourceLocation("paladrillmod:textures/paladiumcrushergui.png");
|
||||
@Override
|
||||
public void drawScreen(int mouseX, int mouseY, float partialTicks) {
|
||||
this.drawDefaultBackground();
|
||||
super.drawScreen(mouseX, mouseY, partialTicks);
|
||||
this.renderHoveredToolTip(mouseX, mouseY);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) {
|
||||
GL11.glColor4f(1, 1, 1, 1);
|
||||
this.mc.renderEngine.bindTexture(texture);
|
||||
int k = (this.width - this.xSize) / 2;
|
||||
int l = (this.height - this.ySize) / 2;
|
||||
this.drawModalRectWithCustomSizedTexture(k, l, 0, 0, this.xSize, this.ySize, this.xSize, this.ySize);
|
||||
zLevel = 100.0F;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateScreen() {
|
||||
super.updateScreen();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException {
|
||||
super.mouseClicked(mouseX, mouseY, mouseButton);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void keyTyped(char typedChar, int keyCode) throws IOException {
|
||||
super.keyTyped(typedChar, keyCode);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer(int par1, int par2) {
|
||||
this.fontRenderer.drawString("Paladium Crusher", 6, 2, -10066330);
|
||||
this.fontRenderer.drawString("" + (new Object() {
|
||||
public double getValue(BlockPos pos, String tag) {
|
||||
TileEntity tileEntity = world.getTileEntity(pos);
|
||||
if (tileEntity != null)
|
||||
return tileEntity.getTileData().getDouble(tag);
|
||||
return 0;
|
||||
}
|
||||
}.getValue(new BlockPos((int) x, (int) y, (int) z), "luck")) + "", 87, 29, -65485);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onGuiClosed() {
|
||||
super.onGuiClosed();
|
||||
Keyboard.enableRepeatEvents(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initGui() {
|
||||
super.initGui();
|
||||
this.guiLeft = (this.width - 176) / 2;
|
||||
this.guiTop = (this.height - 166) / 2;
|
||||
Keyboard.enableRepeatEvents(true);
|
||||
this.buttonList.clear();
|
||||
this.buttonList.add(new GuiButton(0, this.guiLeft + 87, this.guiTop + 56, 80, 20, "Generate"));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void actionPerformed(GuiButton button) {
|
||||
PaladrillmodMod.PACKET_HANDLER.sendToServer(new GUIButtonPressedMessage(button.id, x, y, z));
|
||||
handleButtonAction(entity, button.id, x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean doesGuiPauseGame() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static class GUIButtonPressedMessageHandler implements IMessageHandler<GUIButtonPressedMessage, IMessage> {
|
||||
@Override
|
||||
public IMessage onMessage(GUIButtonPressedMessage message, MessageContext context) {
|
||||
EntityPlayerMP entity = context.getServerHandler().player;
|
||||
entity.getServerWorld().addScheduledTask(() -> {
|
||||
int buttonID = message.buttonID;
|
||||
int x = message.x;
|
||||
int y = message.y;
|
||||
int z = message.z;
|
||||
handleButtonAction(entity, buttonID, x, y, z);
|
||||
});
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static class GUISlotChangedMessageHandler implements IMessageHandler<GUISlotChangedMessage, IMessage> {
|
||||
@Override
|
||||
public IMessage onMessage(GUISlotChangedMessage message, MessageContext context) {
|
||||
EntityPlayerMP entity = context.getServerHandler().player;
|
||||
entity.getServerWorld().addScheduledTask(() -> {
|
||||
int slotID = message.slotID;
|
||||
int changeType = message.changeType;
|
||||
int meta = message.meta;
|
||||
int x = message.x;
|
||||
int y = message.y;
|
||||
int z = message.z;
|
||||
handleSlotAction(entity, slotID, changeType, meta, x, y, z);
|
||||
});
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static class GUIButtonPressedMessage implements IMessage {
|
||||
int buttonID, x, y, z;
|
||||
public GUIButtonPressedMessage() {
|
||||
}
|
||||
|
||||
public GUIButtonPressedMessage(int buttonID, int x, int y, int z) {
|
||||
this.buttonID = buttonID;
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toBytes(io.netty.buffer.ByteBuf buf) {
|
||||
buf.writeInt(buttonID);
|
||||
buf.writeInt(x);
|
||||
buf.writeInt(y);
|
||||
buf.writeInt(z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fromBytes(io.netty.buffer.ByteBuf buf) {
|
||||
buttonID = buf.readInt();
|
||||
x = buf.readInt();
|
||||
y = buf.readInt();
|
||||
z = buf.readInt();
|
||||
}
|
||||
}
|
||||
|
||||
public static class GUISlotChangedMessage implements IMessage {
|
||||
int slotID, x, y, z, changeType, meta;
|
||||
public GUISlotChangedMessage() {
|
||||
}
|
||||
|
||||
public GUISlotChangedMessage(int slotID, int x, int y, int z, int changeType, int meta) {
|
||||
this.slotID = slotID;
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
this.changeType = changeType;
|
||||
this.meta = meta;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toBytes(io.netty.buffer.ByteBuf buf) {
|
||||
buf.writeInt(slotID);
|
||||
buf.writeInt(x);
|
||||
buf.writeInt(y);
|
||||
buf.writeInt(z);
|
||||
buf.writeInt(changeType);
|
||||
buf.writeInt(meta);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fromBytes(io.netty.buffer.ByteBuf buf) {
|
||||
slotID = buf.readInt();
|
||||
x = buf.readInt();
|
||||
y = buf.readInt();
|
||||
z = buf.readInt();
|
||||
changeType = buf.readInt();
|
||||
meta = buf.readInt();
|
||||
}
|
||||
}
|
||||
private static void handleButtonAction(EntityPlayer entity, int buttonID, int x, int y, int z) {
|
||||
World world = entity.world;
|
||||
// security measure to prevent arbitrary chunk generation
|
||||
if (!world.isBlockLoaded(new BlockPos(x, y, z)))
|
||||
return;
|
||||
if (buttonID == 0) {
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedurePaladiumCrusherGenerateButton.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void handleSlotAction(EntityPlayer entity, int slotID, int changeType, int meta, int x, int y, int z) {
|
||||
World world = entity.world;
|
||||
// security measure to prevent arbitrary chunk generation
|
||||
if (!world.isBlockLoaded(new BlockPos(x, y, z)))
|
||||
return;
|
||||
}
|
||||
}
|
||||
+412
@@ -0,0 +1,412 @@
|
||||
|
||||
package net.paladrill.paladrillmod.gui;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
|
||||
import net.paladrill.paladrillmod.PaladrillmodMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.inventory.InventoryBasic;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class GuiPaladiumFurnaceGUI extends ElementsPaladrillmodMod.ModElement {
|
||||
public static int GUIID = 1;
|
||||
public static HashMap guistate = new HashMap();
|
||||
public GuiPaladiumFurnaceGUI(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 182);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void preInit(FMLPreInitializationEvent event) {
|
||||
elements.addNetworkMessage(GUIButtonPressedMessageHandler.class, GUIButtonPressedMessage.class, Side.SERVER);
|
||||
elements.addNetworkMessage(GUISlotChangedMessageHandler.class, GUISlotChangedMessage.class, Side.SERVER);
|
||||
}
|
||||
public static class GuiContainerMod extends Container implements Supplier<Map<Integer, Slot>> {
|
||||
private IInventory internal;
|
||||
private World world;
|
||||
private EntityPlayer entity;
|
||||
private int x, y, z;
|
||||
private Map<Integer, Slot> customSlots = new HashMap<>();
|
||||
public GuiContainerMod(World world, int x, int y, int z, EntityPlayer player) {
|
||||
this.world = world;
|
||||
this.entity = player;
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
this.internal = new InventoryBasic("", true, 3);
|
||||
TileEntity ent = world.getTileEntity(new BlockPos(x, y, z));
|
||||
if (ent instanceof IInventory)
|
||||
this.internal = (IInventory) ent;
|
||||
this.customSlots.put(0, this.addSlotToContainer(new Slot(internal, 0, -40, -7) {
|
||||
}));
|
||||
this.customSlots.put(1, this.addSlotToContainer(new Slot(internal, 1, -40, 11) {
|
||||
}));
|
||||
this.customSlots.put(2, this.addSlotToContainer(new Slot(internal, 2, -4, 2) {
|
||||
@Override
|
||||
public boolean isItemValid(ItemStack stack) {
|
||||
return false;
|
||||
}
|
||||
}));
|
||||
int si;
|
||||
int sj;
|
||||
for (si = 0; si < 3; ++si)
|
||||
for (sj = 0; sj < 9; ++sj)
|
||||
this.addSlotToContainer(new Slot(player.inventory, sj + (si + 1) * 9, 0 + 8 + sj * 18, 0 + 84 + si * 18));
|
||||
for (si = 0; si < 9; ++si)
|
||||
this.addSlotToContainer(new Slot(player.inventory, si, 0 + 8 + si * 18, 0 + 142));
|
||||
}
|
||||
|
||||
public Map<Integer, Slot> get() {
|
||||
return customSlots;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer player) {
|
||||
return internal.isUsableByPlayer(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer playerIn, int index) {
|
||||
ItemStack itemstack = ItemStack.EMPTY;
|
||||
Slot slot = (Slot) this.inventorySlots.get(index);
|
||||
if (slot != null && slot.getHasStack()) {
|
||||
ItemStack itemstack1 = slot.getStack();
|
||||
itemstack = itemstack1.copy();
|
||||
if (index < 3) {
|
||||
if (!this.mergeItemStack(itemstack1, 3, this.inventorySlots.size(), true)) {
|
||||
return ItemStack.EMPTY;
|
||||
}
|
||||
slot.onSlotChange(itemstack1, itemstack);
|
||||
} else if (!this.mergeItemStack(itemstack1, 0, 3, false)) {
|
||||
if (index < 3 + 27) {
|
||||
if (!this.mergeItemStack(itemstack1, 3 + 27, this.inventorySlots.size(), true)) {
|
||||
return ItemStack.EMPTY;
|
||||
}
|
||||
} else {
|
||||
if (!this.mergeItemStack(itemstack1, 3, 3 + 27, false)) {
|
||||
return ItemStack.EMPTY;
|
||||
}
|
||||
}
|
||||
return ItemStack.EMPTY;
|
||||
}
|
||||
if (itemstack1.getCount() == 0) {
|
||||
slot.putStack(ItemStack.EMPTY);
|
||||
} else {
|
||||
slot.onSlotChanged();
|
||||
}
|
||||
if (itemstack1.getCount() == itemstack.getCount()) {
|
||||
return ItemStack.EMPTY;
|
||||
}
|
||||
slot.onTake(playerIn, itemstack1);
|
||||
}
|
||||
return itemstack;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean mergeItemStack(ItemStack stack, int startIndex, int endIndex, boolean reverseDirection) {
|
||||
boolean flag = false;
|
||||
int i = startIndex;
|
||||
if (reverseDirection) {
|
||||
i = endIndex - 1;
|
||||
}
|
||||
if (stack.isStackable()) {
|
||||
while (!stack.isEmpty()) {
|
||||
if (reverseDirection) {
|
||||
if (i < startIndex) {
|
||||
break;
|
||||
}
|
||||
} else if (i >= endIndex) {
|
||||
break;
|
||||
}
|
||||
Slot slot = this.inventorySlots.get(i);
|
||||
ItemStack itemstack = slot.getStack();
|
||||
if (slot.isItemValid(itemstack) && !itemstack.isEmpty() && itemstack.getItem() == stack.getItem()
|
||||
&& (!stack.getHasSubtypes() || stack.getMetadata() == itemstack.getMetadata())
|
||||
&& ItemStack.areItemStackTagsEqual(stack, itemstack)) {
|
||||
int j = itemstack.getCount() + stack.getCount();
|
||||
int maxSize = Math.min(slot.getSlotStackLimit(), stack.getMaxStackSize());
|
||||
if (j <= maxSize) {
|
||||
stack.setCount(0);
|
||||
itemstack.setCount(j);
|
||||
slot.putStack(itemstack);
|
||||
flag = true;
|
||||
} else if (itemstack.getCount() < maxSize) {
|
||||
stack.shrink(maxSize - itemstack.getCount());
|
||||
itemstack.setCount(maxSize);
|
||||
slot.putStack(itemstack);
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
if (reverseDirection) {
|
||||
--i;
|
||||
} else {
|
||||
++i;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!stack.isEmpty()) {
|
||||
if (reverseDirection) {
|
||||
i = endIndex - 1;
|
||||
} else {
|
||||
i = startIndex;
|
||||
}
|
||||
while (true) {
|
||||
if (reverseDirection) {
|
||||
if (i < startIndex) {
|
||||
break;
|
||||
}
|
||||
} else if (i >= endIndex) {
|
||||
break;
|
||||
}
|
||||
Slot slot1 = this.inventorySlots.get(i);
|
||||
ItemStack itemstack1 = slot1.getStack();
|
||||
if (itemstack1.isEmpty() && slot1.isItemValid(stack)) {
|
||||
if (stack.getCount() > slot1.getSlotStackLimit()) {
|
||||
slot1.putStack(stack.splitStack(slot1.getSlotStackLimit()));
|
||||
} else {
|
||||
slot1.putStack(stack.splitStack(stack.getCount()));
|
||||
}
|
||||
slot1.onSlotChanged();
|
||||
flag = true;
|
||||
break;
|
||||
}
|
||||
if (reverseDirection) {
|
||||
--i;
|
||||
} else {
|
||||
++i;
|
||||
}
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onContainerClosed(EntityPlayer playerIn) {
|
||||
super.onContainerClosed(playerIn);
|
||||
if ((internal instanceof InventoryBasic) && (playerIn instanceof EntityPlayerMP)) {
|
||||
this.clearContainer(playerIn, playerIn.world, internal);
|
||||
}
|
||||
}
|
||||
|
||||
private void slotChanged(int slotid, int ctype, int meta) {
|
||||
if (this.world != null && this.world.isRemote) {
|
||||
PaladrillmodMod.PACKET_HANDLER.sendToServer(new GUISlotChangedMessage(slotid, x, y, z, ctype, meta));
|
||||
handleSlotAction(entity, slotid, ctype, meta, x, y, z);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static class GuiWindow extends GuiContainer {
|
||||
private World world;
|
||||
private int x, y, z;
|
||||
private EntityPlayer entity;
|
||||
public GuiWindow(World world, int x, int y, int z, EntityPlayer entity) {
|
||||
super(new GuiContainerMod(world, x, y, z, entity));
|
||||
this.world = world;
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
this.entity = entity;
|
||||
this.xSize = 176;
|
||||
this.ySize = 166;
|
||||
}
|
||||
private static final ResourceLocation texture = new ResourceLocation("paladrillmod:textures/paladiumfurnacegui.png");
|
||||
@Override
|
||||
public void drawScreen(int mouseX, int mouseY, float partialTicks) {
|
||||
this.drawDefaultBackground();
|
||||
super.drawScreen(mouseX, mouseY, partialTicks);
|
||||
this.renderHoveredToolTip(mouseX, mouseY);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) {
|
||||
GL11.glColor4f(1, 1, 1, 1);
|
||||
this.mc.renderEngine.bindTexture(texture);
|
||||
int k = (this.width - this.xSize) / 2;
|
||||
int l = (this.height - this.ySize) / 2;
|
||||
this.drawModalRectWithCustomSizedTexture(k, l, 0, 0, this.xSize, this.ySize, this.xSize, this.ySize);
|
||||
zLevel = 100.0F;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateScreen() {
|
||||
super.updateScreen();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException {
|
||||
super.mouseClicked(mouseX, mouseY, mouseButton);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void keyTyped(char typedChar, int keyCode) throws IOException {
|
||||
super.keyTyped(typedChar, keyCode);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer(int par1, int par2) {
|
||||
this.fontRenderer.drawString("Inventory", -58, 18, -11513776);
|
||||
this.fontRenderer.drawString("PaladiumFurnace", -58, -16, -13421773);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onGuiClosed() {
|
||||
super.onGuiClosed();
|
||||
Keyboard.enableRepeatEvents(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initGui() {
|
||||
super.initGui();
|
||||
this.guiLeft = (this.width - 176) / 2;
|
||||
this.guiTop = (this.height - 166) / 2;
|
||||
Keyboard.enableRepeatEvents(true);
|
||||
this.buttonList.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void actionPerformed(GuiButton button) {
|
||||
PaladrillmodMod.PACKET_HANDLER.sendToServer(new GUIButtonPressedMessage(button.id, x, y, z));
|
||||
handleButtonAction(entity, button.id, x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean doesGuiPauseGame() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static class GUIButtonPressedMessageHandler implements IMessageHandler<GUIButtonPressedMessage, IMessage> {
|
||||
@Override
|
||||
public IMessage onMessage(GUIButtonPressedMessage message, MessageContext context) {
|
||||
EntityPlayerMP entity = context.getServerHandler().player;
|
||||
entity.getServerWorld().addScheduledTask(() -> {
|
||||
int buttonID = message.buttonID;
|
||||
int x = message.x;
|
||||
int y = message.y;
|
||||
int z = message.z;
|
||||
handleButtonAction(entity, buttonID, x, y, z);
|
||||
});
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static class GUISlotChangedMessageHandler implements IMessageHandler<GUISlotChangedMessage, IMessage> {
|
||||
@Override
|
||||
public IMessage onMessage(GUISlotChangedMessage message, MessageContext context) {
|
||||
EntityPlayerMP entity = context.getServerHandler().player;
|
||||
entity.getServerWorld().addScheduledTask(() -> {
|
||||
int slotID = message.slotID;
|
||||
int changeType = message.changeType;
|
||||
int meta = message.meta;
|
||||
int x = message.x;
|
||||
int y = message.y;
|
||||
int z = message.z;
|
||||
handleSlotAction(entity, slotID, changeType, meta, x, y, z);
|
||||
});
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static class GUIButtonPressedMessage implements IMessage {
|
||||
int buttonID, x, y, z;
|
||||
public GUIButtonPressedMessage() {
|
||||
}
|
||||
|
||||
public GUIButtonPressedMessage(int buttonID, int x, int y, int z) {
|
||||
this.buttonID = buttonID;
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toBytes(io.netty.buffer.ByteBuf buf) {
|
||||
buf.writeInt(buttonID);
|
||||
buf.writeInt(x);
|
||||
buf.writeInt(y);
|
||||
buf.writeInt(z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fromBytes(io.netty.buffer.ByteBuf buf) {
|
||||
buttonID = buf.readInt();
|
||||
x = buf.readInt();
|
||||
y = buf.readInt();
|
||||
z = buf.readInt();
|
||||
}
|
||||
}
|
||||
|
||||
public static class GUISlotChangedMessage implements IMessage {
|
||||
int slotID, x, y, z, changeType, meta;
|
||||
public GUISlotChangedMessage() {
|
||||
}
|
||||
|
||||
public GUISlotChangedMessage(int slotID, int x, int y, int z, int changeType, int meta) {
|
||||
this.slotID = slotID;
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
this.changeType = changeType;
|
||||
this.meta = meta;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toBytes(io.netty.buffer.ByteBuf buf) {
|
||||
buf.writeInt(slotID);
|
||||
buf.writeInt(x);
|
||||
buf.writeInt(y);
|
||||
buf.writeInt(z);
|
||||
buf.writeInt(changeType);
|
||||
buf.writeInt(meta);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fromBytes(io.netty.buffer.ByteBuf buf) {
|
||||
slotID = buf.readInt();
|
||||
x = buf.readInt();
|
||||
y = buf.readInt();
|
||||
z = buf.readInt();
|
||||
changeType = buf.readInt();
|
||||
meta = buf.readInt();
|
||||
}
|
||||
}
|
||||
private static void handleButtonAction(EntityPlayer entity, int buttonID, int x, int y, int z) {
|
||||
World world = entity.world;
|
||||
// security measure to prevent arbitrary chunk generation
|
||||
if (!world.isBlockLoaded(new BlockPos(x, y, z)))
|
||||
return;
|
||||
}
|
||||
|
||||
private static void handleSlotAction(EntityPlayer entity, int slotID, int changeType, int meta, int x, int y, int z) {
|
||||
World world = entity.world;
|
||||
// security measure to prevent arbitrary chunk generation
|
||||
if (!world.isBlockLoaded(new BlockPos(x, y, z)))
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.common.util.EnumHelper;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.item.ItemArmor;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemAmethystArmor extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:amethystarmorhelmet")
|
||||
public static final Item helmet = null;
|
||||
@GameRegistry.ObjectHolder("paladrillmod:amethystarmorbody")
|
||||
public static final Item body = null;
|
||||
@GameRegistry.ObjectHolder("paladrillmod:amethystarmorlegs")
|
||||
public static final Item legs = null;
|
||||
@GameRegistry.ObjectHolder("paladrillmod:amethystarmorboots")
|
||||
public static final Item boots = null;
|
||||
public ItemAmethystArmor(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 10);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
ItemArmor.ArmorMaterial enuma = EnumHelper.addArmorMaterial("AMETHYSTARMOR", "paladrillmod:methyst_rmor_", 15, new int[]{2, 5, 6, 2}, 9,
|
||||
(net.minecraft.util.SoundEvent) net.minecraft.util.SoundEvent.REGISTRY.getObject(new ResourceLocation("")), 0f);
|
||||
elements.items.add(() -> new ItemArmor(enuma, 0, EntityEquipmentSlot.HEAD).setUnlocalizedName("amethystarmorhelmet")
|
||||
.setRegistryName("amethystarmorhelmet").setCreativeTab(TabPalaDrillMod.tab));
|
||||
elements.items.add(() -> new ItemArmor(enuma, 0, EntityEquipmentSlot.CHEST).setUnlocalizedName("amethystarmorbody")
|
||||
.setRegistryName("amethystarmorbody").setCreativeTab(TabPalaDrillMod.tab));
|
||||
elements.items.add(() -> new ItemArmor(enuma, 0, EntityEquipmentSlot.LEGS).setUnlocalizedName("amethystarmorlegs")
|
||||
.setRegistryName("amethystarmorlegs").setCreativeTab(TabPalaDrillMod.tab));
|
||||
elements.items.add(() -> new ItemArmor(enuma, 0, EntityEquipmentSlot.FEET).setUnlocalizedName("amethystarmorboots")
|
||||
.setRegistryName("amethystarmorboots").setCreativeTab(TabPalaDrillMod.tab));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(helmet, 0, new ModelResourceLocation("paladrillmod:amethystarmorhelmet", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(body, 0, new ModelResourceLocation("paladrillmod:amethystarmorbody", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(legs, 0, new ModelResourceLocation("paladrillmod:amethystarmorlegs", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(boots, 0, new ModelResourceLocation("paladrillmod:amethystarmorboots", "inventory"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.common.util.EnumHelper;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemTool;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemAmethystAxe extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:amethystaxe")
|
||||
public static final Item block = null;
|
||||
public ItemAmethystAxe(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 7);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemToolCustom() {
|
||||
}.setUnlocalizedName("amethystaxe").setRegistryName("amethystaxe").setCreativeTab(TabPalaDrillMod.tab));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:amethystaxe", "inventory"));
|
||||
}
|
||||
private static class ItemToolCustom extends ItemTool {
|
||||
private static final Set<Block> effective_items_set = com.google.common.collect.Sets
|
||||
.newHashSet(new Block[]{Blocks.PLANKS, Blocks.BOOKSHELF, Blocks.LOG, Blocks.LOG2, Blocks.CHEST, Blocks.PUMPKIN, Blocks.LIT_PUMPKIN,
|
||||
Blocks.MELON_BLOCK, Blocks.LADDER, Blocks.WOODEN_BUTTON, Blocks.WOODEN_PRESSURE_PLATE});
|
||||
protected ItemToolCustom() {
|
||||
super(EnumHelper.addToolMaterial("AMETHYSTAXE", 4, 1164, 7f, 0.7f, 12), effective_items_set);
|
||||
this.attackDamage = 0.7f;
|
||||
this.attackSpeed = -3f;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack stack, IBlockState state) {
|
||||
Material material = state.getMaterial();
|
||||
return material != Material.WOOD && material != Material.PLANTS && material != Material.VINE
|
||||
? super.getDestroySpeed(stack, state)
|
||||
: this.efficiency;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedurePaladiumHammerBlockDestroyedWithTool;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.common.util.EnumHelper;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemPickaxe;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemAmethystHammer extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:amethysthammer")
|
||||
public static final Item block = null;
|
||||
public ItemAmethystHammer(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 9);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemPickaxe(EnumHelper.addToolMaterial("AMETHYSTHAMMER", 3, 16000, 2f, 0f, 2)) {
|
||||
{
|
||||
this.attackSpeed = -3.2f;
|
||||
}
|
||||
public Set<String> getToolClasses(ItemStack stack) {
|
||||
HashMap<String, Integer> ret = new HashMap<String, Integer>();
|
||||
ret.put("pickaxe", 3);
|
||||
return ret.keySet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockDestroyed(ItemStack itemstack, World world, IBlockState bl, BlockPos pos, EntityLivingBase entity) {
|
||||
boolean retval = super.onBlockDestroyed(itemstack, world, bl, pos, entity);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedurePaladiumHammerBlockDestroyedWithTool.executeProcedure($_dependencies);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
}.setUnlocalizedName("amethysthammer").setRegistryName("amethysthammer").setCreativeTab(TabPalaDrillMod.tab));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:amethysthammer", "inventory"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemAmethystIngot extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:amethystingot")
|
||||
public static final Item block = null;
|
||||
public ItemAmethystIngot(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:amethystingot", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 64;
|
||||
setUnlocalizedName("amethystingot");
|
||||
setRegistryName("amethystingot");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
}
|
||||
}
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemAmethystMixedCoal extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:amethyst_mixed_coal")
|
||||
public static final Item block = null;
|
||||
public ItemAmethystMixedCoal(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 309);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:amethyst_mixed_coal", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 64;
|
||||
setUnlocalizedName("amethyst_mixed_coal");
|
||||
setRegistryName("amethyst_mixed_coal");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.common.util.EnumHelper;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemPickaxe;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemAmethystPickaxe extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:amethystpickaxe")
|
||||
public static final Item block = null;
|
||||
public ItemAmethystPickaxe(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 6);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemPickaxe(EnumHelper.addToolMaterial("AMETHYSTPICKAXE", 2, 1164, 6f, -0.9f, 7)) {
|
||||
{
|
||||
this.attackSpeed = -3f;
|
||||
}
|
||||
public Set<String> getToolClasses(ItemStack stack) {
|
||||
HashMap<String, Integer> ret = new HashMap<String, Integer>();
|
||||
ret.put("pickaxe", 2);
|
||||
return ret.keySet();
|
||||
}
|
||||
}.setUnlocalizedName("amethystpickaxe").setRegistryName("amethystpickaxe").setCreativeTab(TabPalaDrillMod.tab));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:amethystpickaxe", "inventory"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.common.util.EnumHelper;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemSpade;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemAmethystShovel extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:amethystshovel")
|
||||
public static final Item block = null;
|
||||
public ItemAmethystShovel(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 8);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemSpade(EnumHelper.addToolMaterial("AMETHYSTSHOVEL", 5, 1164, 12.5f, -1.5f, 7)) {
|
||||
{
|
||||
this.attackSpeed = -3f;
|
||||
}
|
||||
public Set<String> getToolClasses(ItemStack stack) {
|
||||
HashMap<String, Integer> ret = new HashMap<String, Integer>();
|
||||
ret.put("spade", 5);
|
||||
return ret.keySet();
|
||||
}
|
||||
}.setUnlocalizedName("amethystshovel").setRegistryName("amethystshovel").setCreativeTab(TabPalaDrillMod.tab));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:amethystshovel", "inventory"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemAmethystStick extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:amethyststick")
|
||||
public static final Item block = null;
|
||||
public ItemAmethystStick(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 56);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:amethyststick", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 64;
|
||||
setUnlocalizedName("amethyststick");
|
||||
setRegistryName("amethyststick");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.common.util.EnumHelper;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemSword;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||
import net.minecraft.entity.ai.attributes.AttributeModifier;
|
||||
import net.minecraft.entity.SharedMonsterAttributes;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.HashMap;
|
||||
|
||||
import com.google.common.collect.Multimap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemAmethystSword extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:amethystsword")
|
||||
public static final Item block = null;
|
||||
public ItemAmethystSword(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 5);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemSword(EnumHelper.addToolMaterial("AMETHYSTSWORD", 2, 1999, 6f, 2f, 12)) {
|
||||
@Override
|
||||
public Multimap<String, AttributeModifier> getItemAttributeModifiers(EntityEquipmentSlot slot) {
|
||||
Multimap<String, AttributeModifier> multimap = super.getItemAttributeModifiers(slot);
|
||||
if (slot == EntityEquipmentSlot.MAINHAND) {
|
||||
multimap.put(SharedMonsterAttributes.ATTACK_DAMAGE.getName(),
|
||||
new AttributeModifier(ATTACK_DAMAGE_MODIFIER, "Weapon modifier", (double) this.getAttackDamage(), 0));
|
||||
multimap.put(SharedMonsterAttributes.ATTACK_SPEED.getName(),
|
||||
new AttributeModifier(ATTACK_SPEED_MODIFIER, "Weapon modifier", -2.4, 0));
|
||||
}
|
||||
return multimap;
|
||||
}
|
||||
|
||||
public Set<String> getToolClasses(ItemStack stack) {
|
||||
HashMap<String, Integer> ret = new HashMap<String, Integer>();
|
||||
ret.put("sword", 2);
|
||||
return ret.keySet();
|
||||
}
|
||||
}.setUnlocalizedName("amethystsword").setRegistryName("amethystsword").setCreativeTab(TabPalaDrillMod.tab));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:amethystsword", "inventory"));
|
||||
}
|
||||
}
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemBroadswordPattern extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:broadswordpattern")
|
||||
public static final Item block = null;
|
||||
public ItemBroadswordPattern(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 325);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:broadswordpattern", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 1;
|
||||
setUnlocalizedName("broadswordpattern");
|
||||
setRegistryName("broadswordpattern");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
}
|
||||
}
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemCompressedAmethyst extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:compressedamethyst")
|
||||
public static final Item block = null;
|
||||
public ItemCompressedAmethyst(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 69);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:compressedamethyst", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 64;
|
||||
setUnlocalizedName("compressedamethyst");
|
||||
setRegistryName("compressedamethyst");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
}
|
||||
}
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemCreativeMixedCoal extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:creative_mixed_coal")
|
||||
public static final Item block = null;
|
||||
public ItemCreativeMixedCoal(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 315);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:creative_mixed_coal", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 64;
|
||||
setUnlocalizedName("creative_mixed_coal");
|
||||
setRegistryName("creative_mixed_coal");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,201 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureDynamiteBulletHitsBlock;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.fml.common.registry.EntityEntryBuilder;
|
||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||
import net.minecraftforge.fml.client.registry.RenderingRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.SoundCategory;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.EnumActionResult;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.EnumAction;
|
||||
import net.minecraft.init.Enchantments;
|
||||
import net.minecraft.entity.projectile.EntityTippedArrow;
|
||||
import net.minecraft.entity.projectile.EntityArrow;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.enchantment.EnchantmentHelper;
|
||||
import net.minecraft.client.renderer.entity.RenderSnowball;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.client.Minecraft;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemDynamite extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:dynamite")
|
||||
public static final Item block = null;
|
||||
public static final int ENTITYID = 1;
|
||||
public ItemDynamite(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 97);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new RangedItem());
|
||||
elements.entities.add(() -> EntityEntryBuilder.create().entity(EntityArrowCustom.class)
|
||||
.id(new ResourceLocation("paladrillmod", "entitybulletdynamite"), ENTITYID).name("entitybulletdynamite").tracker(64, 1, true)
|
||||
.build());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:dynamite", "inventory"));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void preInit(FMLPreInitializationEvent event) {
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityArrowCustom.class, renderManager -> {
|
||||
return new RenderSnowball(renderManager, new ItemStack(ItemDynamite.block, (int) (1)).getItem(),
|
||||
Minecraft.getMinecraft().getRenderItem());
|
||||
});
|
||||
}
|
||||
public static class RangedItem extends Item {
|
||||
public RangedItem() {
|
||||
super();
|
||||
setMaxDamage(0);
|
||||
setFull3D();
|
||||
setUnlocalizedName("dynamite");
|
||||
setRegistryName("dynamite");
|
||||
maxStackSize = 64;
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlayerStoppedUsing(ItemStack itemstack, World world, EntityLivingBase entityLivingBase, int timeLeft) {
|
||||
if (!world.isRemote && entityLivingBase instanceof EntityPlayerMP) {
|
||||
EntityPlayerMP entity = (EntityPlayerMP) entityLivingBase;
|
||||
int slotID = -1;
|
||||
for (int i = 0; i < entity.inventory.mainInventory.size(); i++) {
|
||||
ItemStack stack = entity.inventory.mainInventory.get(i);
|
||||
if (stack != null && stack.getItem() == new ItemStack(ItemDynamite.block, (int) (1)).getItem()
|
||||
&& stack.getMetadata() == new ItemStack(ItemDynamite.block, (int) (1)).getMetadata()) {
|
||||
slotID = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (entity.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantments.INFINITY, itemstack) > 0
|
||||
|| slotID != -1) {
|
||||
float power = 1f;
|
||||
EntityArrowCustom entityarrow = new EntityArrowCustom(world, entity);
|
||||
entityarrow.shoot(entity.getLookVec().x, entity.getLookVec().y, entity.getLookVec().z, power * 2, 0);
|
||||
entityarrow.setSilent(true);
|
||||
entityarrow.setIsCritical(true);
|
||||
entityarrow.setDamage(1.3);
|
||||
entityarrow.setKnockbackStrength(2);
|
||||
entityarrow.setFire(100);
|
||||
itemstack.damageItem(1, entity);
|
||||
int x = (int) entity.posX;
|
||||
int y = (int) entity.posY;
|
||||
int z = (int) entity.posZ;
|
||||
world.playSound((EntityPlayer) null, (double) x, (double) y, (double) z,
|
||||
(net.minecraft.util.SoundEvent) net.minecraft.util.SoundEvent.REGISTRY.getObject(new ResourceLocation((""))),
|
||||
SoundCategory.NEUTRAL, 1, 1f / (itemRand.nextFloat() * 0.5f + 1f) + (power / 2));
|
||||
if (entity.capabilities.isCreativeMode) {
|
||||
entityarrow.pickupStatus = EntityArrow.PickupStatus.CREATIVE_ONLY;
|
||||
} else {
|
||||
if (new ItemStack(ItemDynamite.block, (int) (1)).isItemStackDamageable()) {
|
||||
ItemStack stack = entity.inventory.getStackInSlot(slotID);
|
||||
if (stack.attemptDamageItem(1, itemRand, entity)) {
|
||||
stack.shrink(1);
|
||||
stack.setItemDamage(0);
|
||||
}
|
||||
} else {
|
||||
entity.inventory.clearMatchingItems(new ItemStack(ItemDynamite.block, (int) (1)).getItem(), -1, 1, null);
|
||||
}
|
||||
}
|
||||
if (!world.isRemote)
|
||||
world.spawnEntity(entityarrow);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer entity, EnumHand hand) {
|
||||
entity.setActiveHand(hand);
|
||||
return new ActionResult(EnumActionResult.SUCCESS, entity.getHeldItem(hand));
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumAction getItemUseAction(ItemStack itemstack) {
|
||||
return EnumAction.BOW;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 72000;
|
||||
}
|
||||
}
|
||||
|
||||
public static class EntityArrowCustom extends EntityTippedArrow {
|
||||
public EntityArrowCustom(World a) {
|
||||
super(a);
|
||||
}
|
||||
|
||||
public EntityArrowCustom(World worldIn, double x, double y, double z) {
|
||||
super(worldIn, x, y, z);
|
||||
}
|
||||
|
||||
public EntityArrowCustom(World worldIn, EntityLivingBase shooter) {
|
||||
super(worldIn, shooter);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void arrowHit(EntityLivingBase entity) {
|
||||
super.arrowHit(entity);
|
||||
entity.setArrowCountInEntity(entity.getArrowCountInEntity() - 1);
|
||||
int x = (int) this.posX;
|
||||
int y = (int) this.posY;
|
||||
int z = (int) this.posZ;
|
||||
World world = this.world;
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureDynamiteBulletHitsBlock.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate() {
|
||||
super.onUpdate();
|
||||
int x = (int) this.posX;
|
||||
int y = (int) this.posY;
|
||||
int z = (int) this.posZ;
|
||||
World world = this.world;
|
||||
Entity entity = (Entity) shootingEntity;
|
||||
if (this.inGround) {
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureDynamiteBulletHitsBlock.executeProcedure($_dependencies);
|
||||
}
|
||||
this.world.removeEntity(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,201 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureDynamiteBulletHitsBlock;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.fml.common.registry.EntityEntryBuilder;
|
||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||
import net.minecraftforge.fml.client.registry.RenderingRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.SoundCategory;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.EnumActionResult;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.EnumAction;
|
||||
import net.minecraft.init.Enchantments;
|
||||
import net.minecraft.entity.projectile.EntityTippedArrow;
|
||||
import net.minecraft.entity.projectile.EntityArrow;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.enchantment.EnchantmentHelper;
|
||||
import net.minecraft.client.renderer.entity.RenderSnowball;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.client.Minecraft;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemDynamiteNinja extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:dynamiteninja")
|
||||
public static final Item block = null;
|
||||
public static final int ENTITYID = 2;
|
||||
public ItemDynamiteNinja(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 98);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new RangedItem());
|
||||
elements.entities.add(() -> EntityEntryBuilder.create().entity(EntityArrowCustom.class)
|
||||
.id(new ResourceLocation("paladrillmod", "entitybulletdynamiteninja"), ENTITYID).name("entitybulletdynamiteninja")
|
||||
.tracker(64, 1, true).build());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:dynamiteninja", "inventory"));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void preInit(FMLPreInitializationEvent event) {
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityArrowCustom.class, renderManager -> {
|
||||
return new RenderSnowball(renderManager, new ItemStack(ItemDynamite.block, (int) (1)).getItem(),
|
||||
Minecraft.getMinecraft().getRenderItem());
|
||||
});
|
||||
}
|
||||
public static class RangedItem extends Item {
|
||||
public RangedItem() {
|
||||
super();
|
||||
setMaxDamage(0);
|
||||
setFull3D();
|
||||
setUnlocalizedName("dynamiteninja");
|
||||
setRegistryName("dynamiteninja");
|
||||
maxStackSize = 64;
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlayerStoppedUsing(ItemStack itemstack, World world, EntityLivingBase entityLivingBase, int timeLeft) {
|
||||
if (!world.isRemote && entityLivingBase instanceof EntityPlayerMP) {
|
||||
EntityPlayerMP entity = (EntityPlayerMP) entityLivingBase;
|
||||
int slotID = -1;
|
||||
for (int i = 0; i < entity.inventory.mainInventory.size(); i++) {
|
||||
ItemStack stack = entity.inventory.mainInventory.get(i);
|
||||
if (stack != null && stack.getItem() == new ItemStack(ItemDynamite.block, (int) (1)).getItem()
|
||||
&& stack.getMetadata() == new ItemStack(ItemDynamite.block, (int) (1)).getMetadata()) {
|
||||
slotID = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (entity.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantments.INFINITY, itemstack) > 0
|
||||
|| slotID != -1) {
|
||||
float power = 1f;
|
||||
EntityArrowCustom entityarrow = new EntityArrowCustom(world, entity);
|
||||
entityarrow.shoot(entity.getLookVec().x, entity.getLookVec().y, entity.getLookVec().z, power * 2, 0);
|
||||
entityarrow.setSilent(true);
|
||||
entityarrow.setIsCritical(true);
|
||||
entityarrow.setDamage(1.2000000000000002);
|
||||
entityarrow.setKnockbackStrength(2);
|
||||
entityarrow.setFire(100);
|
||||
itemstack.damageItem(1, entity);
|
||||
int x = (int) entity.posX;
|
||||
int y = (int) entity.posY;
|
||||
int z = (int) entity.posZ;
|
||||
world.playSound((EntityPlayer) null, (double) x, (double) y, (double) z,
|
||||
(net.minecraft.util.SoundEvent) net.minecraft.util.SoundEvent.REGISTRY.getObject(new ResourceLocation((""))),
|
||||
SoundCategory.NEUTRAL, 1, 1f / (itemRand.nextFloat() * 0.5f + 1f) + (power / 2));
|
||||
if (entity.capabilities.isCreativeMode) {
|
||||
entityarrow.pickupStatus = EntityArrow.PickupStatus.CREATIVE_ONLY;
|
||||
} else {
|
||||
if (new ItemStack(ItemDynamite.block, (int) (1)).isItemStackDamageable()) {
|
||||
ItemStack stack = entity.inventory.getStackInSlot(slotID);
|
||||
if (stack.attemptDamageItem(1, itemRand, entity)) {
|
||||
stack.shrink(1);
|
||||
stack.setItemDamage(0);
|
||||
}
|
||||
} else {
|
||||
entity.inventory.clearMatchingItems(new ItemStack(ItemDynamite.block, (int) (1)).getItem(), -1, 1, null);
|
||||
}
|
||||
}
|
||||
if (!world.isRemote)
|
||||
world.spawnEntity(entityarrow);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer entity, EnumHand hand) {
|
||||
entity.setActiveHand(hand);
|
||||
return new ActionResult(EnumActionResult.SUCCESS, entity.getHeldItem(hand));
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumAction getItemUseAction(ItemStack itemstack) {
|
||||
return EnumAction.BOW;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 72000;
|
||||
}
|
||||
}
|
||||
|
||||
public static class EntityArrowCustom extends EntityTippedArrow {
|
||||
public EntityArrowCustom(World a) {
|
||||
super(a);
|
||||
}
|
||||
|
||||
public EntityArrowCustom(World worldIn, double x, double y, double z) {
|
||||
super(worldIn, x, y, z);
|
||||
}
|
||||
|
||||
public EntityArrowCustom(World worldIn, EntityLivingBase shooter) {
|
||||
super(worldIn, shooter);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void arrowHit(EntityLivingBase entity) {
|
||||
super.arrowHit(entity);
|
||||
entity.setArrowCountInEntity(entity.getArrowCountInEntity() - 1);
|
||||
int x = (int) this.posX;
|
||||
int y = (int) this.posY;
|
||||
int z = (int) this.posZ;
|
||||
World world = this.world;
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureDynamiteBulletHitsBlock.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate() {
|
||||
super.onUpdate();
|
||||
int x = (int) this.posX;
|
||||
int y = (int) this.posY;
|
||||
int z = (int) this.posZ;
|
||||
World world = this.world;
|
||||
Entity entity = (Entity) shootingEntity;
|
||||
if (this.inGround) {
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureDynamiteBulletHitsBlock.executeProcedure($_dependencies);
|
||||
}
|
||||
this.world.removeEntity(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemEggPlantFruit extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:eggplantfruit")
|
||||
public static final Item block = null;
|
||||
public ItemEggPlantFruit(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 251);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:eggplantfruit", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 64;
|
||||
setUnlocalizedName("eggplantfruit");
|
||||
setRegistryName("eggplantfruit");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureEndiumArmorLeggingsTickEvent;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureEndiumArmorHelmetTickEvent;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureEndiumArmorBootsTickEvent;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureEndiumArmorBodyTickEvent;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.common.util.EnumHelper;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemArmor;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemEndiumArmor extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:endiumarmorhelmet")
|
||||
public static final Item helmet = null;
|
||||
@GameRegistry.ObjectHolder("paladrillmod:endiumarmorbody")
|
||||
public static final Item body = null;
|
||||
@GameRegistry.ObjectHolder("paladrillmod:endiumarmorlegs")
|
||||
public static final Item legs = null;
|
||||
@GameRegistry.ObjectHolder("paladrillmod:endiumarmorboots")
|
||||
public static final Item boots = null;
|
||||
public ItemEndiumArmor(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 42);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
ItemArmor.ArmorMaterial enuma = EnumHelper.addArmorMaterial("ENDIUMARMOR", "paladrillmod:endium", 1024, new int[]{5, 9, 11, 5}, 25,
|
||||
(net.minecraft.util.SoundEvent) net.minecraft.util.SoundEvent.REGISTRY.getObject(new ResourceLocation("")), 5f);
|
||||
elements.items.add(() -> new ItemArmor(enuma, 0, EntityEquipmentSlot.HEAD) {
|
||||
@Override
|
||||
public void onArmorTick(World world, EntityPlayer entity, ItemStack itemstack) {
|
||||
super.onArmorTick(world, entity, itemstack);
|
||||
int x = (int) entity.posX;
|
||||
int y = (int) entity.posY;
|
||||
int z = (int) entity.posZ;
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
ProcedureEndiumArmorHelmetTickEvent.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}.setUnlocalizedName("endiumarmorhelmet").setRegistryName("endiumarmorhelmet").setCreativeTab(TabPalaDrillMod.tab));
|
||||
elements.items.add(() -> new ItemArmor(enuma, 0, EntityEquipmentSlot.CHEST) {
|
||||
@Override
|
||||
public void onArmorTick(World world, EntityPlayer entity, ItemStack itemstack) {
|
||||
int x = (int) entity.posX;
|
||||
int y = (int) entity.posY;
|
||||
int z = (int) entity.posZ;
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
ProcedureEndiumArmorBodyTickEvent.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}.setUnlocalizedName("endiumarmorbody").setRegistryName("endiumarmorbody").setCreativeTab(TabPalaDrillMod.tab));
|
||||
elements.items.add(() -> new ItemArmor(enuma, 0, EntityEquipmentSlot.LEGS) {
|
||||
@Override
|
||||
public void onArmorTick(World world, EntityPlayer entity, ItemStack itemstack) {
|
||||
int x = (int) entity.posX;
|
||||
int y = (int) entity.posY;
|
||||
int z = (int) entity.posZ;
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
ProcedureEndiumArmorLeggingsTickEvent.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}.setUnlocalizedName("endiumarmorlegs").setRegistryName("endiumarmorlegs").setCreativeTab(TabPalaDrillMod.tab));
|
||||
elements.items.add(() -> new ItemArmor(enuma, 0, EntityEquipmentSlot.FEET) {
|
||||
@Override
|
||||
public void onArmorTick(World world, EntityPlayer entity, ItemStack itemstack) {
|
||||
int x = (int) entity.posX;
|
||||
int y = (int) entity.posY;
|
||||
int z = (int) entity.posZ;
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
ProcedureEndiumArmorBootsTickEvent.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}.setUnlocalizedName("endiumarmorboots").setRegistryName("endiumarmorboots").setCreativeTab(TabPalaDrillMod.tab));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(helmet, 0, new ModelResourceLocation("paladrillmod:endiumarmorhelmet", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(body, 0, new ModelResourceLocation("paladrillmod:endiumarmorbody", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(legs, 0, new ModelResourceLocation("paladrillmod:endiumarmorlegs", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(boots, 0, new ModelResourceLocation("paladrillmod:endiumarmorboots", "inventory"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.common.util.EnumHelper;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemTool;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemEndiumAxe extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:endiumaxe")
|
||||
public static final Item block = null;
|
||||
public ItemEndiumAxe(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 41);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemToolCustom() {
|
||||
}.setUnlocalizedName("endiumaxe").setRegistryName("endiumaxe").setCreativeTab(TabPalaDrillMod.tab));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:endiumaxe", "inventory"));
|
||||
}
|
||||
private static class ItemToolCustom extends ItemTool {
|
||||
private static final Set<Block> effective_items_set = com.google.common.collect.Sets
|
||||
.newHashSet(new Block[]{Blocks.PLANKS, Blocks.BOOKSHELF, Blocks.LOG, Blocks.LOG2, Blocks.CHEST, Blocks.PUMPKIN, Blocks.LIT_PUMPKIN,
|
||||
Blocks.MELON_BLOCK, Blocks.LADDER, Blocks.WOODEN_BUTTON, Blocks.WOODEN_PRESSURE_PLATE});
|
||||
protected ItemToolCustom() {
|
||||
super(EnumHelper.addToolMaterial("ENDIUMAXE", 12, 4595, 10f, 4.5f, 14), effective_items_set);
|
||||
this.attackDamage = 4.5f;
|
||||
this.attackSpeed = -3f;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack stack, IBlockState state) {
|
||||
Material material = state.getMaterial();
|
||||
return material != Material.WOOD && material != Material.PLANTS && material != Material.VINE
|
||||
? super.getDestroySpeed(stack, state)
|
||||
: this.efficiency;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,201 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureEndiumDynamiteHit;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.fml.common.registry.EntityEntryBuilder;
|
||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||
import net.minecraftforge.fml.client.registry.RenderingRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.SoundCategory;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.EnumActionResult;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.EnumAction;
|
||||
import net.minecraft.init.Enchantments;
|
||||
import net.minecraft.entity.projectile.EntityTippedArrow;
|
||||
import net.minecraft.entity.projectile.EntityArrow;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.enchantment.EnchantmentHelper;
|
||||
import net.minecraft.client.renderer.entity.RenderSnowball;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.client.Minecraft;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemEndiumDynamite extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:endiumdynamite")
|
||||
public static final Item block = null;
|
||||
public static final int ENTITYID = 3;
|
||||
public ItemEndiumDynamite(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 99);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new RangedItem());
|
||||
elements.entities.add(() -> EntityEntryBuilder.create().entity(EntityArrowCustom.class)
|
||||
.id(new ResourceLocation("paladrillmod", "entitybulletendiumdynamite"), ENTITYID).name("entitybulletendiumdynamite")
|
||||
.tracker(64, 1, true).build());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:endiumdynamite", "inventory"));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void preInit(FMLPreInitializationEvent event) {
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityArrowCustom.class, renderManager -> {
|
||||
return new RenderSnowball(renderManager, new ItemStack(ItemEndiumDynamite.block, (int) (1)).getItem(),
|
||||
Minecraft.getMinecraft().getRenderItem());
|
||||
});
|
||||
}
|
||||
public static class RangedItem extends Item {
|
||||
public RangedItem() {
|
||||
super();
|
||||
setMaxDamage(0);
|
||||
setFull3D();
|
||||
setUnlocalizedName("endiumdynamite");
|
||||
setRegistryName("endiumdynamite");
|
||||
maxStackSize = 64;
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlayerStoppedUsing(ItemStack itemstack, World world, EntityLivingBase entityLivingBase, int timeLeft) {
|
||||
if (!world.isRemote && entityLivingBase instanceof EntityPlayerMP) {
|
||||
EntityPlayerMP entity = (EntityPlayerMP) entityLivingBase;
|
||||
int slotID = -1;
|
||||
for (int i = 0; i < entity.inventory.mainInventory.size(); i++) {
|
||||
ItemStack stack = entity.inventory.mainInventory.get(i);
|
||||
if (stack != null && stack.getItem() == new ItemStack(ItemEndiumDynamite.block, (int) (1)).getItem()
|
||||
&& stack.getMetadata() == new ItemStack(ItemEndiumDynamite.block, (int) (1)).getMetadata()) {
|
||||
slotID = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (entity.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantments.INFINITY, itemstack) > 0
|
||||
|| slotID != -1) {
|
||||
float power = 1f;
|
||||
EntityArrowCustom entityarrow = new EntityArrowCustom(world, entity);
|
||||
entityarrow.shoot(entity.getLookVec().x, entity.getLookVec().y, entity.getLookVec().z, power * 2, 0);
|
||||
entityarrow.setSilent(true);
|
||||
entityarrow.setIsCritical(true);
|
||||
entityarrow.setDamage(1.2000000000000002);
|
||||
entityarrow.setKnockbackStrength(3);
|
||||
entityarrow.setFire(100);
|
||||
itemstack.damageItem(1, entity);
|
||||
int x = (int) entity.posX;
|
||||
int y = (int) entity.posY;
|
||||
int z = (int) entity.posZ;
|
||||
world.playSound((EntityPlayer) null, (double) x, (double) y, (double) z,
|
||||
(net.minecraft.util.SoundEvent) net.minecraft.util.SoundEvent.REGISTRY.getObject(new ResourceLocation((""))),
|
||||
SoundCategory.NEUTRAL, 1, 1f / (itemRand.nextFloat() * 0.5f + 1f) + (power / 2));
|
||||
if (entity.capabilities.isCreativeMode) {
|
||||
entityarrow.pickupStatus = EntityArrow.PickupStatus.CREATIVE_ONLY;
|
||||
} else {
|
||||
if (new ItemStack(ItemEndiumDynamite.block, (int) (1)).isItemStackDamageable()) {
|
||||
ItemStack stack = entity.inventory.getStackInSlot(slotID);
|
||||
if (stack.attemptDamageItem(1, itemRand, entity)) {
|
||||
stack.shrink(1);
|
||||
stack.setItemDamage(0);
|
||||
}
|
||||
} else {
|
||||
entity.inventory.clearMatchingItems(new ItemStack(ItemEndiumDynamite.block, (int) (1)).getItem(), -1, 1, null);
|
||||
}
|
||||
}
|
||||
if (!world.isRemote)
|
||||
world.spawnEntity(entityarrow);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer entity, EnumHand hand) {
|
||||
entity.setActiveHand(hand);
|
||||
return new ActionResult(EnumActionResult.SUCCESS, entity.getHeldItem(hand));
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumAction getItemUseAction(ItemStack itemstack) {
|
||||
return EnumAction.BOW;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 72000;
|
||||
}
|
||||
}
|
||||
|
||||
public static class EntityArrowCustom extends EntityTippedArrow {
|
||||
public EntityArrowCustom(World a) {
|
||||
super(a);
|
||||
}
|
||||
|
||||
public EntityArrowCustom(World worldIn, double x, double y, double z) {
|
||||
super(worldIn, x, y, z);
|
||||
}
|
||||
|
||||
public EntityArrowCustom(World worldIn, EntityLivingBase shooter) {
|
||||
super(worldIn, shooter);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void arrowHit(EntityLivingBase entity) {
|
||||
super.arrowHit(entity);
|
||||
entity.setArrowCountInEntity(entity.getArrowCountInEntity() - 1);
|
||||
int x = (int) this.posX;
|
||||
int y = (int) this.posY;
|
||||
int z = (int) this.posZ;
|
||||
World world = this.world;
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureEndiumDynamiteHit.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate() {
|
||||
super.onUpdate();
|
||||
int x = (int) this.posX;
|
||||
int y = (int) this.posY;
|
||||
int z = (int) this.posZ;
|
||||
World world = this.world;
|
||||
Entity entity = (Entity) shootingEntity;
|
||||
if (this.inGround) {
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureEndiumDynamiteHit.executeProcedure($_dependencies);
|
||||
}
|
||||
this.world.removeEntity(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemEndiumIngot extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:endiumingot")
|
||||
public static final Item block = null;
|
||||
public ItemEndiumIngot(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 38);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:endiumingot", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 64;
|
||||
setUnlocalizedName("endiumingot");
|
||||
setRegistryName("endiumingot");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemEndiumNugget extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:endiumnugget")
|
||||
public static final Item block = null;
|
||||
public ItemEndiumNugget(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 37);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:endiumnugget", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 64;
|
||||
setUnlocalizedName("endiumnugget");
|
||||
setRegistryName("endiumnugget");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.common.util.EnumHelper;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemPickaxe;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemEndiumPickaxe extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:endiumpickaxe")
|
||||
public static final Item block = null;
|
||||
public ItemEndiumPickaxe(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 40);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemPickaxe(EnumHelper.addToolMaterial("ENDIUMPICKAXE", 5, 4595, 11f, 2.5f, 25)) {
|
||||
{
|
||||
this.attackSpeed = -3f;
|
||||
}
|
||||
public Set<String> getToolClasses(ItemStack stack) {
|
||||
HashMap<String, Integer> ret = new HashMap<String, Integer>();
|
||||
ret.put("pickaxe", 5);
|
||||
return ret.keySet();
|
||||
}
|
||||
}.setUnlocalizedName("endiumpickaxe").setRegistryName("endiumpickaxe").setCreativeTab(TabPalaDrillMod.tab));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:endiumpickaxe", "inventory"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.common.util.EnumHelper;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemSword;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||
import net.minecraft.entity.ai.attributes.AttributeModifier;
|
||||
import net.minecraft.entity.SharedMonsterAttributes;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.HashMap;
|
||||
|
||||
import com.google.common.collect.Multimap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemEndiumSword extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:endiumsword")
|
||||
public static final Item block = null;
|
||||
public ItemEndiumSword(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 39);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemSword(EnumHelper.addToolMaterial("ENDIUMSWORD", 5, 4595, 11f, 8f, 25)) {
|
||||
@Override
|
||||
public Multimap<String, AttributeModifier> getItemAttributeModifiers(EntityEquipmentSlot slot) {
|
||||
Multimap<String, AttributeModifier> multimap = super.getItemAttributeModifiers(slot);
|
||||
if (slot == EntityEquipmentSlot.MAINHAND) {
|
||||
multimap.put(SharedMonsterAttributes.ATTACK_DAMAGE.getName(),
|
||||
new AttributeModifier(ATTACK_DAMAGE_MODIFIER, "Weapon modifier", (double) this.getAttackDamage(), 0));
|
||||
multimap.put(SharedMonsterAttributes.ATTACK_SPEED.getName(),
|
||||
new AttributeModifier(ATTACK_SPEED_MODIFIER, "Weapon modifier", -2, 0));
|
||||
}
|
||||
return multimap;
|
||||
}
|
||||
|
||||
public Set<String> getToolClasses(ItemStack stack) {
|
||||
HashMap<String, Integer> ret = new HashMap<String, Integer>();
|
||||
ret.put("sword", 5);
|
||||
return ret.keySet();
|
||||
}
|
||||
}.setUnlocalizedName("endiumsword").setRegistryName("endiumsword").setCreativeTab(TabPalaDrillMod.tab));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:endiumsword", "inventory"));
|
||||
}
|
||||
}
|
||||
+110
@@ -0,0 +1,110 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureExtrapolatedBucketRightClickedOnBlock;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumActionResult;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemExtrapolatedBucket extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:extrapolatedbucket")
|
||||
public static final Item block = null;
|
||||
public ItemExtrapolatedBucket(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 58);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:extrapolatedbucket", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(1275);
|
||||
maxStackSize = 1;
|
||||
setUnlocalizedName("extrapolatedbucket");
|
||||
setRegistryName("extrapolatedbucket");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer entity, EnumHand hand) {
|
||||
ActionResult<ItemStack> ar = super.onItemRightClick(world, entity, hand);
|
||||
ItemStack itemstack = ar.getResult();
|
||||
int x = (int) entity.posX;
|
||||
int y = (int) entity.posY;
|
||||
int z = (int) entity.posZ;
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("itemstack", itemstack);
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureExtrapolatedBucketRightClickedOnBlock.executeProcedure($_dependencies);
|
||||
}
|
||||
return ar;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumActionResult onItemUseFirst(EntityPlayer entity, World world, BlockPos pos, EnumFacing direction, float hitX, float hitY,
|
||||
float hitZ, EnumHand hand) {
|
||||
EnumActionResult retval = super.onItemUseFirst(entity, world, pos, direction, hitX, hitY, hitZ, hand);
|
||||
ItemStack itemstack = entity.getHeldItem(hand);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("itemstack", itemstack);
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureExtrapolatedBucketRightClickedOnBlock.executeProcedure($_dependencies);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemFastswordPattern extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:fastswordpattern")
|
||||
public static final Item block = null;
|
||||
public ItemFastswordPattern(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 326);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:fastswordpattern", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 1;
|
||||
setUnlocalizedName("fastswordpattern");
|
||||
setRegistryName("fastswordpattern");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureFikutsiRighClickedOnBlock;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumActionResult;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemFikutsiSeeds extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:fikutsiseeds")
|
||||
public static final Item block = null;
|
||||
public ItemFikutsiSeeds(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 256);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:fikutsiseeds", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 64;
|
||||
setUnlocalizedName("fikutsiseeds");
|
||||
setRegistryName("fikutsiseeds");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumActionResult onItemUseFirst(EntityPlayer entity, World world, BlockPos pos, EnumFacing direction, float hitX, float hitY,
|
||||
float hitZ, EnumHand hand) {
|
||||
EnumActionResult retval = super.onItemUseFirst(entity, world, pos, direction, hitX, hitY, hitZ, hand);
|
||||
ItemStack itemstack = entity.getHeldItem(hand);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureFikutsiRighClickedOnBlock.executeProcedure($_dependencies);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemFindiumGem extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:findiumgem")
|
||||
public static final Item block = null;
|
||||
public ItemFindiumGem(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 47);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:findiumgem", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 64;
|
||||
setUnlocalizedName("findiumgem");
|
||||
setRegistryName("findiumgem");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemGoldMixedCoal extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:gold_mixed_coal")
|
||||
public static final Item block = null;
|
||||
public ItemGoldMixedCoal(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 313);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:gold_mixed_coal", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 64;
|
||||
setUnlocalizedName("gold_mixed_coal");
|
||||
setRegistryName("gold_mixed_coal");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemHammerPattern extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:hammerpattern")
|
||||
public static final Item block = null;
|
||||
public ItemHammerPattern(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 323);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:hammerpattern", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 1;
|
||||
setUnlocalizedName("hammerpattern");
|
||||
setRegistryName("hammerpattern");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureHangGliderRightClickedInAir;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemHangGlider extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:hangglider")
|
||||
public static final Item block = null;
|
||||
public ItemHangGlider(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 70);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:hangglider", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 1;
|
||||
setUnlocalizedName("hangglider");
|
||||
setRegistryName("hangglider");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate(ItemStack itemstack, World world, Entity entity, int slot, boolean par5) {
|
||||
super.onUpdate(itemstack, world, entity, slot, par5);
|
||||
int x = (int) entity.posX;
|
||||
int y = (int) entity.posY;
|
||||
int z = (int) entity.posZ;
|
||||
if (entity instanceof EntityLivingBase && ((EntityLivingBase) entity).getHeldItemMainhand().equals(itemstack)) {
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
ProcedureHangGliderRightClickedInAir.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureHealStickRightClickedInAir;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemHealStick extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:healstick")
|
||||
public static final Item block = null;
|
||||
public ItemHealStick(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 73);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:healstick", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(8);
|
||||
maxStackSize = 1;
|
||||
setUnlocalizedName("healstick");
|
||||
setRegistryName("healstick");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 8;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public boolean hasEffect(ItemStack itemstack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer entity, EnumHand hand) {
|
||||
ActionResult<ItemStack> ar = super.onItemRightClick(world, entity, hand);
|
||||
ItemStack itemstack = ar.getResult();
|
||||
int x = (int) entity.posX;
|
||||
int y = (int) entity.posY;
|
||||
int z = (int) entity.posZ;
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
$_dependencies.put("itemstack", itemstack);
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureHealStickRightClickedInAir.executeProcedure($_dependencies);
|
||||
}
|
||||
return ar;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureHyperJumpStickRightClickedInAir;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemHyperJumpStick extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:hyperjumpstick")
|
||||
public static final Item block = null;
|
||||
public ItemHyperJumpStick(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 75);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:hyperjumpstick", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(8);
|
||||
maxStackSize = 1;
|
||||
setUnlocalizedName("hyperjumpstick");
|
||||
setRegistryName("hyperjumpstick");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 8;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public boolean hasEffect(ItemStack itemstack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer entity, EnumHand hand) {
|
||||
ActionResult<ItemStack> ar = super.onItemRightClick(world, entity, hand);
|
||||
ItemStack itemstack = ar.getResult();
|
||||
int x = (int) entity.posX;
|
||||
int y = (int) entity.posY;
|
||||
int z = (int) entity.posZ;
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
$_dependencies.put("itemstack", itemstack);
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureHyperJumpStickRightClickedInAir.executeProcedure($_dependencies);
|
||||
}
|
||||
return ar;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemIngotPattern extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:ingotpattern")
|
||||
public static final Item block = null;
|
||||
public ItemIngotPattern(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 324);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:ingotpattern", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 1;
|
||||
setUnlocalizedName("ingotpattern");
|
||||
setRegistryName("ingotpattern");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.common.util.EnumHelper;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.item.ItemArmor;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemKisakayArmor extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kisakayarmorhelmet")
|
||||
public static final Item helmet = null;
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kisakayarmorbody")
|
||||
public static final Item body = null;
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kisakayarmorlegs")
|
||||
public static final Item legs = null;
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kisakayarmorboots")
|
||||
public static final Item boots = null;
|
||||
public ItemKisakayArmor(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 296);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
ItemArmor.ArmorMaterial enuma = EnumHelper.addArmorMaterial("KISAKAYARMOR", "paladrillmod:kisakay", 65, new int[]{9, 26, 22, 9}, 39,
|
||||
(net.minecraft.util.SoundEvent) net.minecraft.util.SoundEvent.REGISTRY.getObject(new ResourceLocation("")), 0f);
|
||||
elements.items.add(() -> new ItemArmor(enuma, 0, EntityEquipmentSlot.HEAD).setUnlocalizedName("kisakayarmorhelmet")
|
||||
.setRegistryName("kisakayarmorhelmet").setCreativeTab(TabPalaDrillMod.tab));
|
||||
elements.items.add(() -> new ItemArmor(enuma, 0, EntityEquipmentSlot.CHEST).setUnlocalizedName("kisakayarmorbody")
|
||||
.setRegistryName("kisakayarmorbody").setCreativeTab(TabPalaDrillMod.tab));
|
||||
elements.items.add(() -> new ItemArmor(enuma, 0, EntityEquipmentSlot.LEGS).setUnlocalizedName("kisakayarmorlegs")
|
||||
.setRegistryName("kisakayarmorlegs").setCreativeTab(TabPalaDrillMod.tab));
|
||||
elements.items.add(() -> new ItemArmor(enuma, 0, EntityEquipmentSlot.FEET).setUnlocalizedName("kisakayarmorboots")
|
||||
.setRegistryName("kisakayarmorboots").setCreativeTab(TabPalaDrillMod.tab));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(helmet, 0, new ModelResourceLocation("paladrillmod:kisakayarmorhelmet", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(body, 0, new ModelResourceLocation("paladrillmod:kisakayarmorbody", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(legs, 0, new ModelResourceLocation("paladrillmod:kisakayarmorlegs", "inventory"));
|
||||
ModelLoader.setCustomModelResourceLocation(boots, 0, new ModelResourceLocation("paladrillmod:kisakayarmorboots", "inventory"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.common.util.EnumHelper;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemTool;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemKisakayAxe extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kisakayaxe")
|
||||
public static final Item block = null;
|
||||
public ItemKisakayAxe(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 287);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemToolCustom() {
|
||||
}.setUnlocalizedName("kisakayaxe").setRegistryName("kisakayaxe").setCreativeTab(TabPalaDrillMod.tab));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:kisakayaxe", "inventory"));
|
||||
}
|
||||
private static class ItemToolCustom extends ItemTool {
|
||||
private static final Set<Block> effective_items_set = com.google.common.collect.Sets
|
||||
.newHashSet(new Block[]{Blocks.PLANKS, Blocks.BOOKSHELF, Blocks.LOG, Blocks.LOG2, Blocks.CHEST, Blocks.PUMPKIN, Blocks.LIT_PUMPKIN,
|
||||
Blocks.MELON_BLOCK, Blocks.LADDER, Blocks.WOODEN_BUTTON, Blocks.WOODEN_PRESSURE_PLATE});
|
||||
protected ItemToolCustom() {
|
||||
super(EnumHelper.addToolMaterial("KISAKAYAXE", 9, 1927, 14f, 22f, 60), effective_items_set);
|
||||
this.attackDamage = 22f;
|
||||
this.attackSpeed = -3f;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack stack, IBlockState state) {
|
||||
Material material = state.getMaterial();
|
||||
return material != Material.WOOD && material != Material.PLANTS && material != Material.VINE
|
||||
? super.getDestroySpeed(stack, state)
|
||||
: this.efficiency;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.common.util.EnumHelper;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemHoe;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemKisakayHoe extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kisakayhoe")
|
||||
public static final Item block = null;
|
||||
public ItemKisakayHoe(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 290);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemHoe(EnumHelper.addToolMaterial("KISAKAYHOE", 9, 1927, 14f, 0f, 60)) {
|
||||
public Set<String> getToolClasses(ItemStack stack) {
|
||||
HashMap<String, Integer> ret = new HashMap<String, Integer>();
|
||||
ret.put("hoe", 9);
|
||||
return ret.keySet();
|
||||
}
|
||||
}.setUnlocalizedName("kisakayhoe").setRegistryName("kisakayhoe").setCreativeTab(TabPalaDrillMod.tab));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:kisakayhoe", "inventory"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemKisakayIngot extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kisakayingot")
|
||||
public static final Item block = null;
|
||||
public ItemKisakayIngot(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 282);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:kisakayingot", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 64;
|
||||
setUnlocalizedName("kisakayingot");
|
||||
setRegistryName("kisakayingot");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.common.util.EnumHelper;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemPickaxe;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemKisakayPickaxe extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kisakaypickaxe")
|
||||
public static final Item block = null;
|
||||
public ItemKisakayPickaxe(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 286);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemPickaxe(EnumHelper.addToolMaterial("KISAKAYPICKAXE", 9, 1927, 14f, 5f, 60)) {
|
||||
{
|
||||
this.attackSpeed = -3f;
|
||||
}
|
||||
public Set<String> getToolClasses(ItemStack stack) {
|
||||
HashMap<String, Integer> ret = new HashMap<String, Integer>();
|
||||
ret.put("pickaxe", 9);
|
||||
return ret.keySet();
|
||||
}
|
||||
}.setUnlocalizedName("kisakaypickaxe").setRegistryName("kisakaypickaxe").setCreativeTab(TabPalaDrillMod.tab));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:kisakaypickaxe", "inventory"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.common.util.EnumHelper;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemSpade;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemKisakayShovel extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kisakayshovel")
|
||||
public static final Item block = null;
|
||||
public ItemKisakayShovel(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 289);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemSpade(EnumHelper.addToolMaterial("KISAKAYSHOVEL", 9, 1927, 14f, 5f, 60)) {
|
||||
{
|
||||
this.attackSpeed = -3f;
|
||||
}
|
||||
public Set<String> getToolClasses(ItemStack stack) {
|
||||
HashMap<String, Integer> ret = new HashMap<String, Integer>();
|
||||
ret.put("spade", 9);
|
||||
return ret.keySet();
|
||||
}
|
||||
}.setUnlocalizedName("kisakayshovel").setRegistryName("kisakayshovel").setCreativeTab(CreativeTabs.TOOLS));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:kisakayshovel", "inventory"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.common.util.EnumHelper;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemSword;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||
import net.minecraft.entity.ai.attributes.AttributeModifier;
|
||||
import net.minecraft.entity.SharedMonsterAttributes;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.HashMap;
|
||||
|
||||
import com.google.common.collect.Multimap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemKisakaySword extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kisakaysword")
|
||||
public static final Item block = null;
|
||||
public ItemKisakaySword(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 288);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemSword(EnumHelper.addToolMaterial("KISAKAYSWORD", 9, 1927, 14f, 5f, 60)) {
|
||||
@Override
|
||||
public Multimap<String, AttributeModifier> getItemAttributeModifiers(EntityEquipmentSlot slot) {
|
||||
Multimap<String, AttributeModifier> multimap = super.getItemAttributeModifiers(slot);
|
||||
if (slot == EntityEquipmentSlot.MAINHAND) {
|
||||
multimap.put(SharedMonsterAttributes.ATTACK_DAMAGE.getName(),
|
||||
new AttributeModifier(ATTACK_DAMAGE_MODIFIER, "Weapon modifier", (double) this.getAttackDamage(), 0));
|
||||
multimap.put(SharedMonsterAttributes.ATTACK_SPEED.getName(),
|
||||
new AttributeModifier(ATTACK_SPEED_MODIFIER, "Weapon modifier", -3, 0));
|
||||
}
|
||||
return multimap;
|
||||
}
|
||||
|
||||
public Set<String> getToolClasses(ItemStack stack) {
|
||||
HashMap<String, Integer> ret = new HashMap<String, Integer>();
|
||||
ret.put("sword", 9);
|
||||
return ret.keySet();
|
||||
}
|
||||
}.setUnlocalizedName("kisakaysword").setRegistryName("kisakaysword").setCreativeTab(TabPalaDrillMod.tab));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:kisakaysword", "inventory"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemKiwano extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kiwano")
|
||||
public static final Item block = null;
|
||||
public ItemKiwano(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 60);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:kiwano", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 64;
|
||||
setUnlocalizedName("kiwano");
|
||||
setRegistryName("kiwano");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoRightClickedOnBlock;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumActionResult;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemKiwanoSeeds extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kiwanoseeds")
|
||||
public static final Item block = null;
|
||||
public ItemKiwanoSeeds(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 61);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:kiwanoseeds", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 64;
|
||||
setUnlocalizedName("kiwanoseeds");
|
||||
setRegistryName("kiwanoseeds");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumActionResult onItemUseFirst(EntityPlayer entity, World world, BlockPos pos, EnumFacing direction, float hitX, float hitY,
|
||||
float hitZ, EnumHand hand) {
|
||||
EnumActionResult retval = super.onItemUseFirst(entity, world, pos, direction, hitX, hitY, hitZ, hand);
|
||||
ItemStack itemstack = entity.getHeldItem(hand);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoRightClickedOnBlock.executeProcedure($_dependencies);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
}
|
||||
}
|
||||
+104
@@ -0,0 +1,104 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureLegendaryStoneOfPowerRightClickedInAir;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumActionResult;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemLegendaryStoneOfPower extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:legendarystoneofpower")
|
||||
public static final Item block = null;
|
||||
public ItemLegendaryStoneOfPower(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 265);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:legendarystoneofpower", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 1;
|
||||
setUnlocalizedName("legendarystoneofpower");
|
||||
setRegistryName("legendarystoneofpower");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer entity, EnumHand hand) {
|
||||
ActionResult<ItemStack> ar = super.onItemRightClick(world, entity, hand);
|
||||
ItemStack itemstack = ar.getResult();
|
||||
int x = (int) entity.posX;
|
||||
int y = (int) entity.posY;
|
||||
int z = (int) entity.posZ;
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
$_dependencies.put("itemstack", itemstack);
|
||||
ProcedureLegendaryStoneOfPowerRightClickedInAir.executeProcedure($_dependencies);
|
||||
}
|
||||
return ar;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumActionResult onItemUseFirst(EntityPlayer entity, World world, BlockPos pos, EnumFacing direction, float hitX, float hitY,
|
||||
float hitZ, EnumHand hand) {
|
||||
EnumActionResult retval = super.onItemUseFirst(entity, world, pos, direction, hitX, hitY, hitZ, hand);
|
||||
ItemStack itemstack = entity.getHeldItem(hand);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
$_dependencies.put("itemstack", itemstack);
|
||||
ProcedureLegendaryStoneOfPowerRightClickedInAir.executeProcedure($_dependencies);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
}
|
||||
}
|
||||
+100
@@ -0,0 +1,100 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureLengendaryStoneOfTeleportationRightClickedInAir;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumActionResult;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemLengendaryStoneOfTeleportation extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:lengendarystoneofteleportation")
|
||||
public static final Item block = null;
|
||||
public ItemLengendaryStoneOfTeleportation(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 266);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:lengendarystoneofteleportation", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 1;
|
||||
setUnlocalizedName("lengendarystoneofteleportation");
|
||||
setRegistryName("lengendarystoneofteleportation");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer entity, EnumHand hand) {
|
||||
ActionResult<ItemStack> ar = super.onItemRightClick(world, entity, hand);
|
||||
ItemStack itemstack = ar.getResult();
|
||||
int x = (int) entity.posX;
|
||||
int y = (int) entity.posY;
|
||||
int z = (int) entity.posZ;
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
ProcedureLengendaryStoneOfTeleportationRightClickedInAir.executeProcedure($_dependencies);
|
||||
}
|
||||
return ar;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumActionResult onItemUseFirst(EntityPlayer entity, World world, BlockPos pos, EnumFacing direction, float hitX, float hitY,
|
||||
float hitZ, EnumHand hand) {
|
||||
EnumActionResult retval = super.onItemUseFirst(entity, world, pos, direction, hitX, hitY, hitZ, hand);
|
||||
ItemStack itemstack = entity.getHeldItem(hand);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
ProcedureLengendaryStoneOfTeleportationRightClickedInAir.executeProcedure($_dependencies);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemOkamiFruit extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:okamifruit")
|
||||
public static final Item block = null;
|
||||
public ItemOkamiFruit(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 269);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:okamifruit", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 64;
|
||||
setUnlocalizedName("okamifruit");
|
||||
setRegistryName("okamifruit");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
|
||||
package net.paladrill.paladrillmod.item;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOkamiRightClickedOnBlock;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumActionResult;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class ItemOkamiSeeds extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:okamiseeds")
|
||||
public static final Item block = null;
|
||||
public ItemOkamiSeeds(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 268);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.items.add(() -> new ItemCustom());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:okamiseeds", "inventory"));
|
||||
}
|
||||
public static class ItemCustom extends Item {
|
||||
public ItemCustom() {
|
||||
setMaxDamage(0);
|
||||
maxStackSize = 64;
|
||||
setUnlocalizedName("okamiseeds");
|
||||
setRegistryName("okamiseeds");
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack itemstack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
|
||||
return 1F;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumActionResult onItemUseFirst(EntityPlayer entity, World world, BlockPos pos, EnumFacing direction, float hitX, float hitY,
|
||||
float hitZ, EnumHand hand) {
|
||||
EnumActionResult retval = super.onItemUseFirst(entity, world, pos, direction, hitX, hitY, hitZ, hand);
|
||||
ItemStack itemstack = entity.getHeldItem(hand);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOkamiRightClickedOnBlock.executeProcedure($_dependencies);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user