Compare commits
29 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
07eb70aed5 | ||
|
|
d9ab1f3d60 | ||
|
|
ed4449aa45 | ||
|
|
48b0e03340 | ||
|
|
8436abe222 | ||
|
|
5b27cb8ec6 | ||
|
|
fa2e013a4b | ||
|
|
a9bdc384b9 | ||
|
|
f3a3843dc8 | ||
|
|
063a34ef5c | ||
|
|
592bee78b8 | ||
|
|
32a837eb39 | ||
|
|
acd0f06e4f | ||
|
|
f4ae211a6a | ||
|
|
a4fcb39cb6 | ||
|
|
ac4a3d6a14 | ||
|
|
9a38b115b7 | ||
|
|
28b7fdc124 | ||
|
|
a757659d68 | ||
|
|
295310b603 | ||
|
|
780faaeca3 | ||
|
|
a1c4313e50 | ||
|
|
07b882da12 | ||
|
|
20294c004d | ||
|
|
0bad034983 | ||
|
|
d5ff19cdc2 | ||
|
|
1036890e39 | ||
|
|
95b56d78a8 | ||
|
|
f60ee55fbe |
|
|
@ -24,16 +24,14 @@ compileJava {
|
||||||
}
|
}
|
||||||
|
|
||||||
minecraft {
|
minecraft {
|
||||||
version = "1.11.2-13.20.1.2386"
|
version = "1.10.2-12.18.3.2185"
|
||||||
runDir = "run"
|
runDir = "run"
|
||||||
|
|
||||||
mappings = "snapshot_20161220"
|
mappings = "snapshot_20161111"
|
||||||
// makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
|
// makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
|
|
||||||
maven { url 'http://maven.epoxide.org' }
|
|
||||||
|
|
||||||
ivy {
|
ivy {
|
||||||
name "LatMod"
|
name "LatMod"
|
||||||
|
|
@ -45,7 +43,6 @@ repositories {
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
|
||||||
deobfCompile "net.darkhax.gamestages:GameStages-1.11.2:1.0.11"
|
|
||||||
|
|
||||||
deobfCompile "LatMod:FTBUtilities:1.1x-3.6.5"
|
deobfCompile "LatMod:FTBUtilities:1.1x-3.6.5"
|
||||||
deobfCompile "LatMod:FTBLib:1.1x-3.6.5"
|
deobfCompile "LatMod:FTBLib:1.1x-3.6.5"
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ import tschipp.carryon.common.command.CommandCarryOn;
|
||||||
import tschipp.carryon.common.command.CommandCarryOnReload;
|
import tschipp.carryon.common.command.CommandCarryOnReload;
|
||||||
|
|
||||||
@EventBusSubscriber
|
@EventBusSubscriber
|
||||||
@Mod(modid = CarryOn.MODID, name = CarryOn.NAME, version = CarryOn.VERSION, guiFactory = "tschipp.carryon.client.gui.GuiFactoryCarryOn", dependencies = "required-after:forge@[13.20.1.2386,)", updateJSON = CarryOn.UPDATE_JSON, acceptedMinecraftVersions = CarryOn.ACCEPTED_VERSIONS)
|
@Mod(modid = CarryOn.MODID, name = CarryOn.NAME, version = CarryOn.VERSION, guiFactory = "tschipp.carryon.client.gui.GuiFactoryCarryOn", updateJSON = CarryOn.UPDATE_JSON, acceptedMinecraftVersions = CarryOn.ACCEPTED_VERSIONS)
|
||||||
public class CarryOn {
|
public class CarryOn {
|
||||||
|
|
||||||
@SidedProxy(clientSide = "tschipp.carryon.client.ClientProxy", serverSide = "tschipp.carryon.common.CommonProxy")
|
@SidedProxy(clientSide = "tschipp.carryon.client.ClientProxy", serverSide = "tschipp.carryon.common.CommonProxy")
|
||||||
|
|
@ -36,7 +36,7 @@ public class CarryOn {
|
||||||
public static final String MODID = "carryon";
|
public static final String MODID = "carryon";
|
||||||
public static final String VERSION = "1.9.1";
|
public static final String VERSION = "1.9.1";
|
||||||
public static final String NAME = "Carry On";
|
public static final String NAME = "Carry On";
|
||||||
public static final String ACCEPTED_VERSIONS = "[1.11,1.12)";
|
public static final String ACCEPTED_VERSIONS = "[1.10,1.11)";
|
||||||
public static final String UPDATE_JSON = "https://gist.githubusercontent.com/Tschipp/dccadee7c90d7a34e6e76a35d9d6fa2e/raw/";
|
public static final String UPDATE_JSON = "https://gist.githubusercontent.com/Tschipp/dccadee7c90d7a34e6e76a35d9d6fa2e/raw/";
|
||||||
public static final Logger LOGGER = LogManager.getFormatterLogger("CarryOn");
|
public static final Logger LOGGER = LogManager.getFormatterLogger("CarryOn");
|
||||||
public static File CONFIGURATION_FILE;
|
public static File CONFIGURATION_FILE;
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,10 @@ import java.lang.reflect.Field;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.client.entity.AbstractClientPlayer;
|
||||||
import net.minecraft.client.entity.EntityPlayerSP;
|
import net.minecraft.client.entity.EntityPlayerSP;
|
||||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||||
|
import net.minecraft.client.model.ModelPlayer;
|
||||||
import net.minecraft.client.renderer.GlStateManager;
|
import net.minecraft.client.renderer.GlStateManager;
|
||||||
import net.minecraft.client.renderer.OpenGlHelper;
|
import net.minecraft.client.renderer.OpenGlHelper;
|
||||||
import net.minecraft.client.renderer.RenderHelper;
|
import net.minecraft.client.renderer.RenderHelper;
|
||||||
|
|
@ -49,9 +51,8 @@ public class RenderEntityEvents
|
||||||
{
|
{
|
||||||
if (event.getDwheel() > 0 || event.getDwheel() < 0 || Minecraft.getMinecraft().gameSettings.keyBindPickBlock.isPressed())
|
if (event.getDwheel() > 0 || event.getDwheel() < 0 || Minecraft.getMinecraft().gameSettings.keyBindPickBlock.isPressed())
|
||||||
{
|
{
|
||||||
ItemStack stack = Minecraft.getMinecraft().player.getHeldItemMainhand();
|
ItemStack stack = Minecraft.getMinecraft().thePlayer.getHeldItemMainhand();
|
||||||
|
if (stack == null ? false : (stack.getItem() == RegistrationHandler.itemEntity))
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity)
|
|
||||||
{
|
{
|
||||||
if (ItemEntity.hasEntityData(stack))
|
if (ItemEntity.hasEntityData(stack))
|
||||||
{
|
{
|
||||||
|
|
@ -71,15 +72,13 @@ public class RenderEntityEvents
|
||||||
if (event.getGui() != null)
|
if (event.getGui() != null)
|
||||||
{
|
{
|
||||||
boolean inventory = event.getGui() instanceof GuiContainer;
|
boolean inventory = event.getGui() instanceof GuiContainer;
|
||||||
EntityPlayer player = Minecraft.getMinecraft().player;
|
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
|
||||||
|
|
||||||
if (player != null && inventory)
|
if (player != null && inventory)
|
||||||
{
|
{
|
||||||
ItemStack stack = player.getHeldItem(EnumHand.MAIN_HAND);
|
ItemStack stack = player.getHeldItem(EnumHand.MAIN_HAND);
|
||||||
|
if (inventory && (stack != null ? stack.getItem() == RegistrationHandler.itemEntity && ItemEntity.hasEntityData(stack) : false))
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity && ItemEntity.hasEntityData(stack))
|
|
||||||
{
|
{
|
||||||
Minecraft.getMinecraft().player.closeScreen();
|
Minecraft.getMinecraft().thePlayer.closeScreen();
|
||||||
Minecraft.getMinecraft().currentScreen = null;
|
Minecraft.getMinecraft().currentScreen = null;
|
||||||
Minecraft.getMinecraft().setIngameFocus();
|
Minecraft.getMinecraft().setIngameFocus();
|
||||||
|
|
||||||
|
|
@ -98,10 +97,9 @@ public class RenderEntityEvents
|
||||||
GameSettings settings = Minecraft.getMinecraft().gameSettings;
|
GameSettings settings = Minecraft.getMinecraft().gameSettings;
|
||||||
Field field = KeyBinding.class.getDeclaredFields()[7];
|
Field field = KeyBinding.class.getDeclaredFields()[7];
|
||||||
field.setAccessible(true);
|
field.setAccessible(true);
|
||||||
ItemStack stack = Minecraft.getMinecraft().player.getHeldItemMainhand();
|
ItemStack stack = Minecraft.getMinecraft().thePlayer.getHeldItemMainhand();
|
||||||
EntityPlayer player = Minecraft.getMinecraft().player;
|
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
|
||||||
|
if (stack != null ? (stack.getItem() == RegistrationHandler.itemEntity && ItemEntity.hasEntityData(stack)) : false)
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity && ItemEntity.hasEntityData(stack))
|
|
||||||
{
|
{
|
||||||
if (settings.keyBindDrop.isPressed())
|
if (settings.keyBindDrop.isPressed())
|
||||||
{
|
{
|
||||||
|
|
@ -135,13 +133,15 @@ public class RenderEntityEvents
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void renderHand(RenderHandEvent event)
|
public void renderHand(RenderHandEvent event)
|
||||||
{
|
{
|
||||||
World world = Minecraft.getMinecraft().world;
|
|
||||||
EntityPlayer player = Minecraft.getMinecraft().player;
|
World world = Minecraft.getMinecraft().theWorld;
|
||||||
|
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
|
||||||
|
AbstractClientPlayer aplayer = (AbstractClientPlayer) player;
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getHeldItemMainhand();
|
||||||
int perspective = Minecraft.getMinecraft().gameSettings.thirdPersonView;
|
int perspective = Minecraft.getMinecraft().gameSettings.thirdPersonView;
|
||||||
float partialticks = event.getPartialTicks();
|
float partialticks = event.getPartialTicks();
|
||||||
|
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity && ItemEntity.hasEntityData(stack))
|
if (stack != null ? (stack.getItem() == RegistrationHandler.itemEntity && ItemEntity.hasEntityData(stack)) : false)
|
||||||
{
|
{
|
||||||
if(Loader.isModLoaded("realrender") || Loader.isModLoaded("rfpr"))
|
if(Loader.isModLoaded("realrender") || Loader.isModLoaded("rfpr"))
|
||||||
return;
|
return;
|
||||||
|
|
@ -182,7 +182,7 @@ public class RenderEntityEvents
|
||||||
String entityname = carryOverride.getRenderNameEntity();
|
String entityname = carryOverride.getRenderNameEntity();
|
||||||
if (entityname != null)
|
if (entityname != null)
|
||||||
{
|
{
|
||||||
Entity newEntity = EntityList.createEntityByIDFromName(new ResourceLocation(entityname), world);
|
Entity newEntity = EntityList.createEntityByName(entityname, world);
|
||||||
if (newEntity != null)
|
if (newEntity != null)
|
||||||
{
|
{
|
||||||
NBTTagCompound nbttag = carryOverride.getRenderNBT();
|
NBTTagCompound nbttag = carryOverride.getRenderNBT();
|
||||||
|
|
@ -237,7 +237,7 @@ public class RenderEntityEvents
|
||||||
}
|
}
|
||||||
|
|
||||||
float f = entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw);
|
float f = entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw);
|
||||||
int i = this.getBrightnessForRender(entity, Minecraft.getMinecraft().player);
|
int i = this.getBrightnessForRender(entity, Minecraft.getMinecraft().thePlayer);
|
||||||
|
|
||||||
if (entity.isBurning())
|
if (entity.isBurning())
|
||||||
{
|
{
|
||||||
|
|
@ -260,12 +260,12 @@ public class RenderEntityEvents
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
private int getBrightnessForRender(Entity entity, EntityPlayer player)
|
private int getBrightnessForRender(Entity entity, EntityPlayer player)
|
||||||
{
|
{
|
||||||
BlockPos.MutableBlockPos blockpos$mutableblockpos = new BlockPos.MutableBlockPos(MathHelper.floor(player.posX), 0, MathHelper.floor(player.posZ));
|
BlockPos.MutableBlockPos blockpos$mutableblockpos = new BlockPos.MutableBlockPos(MathHelper.floor_double(player.posX), 0, MathHelper.floor_double(player.posZ));
|
||||||
|
|
||||||
if (entity.world.isBlockLoaded(blockpos$mutableblockpos))
|
if (entity.worldObj.isBlockLoaded(blockpos$mutableblockpos))
|
||||||
{
|
{
|
||||||
blockpos$mutableblockpos.setY(MathHelper.floor(player.posY + entity.getEyeHeight()));
|
blockpos$mutableblockpos.setY(MathHelper.floor_double(player.posY + entity.getEyeHeight()));
|
||||||
return entity.world.getCombinedLight(blockpos$mutableblockpos, 0);
|
return entity.worldObj.getCombinedLight(blockpos$mutableblockpos, 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -297,14 +297,13 @@ public class RenderEntityEvents
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onPlayerRenderPost(RenderPlayerEvent.Post event)
|
public void onPlayerRenderPost(RenderPlayerEvent.Post event)
|
||||||
{
|
{
|
||||||
World world = Minecraft.getMinecraft().world;
|
World world = Minecraft.getMinecraft().theWorld;
|
||||||
EntityPlayer player = event.getEntityPlayer();
|
EntityPlayer player = event.getEntityPlayer();
|
||||||
event.getRenderer().getMainModel();
|
ModelPlayer modelPlayer = event.getRenderer().getMainModel();
|
||||||
EntityPlayerSP clientPlayer = Minecraft.getMinecraft().player;
|
EntityPlayerSP clientPlayer = Minecraft.getMinecraft().thePlayer;
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getHeldItemMainhand();
|
||||||
float partialticks = event.getPartialRenderTick();
|
float partialticks = event.getPartialRenderTick();
|
||||||
|
if (stack != null ? stack.getItem() == RegistrationHandler.itemEntity && ItemEntity.hasEntityData(stack) : false)
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity && ItemEntity.hasEntityData(stack))
|
|
||||||
{
|
{
|
||||||
Entity entity = ItemEntity.getEntity(stack, world);
|
Entity entity = ItemEntity.getEntity(stack, world);
|
||||||
float rotation = -(player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * partialticks);
|
float rotation = -(player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * partialticks);
|
||||||
|
|
@ -357,7 +356,7 @@ public class RenderEntityEvents
|
||||||
String entityname = carryOverride.getRenderNameEntity();
|
String entityname = carryOverride.getRenderNameEntity();
|
||||||
if (entityname != null)
|
if (entityname != null)
|
||||||
{
|
{
|
||||||
Entity newEntity = EntityList.createEntityByIDFromName(new ResourceLocation(entityname), world);
|
Entity newEntity = EntityList.createEntityByName(entityname, world);
|
||||||
if (newEntity != null)
|
if (newEntity != null)
|
||||||
{
|
{
|
||||||
NBTTagCompound nbttag = carryOverride.getRenderNBT();
|
NBTTagCompound nbttag = carryOverride.getRenderNBT();
|
||||||
|
|
|
||||||
|
|
@ -71,9 +71,8 @@ public class RenderEvents
|
||||||
{
|
{
|
||||||
if (event.getDwheel() > 0 || event.getDwheel() < 0 || Minecraft.getMinecraft().gameSettings.keyBindPickBlock.isPressed())
|
if (event.getDwheel() > 0 || event.getDwheel() < 0 || Minecraft.getMinecraft().gameSettings.keyBindPickBlock.isPressed())
|
||||||
{
|
{
|
||||||
ItemStack stack = Minecraft.getMinecraft().player.getHeldItemMainhand();
|
ItemStack stack = Minecraft.getMinecraft().thePlayer.getHeldItemMainhand();
|
||||||
|
if (stack == null ? false : stack.getItem() == RegistrationHandler.itemTile)
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile)
|
|
||||||
{
|
{
|
||||||
if (ItemTile.hasTileData(stack))
|
if (ItemTile.hasTileData(stack))
|
||||||
{
|
{
|
||||||
|
|
@ -117,15 +116,13 @@ public class RenderEvents
|
||||||
if (event.getGui() != null)
|
if (event.getGui() != null)
|
||||||
{
|
{
|
||||||
boolean inventory = event.getGui() instanceof GuiContainer;
|
boolean inventory = event.getGui() instanceof GuiContainer;
|
||||||
EntityPlayer player = Minecraft.getMinecraft().player;
|
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
|
||||||
|
|
||||||
if (player != null && inventory)
|
if (player != null && inventory)
|
||||||
{
|
{
|
||||||
ItemStack stack = player.getHeldItem(EnumHand.MAIN_HAND);
|
ItemStack stack = player.getHeldItem(EnumHand.MAIN_HAND);
|
||||||
|
if (inventory && (stack != null ? stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack) : false))
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack))
|
|
||||||
{
|
{
|
||||||
Minecraft.getMinecraft().player.closeScreen();
|
Minecraft.getMinecraft().thePlayer.closeScreen();
|
||||||
Minecraft.getMinecraft().currentScreen = null;
|
Minecraft.getMinecraft().currentScreen = null;
|
||||||
Minecraft.getMinecraft().setIngameFocus();
|
Minecraft.getMinecraft().setIngameFocus();
|
||||||
|
|
||||||
|
|
@ -144,10 +141,9 @@ public class RenderEvents
|
||||||
GameSettings settings = Minecraft.getMinecraft().gameSettings;
|
GameSettings settings = Minecraft.getMinecraft().gameSettings;
|
||||||
Field field = KeyBinding.class.getDeclaredFields()[7];
|
Field field = KeyBinding.class.getDeclaredFields()[7];
|
||||||
field.setAccessible(true);
|
field.setAccessible(true);
|
||||||
ItemStack stack = Minecraft.getMinecraft().player.getHeldItemMainhand();
|
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
|
||||||
EntityPlayer player = Minecraft.getMinecraft().player;
|
ItemStack stack = Minecraft.getMinecraft().thePlayer.getHeldItemMainhand();
|
||||||
|
if (stack != null ? stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack) : false)
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack))
|
|
||||||
{
|
{
|
||||||
if (settings.keyBindDrop.isPressed())
|
if (settings.keyBindDrop.isPressed())
|
||||||
{
|
{
|
||||||
|
|
@ -181,14 +177,14 @@ public class RenderEvents
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void renderHand(RenderHandEvent event)
|
public void renderHand(RenderHandEvent event)
|
||||||
{
|
{
|
||||||
World world = Minecraft.getMinecraft().world;
|
World world = Minecraft.getMinecraft().theWorld;
|
||||||
EntityPlayer player = Minecraft.getMinecraft().player;
|
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
|
||||||
AbstractClientPlayer aplayer = (AbstractClientPlayer) player;
|
AbstractClientPlayer aplayer = (AbstractClientPlayer) player;
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getHeldItemMainhand();
|
||||||
int perspective = Minecraft.getMinecraft().gameSettings.thirdPersonView;
|
int perspective = Minecraft.getMinecraft().gameSettings.thirdPersonView;
|
||||||
boolean f1 = Minecraft.getMinecraft().gameSettings.hideGUI;
|
boolean f1 = Minecraft.getMinecraft().gameSettings.hideGUI;
|
||||||
|
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack) && perspective == 0 && !f1)
|
if ((stack != null ? stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack) : false) && !f1 && perspective == 0)
|
||||||
{
|
{
|
||||||
if (Loader.isModLoaded("realrender") || Loader.isModLoaded("rfpr"))
|
if (Loader.isModLoaded("realrender") || Loader.isModLoaded("rfpr"))
|
||||||
return;
|
return;
|
||||||
|
|
@ -236,12 +232,12 @@ public class RenderEvents
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int i = this.getBrightnessForRender(Minecraft.getMinecraft().player);
|
int i = this.getBrightnessForRender(Minecraft.getMinecraft().thePlayer);
|
||||||
int j = i % 65536;
|
int j = i % 65536;
|
||||||
int k = i / 65536;
|
int k = i / 65536;
|
||||||
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, j, k);
|
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, j, k);
|
||||||
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
|
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||||
this.setLightmapDisabled(false);
|
this.setLightmapDisabled(false);
|
||||||
|
|
||||||
Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
|
Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
|
||||||
|
|
||||||
|
|
@ -256,12 +252,12 @@ public class RenderEvents
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Minecraft.getMinecraft().getRenderItem().renderItem(tileStack.isEmpty() ? stack : tileStack, model);
|
Minecraft.getMinecraft().getRenderItem().renderItem(tileStack == null ? stack : tileStack, model);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Minecraft.getMinecraft().getRenderItem().renderItem(tileStack.isEmpty() ? stack : tileStack, model);
|
Minecraft.getMinecraft().getRenderItem().renderItem(tileStack == null ? stack : tileStack, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.setLightmapDisabled(true);
|
this.setLightmapDisabled(true);
|
||||||
|
|
@ -277,7 +273,7 @@ public class RenderEvents
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (stack.isEmpty() ? true : stack.getItem() != RegistrationHandler.itemEntity)
|
if (stack == null ? true : stack.getItem() != RegistrationHandler.itemEntity)
|
||||||
{
|
{
|
||||||
event.setCanceled(false);
|
event.setCanceled(false);
|
||||||
Minecraft mc = Minecraft.getMinecraft();
|
Minecraft mc = Minecraft.getMinecraft();
|
||||||
|
|
@ -302,12 +298,12 @@ public class RenderEvents
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
private int getBrightnessForRender(EntityPlayer player)
|
private int getBrightnessForRender(EntityPlayer player)
|
||||||
{
|
{
|
||||||
BlockPos.MutableBlockPos blockpos$mutableblockpos = new BlockPos.MutableBlockPos(MathHelper.floor(player.posX), 0, MathHelper.floor(player.posZ));
|
BlockPos.MutableBlockPos blockpos$mutableblockpos = new BlockPos.MutableBlockPos(MathHelper.floor_double(player.posX), 0, MathHelper.floor_double(player.posZ));
|
||||||
|
|
||||||
if (player.world.isBlockLoaded(blockpos$mutableblockpos))
|
if (player.worldObj.isBlockLoaded(blockpos$mutableblockpos))
|
||||||
{
|
{
|
||||||
blockpos$mutableblockpos.setY(MathHelper.floor(player.posY + player.getEyeHeight()));
|
blockpos$mutableblockpos.setY(MathHelper.floor_double(player.posY + player.getEyeHeight()));
|
||||||
return player.world.getCombinedLight(blockpos$mutableblockpos, 0);
|
return player.worldObj.getCombinedLight(blockpos$mutableblockpos, 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -339,13 +335,13 @@ public class RenderEvents
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onPlayerRenderPost(RenderPlayerEvent.Post event)
|
public void onPlayerRenderPost(RenderPlayerEvent.Post event)
|
||||||
{
|
{
|
||||||
World world = Minecraft.getMinecraft().world;
|
World world = Minecraft.getMinecraft().theWorld;
|
||||||
EntityPlayer player = event.getEntityPlayer();
|
EntityPlayer player = event.getEntityPlayer();
|
||||||
EntityPlayerSP clientPlayer = Minecraft.getMinecraft().player;
|
ModelPlayer modelPlayer = event.getRenderer().getMainModel();
|
||||||
|
EntityPlayerSP clientPlayer = Minecraft.getMinecraft().thePlayer;
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getHeldItemMainhand();
|
||||||
float partialticks = event.getPartialRenderTick();
|
float partialticks = event.getPartialRenderTick();
|
||||||
|
if (stack != null ? stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack) : false)
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack))
|
|
||||||
{
|
{
|
||||||
Block block = ItemTile.getBlock(stack);
|
Block block = ItemTile.getBlock(stack);
|
||||||
IBlockState state = ItemTile.getBlockState(stack);
|
IBlockState state = ItemTile.getBlockState(stack);
|
||||||
|
|
@ -390,7 +386,7 @@ public class RenderEvents
|
||||||
GlStateManager.translate(0, -0.3, 0);
|
GlStateManager.translate(0, -0.3, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
IBakedModel model = ModelOverridesHandler.hasCustomOverrideModel(state, tag) ? ModelOverridesHandler.getCustomOverrideModel(state, tag, world, player) : Minecraft.getMinecraft().getRenderItem().getItemModelWithOverrides(tileItem, world, player);
|
IBakedModel model = ModelOverridesHandler.hasCustomOverrideModel(state, tag) ? ModelOverridesHandler.getCustomOverrideModel(state, tag, world, player) : Minecraft.getMinecraft().getRenderItem().getItemModelWithOverrides(tileItem == null ? stack : tileItem, world, player);
|
||||||
|
|
||||||
CarryOnOverride carryOverride = ScriptChecker.getOverride(player);
|
CarryOnOverride carryOverride = ScriptChecker.getOverride(player);
|
||||||
if (carryOverride != null)
|
if (carryOverride != null)
|
||||||
|
|
@ -426,14 +422,13 @@ public class RenderEvents
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Minecraft.getMinecraft().getRenderItem().renderItem(tileItem.isEmpty() ? stack : tileItem, model);
|
Minecraft.getMinecraft().getRenderItem().renderItem(tileItem == null ? stack : tileItem, model);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Minecraft.getMinecraft().getRenderItem().renderItem(tileItem.isEmpty() ? stack : tileItem, model);
|
Minecraft.getMinecraft().getRenderItem().renderItem(tileItem == null ? stack : tileItem, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
GlStateManager.scale(1, 1, 1);
|
GlStateManager.scale(1, 1, 1);
|
||||||
GlStateManager.popMatrix();
|
GlStateManager.popMatrix();
|
||||||
}
|
}
|
||||||
|
|
@ -452,12 +447,14 @@ public class RenderEvents
|
||||||
AbstractClientPlayer aplayer = (AbstractClientPlayer) player;
|
AbstractClientPlayer aplayer = (AbstractClientPlayer) player;
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getHeldItemMainhand();
|
||||||
ModelPlayer model = event.getRenderer().getMainModel();
|
ModelPlayer model = event.getRenderer().getMainModel();
|
||||||
|
EntityPlayerSP clientPlayer = Minecraft.getMinecraft().thePlayer;
|
||||||
|
|
||||||
ResourceLocation skinLoc = DefaultPlayerSkin.getDefaultSkin(player.getPersistentID());
|
ResourceLocation skinLoc = DefaultPlayerSkin.getDefaultSkin(player.getPersistentID());
|
||||||
|
|
||||||
if (!initModels)
|
if (!initModels)
|
||||||
{
|
{
|
||||||
this.fakeLeftArm = new ModelRenderer(model, 32, 48);
|
|
||||||
this.fakeRightArm = new ModelRenderer(model, 40, 16);
|
this.fakeRightArm = new ModelRenderer(model, 40, 16);
|
||||||
|
this.fakeLeftArm = new ModelRenderer(model, 32, 48);
|
||||||
this.fakeLeftArmwear = new ModelRenderer(model, 48, 48);
|
this.fakeLeftArmwear = new ModelRenderer(model, 48, 48);
|
||||||
this.fakeRightArmwear = new ModelRenderer(model, 40, 32);
|
this.fakeRightArmwear = new ModelRenderer(model, 40, 32);
|
||||||
initModels = true;
|
initModels = true;
|
||||||
|
|
@ -465,7 +462,7 @@ public class RenderEvents
|
||||||
|
|
||||||
player.setArrowCountInEntity(0); // TODO Temporary Fix
|
player.setArrowCountInEntity(0); // TODO Temporary Fix
|
||||||
|
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack) || stack.getItem() == RegistrationHandler.itemEntity && ItemEntity.hasEntityData(stack))
|
if (stack != null ? ((stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack)) || (stack.getItem() == RegistrationHandler.itemEntity && ItemEntity.hasEntityData(stack))) : false)
|
||||||
{
|
{
|
||||||
CarryOnOverride overrider = ScriptChecker.getOverride(player);
|
CarryOnOverride overrider = ScriptChecker.getOverride(player);
|
||||||
if (overrider != null)
|
if (overrider != null)
|
||||||
|
|
@ -783,7 +780,7 @@ public class RenderEvents
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (stack.isEmpty() || stack.getItem() != RegistrationHandler.itemTile && stack.getItem() != RegistrationHandler.itemEntity)
|
if (stack == null || (stack != null && stack.getItem() != RegistrationHandler.itemTile && stack.getItem() != RegistrationHandler.itemEntity))
|
||||||
{
|
{
|
||||||
model.bipedLeftArm.isHidden = false;
|
model.bipedLeftArm.isHidden = false;
|
||||||
model.bipedRightArm.isHidden = false;
|
model.bipedRightArm.isHidden = false;
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ public class GuiFactoryCarryOn implements IModGuiFactory
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
@Override
|
@Override
|
||||||
public boolean hasConfigGui()
|
public boolean hasConfigGui()
|
||||||
{
|
{
|
||||||
|
|
@ -40,7 +41,7 @@ public class GuiFactoryCarryOn implements IModGuiFactory
|
||||||
{
|
{
|
||||||
|
|
||||||
return new GuiConfigCarryOn(parentScreen);
|
return new GuiConfigCarryOn(parentScreen);
|
||||||
}
|
} */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ public class PositionClientEvents
|
||||||
{
|
{
|
||||||
if (event.getGui() != null)
|
if (event.getGui() != null)
|
||||||
{
|
{
|
||||||
EntityPlayer player = Minecraft.getMinecraft().player;
|
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
|
||||||
boolean inventory = event.getGui() instanceof GuiContainer;
|
boolean inventory = event.getGui() instanceof GuiContainer;
|
||||||
|
|
||||||
if (player != null && inventory)
|
if (player != null && inventory)
|
||||||
|
|
@ -34,7 +34,7 @@ public class PositionClientEvents
|
||||||
IPosition cap = player.getCapability(PositionProvider.POSITION_CAPABILITY, null);
|
IPosition cap = player.getCapability(PositionProvider.POSITION_CAPABILITY, null);
|
||||||
if(cap.isBlockActivated())
|
if(cap.isBlockActivated())
|
||||||
{
|
{
|
||||||
World world = player.world;
|
World world = player.worldObj;
|
||||||
BlockPos pos = cap.getPos();
|
BlockPos pos = cap.getPos();
|
||||||
if(world != null)
|
if(world != null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@ import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.text.TextComponentString;
|
import net.minecraft.util.text.TextComponentString;
|
||||||
import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint;
|
import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint;
|
||||||
import tschipp.carryon.CarryOn;
|
import tschipp.carryon.CarryOn;
|
||||||
import tschipp.carryon.common.handler.CustomPickupOverrideHandler;
|
|
||||||
import tschipp.carryon.common.handler.ModelOverridesHandler;
|
import tschipp.carryon.common.handler.ModelOverridesHandler;
|
||||||
import tschipp.carryon.common.handler.RegistrationHandler;
|
import tschipp.carryon.common.handler.RegistrationHandler;
|
||||||
import tschipp.carryon.common.item.ItemEntity;
|
import tschipp.carryon.common.item.ItemEntity;
|
||||||
|
|
@ -39,27 +38,29 @@ public class CommandCarryOn extends CommandBase implements ICommand
|
||||||
@Override
|
@Override
|
||||||
public int compareTo(ICommand o)
|
public int compareTo(ICommand o)
|
||||||
{
|
{
|
||||||
return this.getName().compareTo(o.getName());
|
return this.getCommandName().compareTo(o.getCommandName());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getName()
|
public String getCommandName()
|
||||||
{
|
{
|
||||||
return "carryon";
|
return "carryon";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getUsage(ICommandSender sender)
|
public String getCommandUsage(ICommandSender sender)
|
||||||
{
|
{
|
||||||
|
|
||||||
return "/carryon <mode>";
|
return "/carryon <mode>";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> getAliases()
|
public List<String> getCommandAliases()
|
||||||
{
|
{
|
||||||
return this.names;
|
return this.names;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException
|
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException
|
||||||
|
|
@ -80,9 +81,9 @@ public class CommandCarryOn extends CommandBase implements ICommand
|
||||||
CarryOn.network.sendTo(new CarrySlotPacket(9, player.getEntityId()), (EntityPlayerMP) player);
|
CarryOn.network.sendTo(new CarrySlotPacket(9, player.getEntityId()), (EntityPlayerMP) player);
|
||||||
|
|
||||||
if (cleared != 1)
|
if (cleared != 1)
|
||||||
player.sendMessage(new TextComponentString("Cleared " + cleared + " Items!"));
|
player.addChatMessage(new TextComponentString("Cleared " + cleared + " Items!"));
|
||||||
else
|
else
|
||||||
player.sendMessage(new TextComponentString("Cleared " + cleared + " Item!"));
|
player.addChatMessage(new TextComponentString("Cleared " + cleared + " Item!"));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -94,58 +95,47 @@ public class CommandCarryOn extends CommandBase implements ICommand
|
||||||
{
|
{
|
||||||
EntityPlayer player = (EntityPlayer) sender;
|
EntityPlayer player = (EntityPlayer) sender;
|
||||||
ItemStack main = player.getHeldItemMainhand();
|
ItemStack main = player.getHeldItemMainhand();
|
||||||
if (!main.isEmpty() && main.getItem() == RegistrationHandler.itemTile)
|
if (main != null && main.getItem() == RegistrationHandler.itemTile)
|
||||||
{
|
{
|
||||||
player.sendMessage(new TextComponentString("Block: " + ItemTile.getBlock(main)));
|
player.addChatMessage(new TextComponentString("Block: " + ItemTile.getBlock(main)));
|
||||||
player.sendMessage(new TextComponentString("BlockState: " + ItemTile.getBlockState(main)));
|
player.addChatMessage(new TextComponentString("BlockState: " + ItemTile.getBlockState(main)));
|
||||||
player.sendMessage(new TextComponentString("Meta: " + ItemTile.getMeta(main)));
|
player.addChatMessage(new TextComponentString("Meta: " + ItemTile.getMeta(main)));
|
||||||
player.sendMessage(new TextComponentString("ItemStack: " + ItemTile.getItemStack(main)));
|
player.addChatMessage(new TextComponentString("ItemStack: " + ItemTile.getItemStack(main)));
|
||||||
|
|
||||||
if(ModelOverridesHandler.hasCustomOverrideModel(ItemTile.getBlockState(main), ItemTile.getTileData(main)))
|
if(ModelOverridesHandler.hasCustomOverrideModel(ItemTile.getBlockState(main), ItemTile.getTileData(main)))
|
||||||
player.sendMessage(new TextComponentString("Override Model: " + ModelOverridesHandler.getOverrideObject(ItemTile.getBlockState(main), ItemTile.getTileData(main))));
|
player.addChatMessage(new TextComponentString("Override Model: " + ModelOverridesHandler.getOverrideObject(ItemTile.getBlockState(main), ItemTile.getTileData(main))));
|
||||||
|
|
||||||
if(CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemTile.getBlockState(main)))
|
|
||||||
player.sendMessage(new TextComponentString("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemTile.getBlockState(main))));
|
|
||||||
|
|
||||||
|
|
||||||
CarryOn.LOGGER.info("Block: " + ItemTile.getBlock(main));
|
CarryOn.LOGGER.info("Block: " + ItemTile.getBlock(main));
|
||||||
CarryOn.LOGGER.info("BlockState: " + ItemTile.getBlockState(main));
|
CarryOn.LOGGER.info("BlockState: " + ItemTile.getBlockState(main));
|
||||||
CarryOn.LOGGER.info("Meta: " + ItemTile.getMeta(main));
|
CarryOn.LOGGER.info("Meta: " + ItemTile.getMeta(main));
|
||||||
CarryOn.LOGGER.info("ItemStack: " + ItemTile.getItemStack(main));
|
CarryOn.LOGGER.info("ItemStack: " + ItemTile.getItemStack(main));
|
||||||
|
|
||||||
if(ModelOverridesHandler.hasCustomOverrideModel(ItemTile.getBlockState(main), ItemTile.getTileData(main)))
|
if(ModelOverridesHandler.hasCustomOverrideModel(ItemTile.getBlockState(main), ItemTile.getTileData(main)))
|
||||||
CarryOn.LOGGER.info("Override Model: " + ModelOverridesHandler.getOverrideObject(ItemTile.getBlockState(main), ItemTile.getTileData(main)));
|
CarryOn.LOGGER.info("Override Model: " + ModelOverridesHandler.getOverrideObject(ItemTile.getBlockState(main), ItemTile.getTileData(main)));
|
||||||
|
|
||||||
if(CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemTile.getBlockState(main)))
|
|
||||||
CarryOn.LOGGER.info("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemTile.getBlockState(main)));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else if(!main.isEmpty() && main.getItem() == RegistrationHandler.itemEntity)
|
else if(main != null && main.getItem() == RegistrationHandler.itemEntity)
|
||||||
{
|
{
|
||||||
player.sendMessage(new TextComponentString("Entity: " + ItemEntity.getEntity(main, server.getEntityWorld())));
|
player.addChatMessage(new TextComponentString("Entity: " + ItemEntity.getEntity(main, server.getEntityWorld())));
|
||||||
player.sendMessage(new TextComponentString("Entity Name: " + ItemEntity.getEntityName(main)));
|
player.addChatMessage(new TextComponentString("Entity Name: " + ItemEntity.getEntityName(main)));
|
||||||
|
|
||||||
if(CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemEntity.getEntity(main, server.getEntityWorld())))
|
|
||||||
player.sendMessage(new TextComponentString("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemEntity.getEntity(main, server.getEntityWorld()))));
|
|
||||||
|
|
||||||
|
|
||||||
CarryOn.LOGGER.info("Entity: " + ItemEntity.getEntity(main, server.getEntityWorld()));
|
CarryOn.LOGGER.info("Entity: " + ItemEntity.getEntity(main, server.getEntityWorld()));
|
||||||
CarryOn.LOGGER.info("Entity Name: " + ItemEntity.getEntityName(main));
|
CarryOn.LOGGER.info("Entity Name: " + ItemEntity.getEntityName(main));
|
||||||
|
|
||||||
if(CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemEntity.getEntity(main, server.getEntityWorld())))
|
|
||||||
CarryOn.LOGGER.info("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemEntity.getEntity(main, server.getEntityWorld())));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
throw new WrongUsageException(this.getUsage(sender));
|
throw new WrongUsageException(this.getCommandUsage(sender));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
throw new WrongUsageException(this.getUsage(sender));
|
throw new WrongUsageException(this.getCommandUsage(sender));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -156,8 +146,9 @@ public class CommandCarryOn extends CommandBase implements ICommand
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> getTabCompletions(MinecraftServer server, ICommandSender sender, String[] args, BlockPos pos)
|
public List<String> getTabCompletionOptions(MinecraftServer server, ICommandSender sender, String[] args, BlockPos pos)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (args.length > 0)
|
if (args.length > 0)
|
||||||
|
|
@ -191,4 +182,6 @@ public class CommandCarryOn extends CommandBase implements ICommand
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,18 +24,18 @@ public class CommandCarryOnReload extends CommandBase
|
||||||
if (CarryOnConfig.settings.useScripts)
|
if (CarryOnConfig.settings.useScripts)
|
||||||
{
|
{
|
||||||
ScriptReader.reloadScripts();
|
ScriptReader.reloadScripts();
|
||||||
|
sender.addChatMessage(new TextComponentString("Successfully reloaded scripts!"));
|
||||||
CarryOn.network.sendToAll(new ScriptReloadPacket());
|
CarryOn.network.sendToAll(new ScriptReloadPacket());
|
||||||
sender.sendMessage(new TextComponentString("Successfully reloaded scripts!"));
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
sender.sendMessage(new TextComponentString("To use custom Carry On scripts, enable them in the config!"));
|
sender.addChatMessage(new TextComponentString("To use custom Carry On scripts, enable them in the config!"));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean checkPermission(MinecraftServer server, ICommandSender sender)
|
public boolean checkPermission(MinecraftServer server, ICommandSender sender)
|
||||||
{
|
{
|
||||||
return sender.canUseCommand(this.getRequiredPermissionLevel(), this.getName());
|
return sender.canCommandSenderUseCommand(this.getRequiredPermissionLevel(), this.getCommandName());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -45,7 +45,7 @@ public class CommandCarryOnReload extends CommandBase
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> getTabCompletions(MinecraftServer server, ICommandSender sender, String[] args, BlockPos pos)
|
public List<String> getTabCompletionOptions(MinecraftServer server, ICommandSender sender, String[] args, BlockPos pos)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (args.length > 0)
|
if (args.length > 0)
|
||||||
|
|
@ -65,16 +65,18 @@ public class CommandCarryOnReload extends CommandBase
|
||||||
return Collections.<String>emptyList();
|
return Collections.<String>emptyList();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getName()
|
public String getCommandName()
|
||||||
{
|
{
|
||||||
return "reloadscripts";
|
return "reloadscripts";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getUsage(ICommandSender sender)
|
public String getCommandUsage(ICommandSender sender)
|
||||||
{
|
{
|
||||||
return "/reloadscripts";
|
return "/reloadscripts";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -34,10 +34,6 @@ public class CarryOnConfig {
|
||||||
@Config.LangKey(CarryOn.MODID)
|
@Config.LangKey(CarryOn.MODID)
|
||||||
@Config.Comment("Model Overrides based on NBT or on Meta. Advanced Users Only!")
|
@Config.Comment("Model Overrides based on NBT or on Meta. Advanced Users Only!")
|
||||||
public static Configs.ModelOverrides modelOverrides = new Configs.ModelOverrides();
|
public static Configs.ModelOverrides modelOverrides = new Configs.ModelOverrides();
|
||||||
|
|
||||||
@Config.LangKey(CarryOn.MODID)
|
|
||||||
@Config.Comment("Custom Pickup Conditions for certain blocks. ONLY WORKS WHEN GAMESTAGES IS INSTALLED! Advanced Users Only!")
|
|
||||||
public static Configs.CustomPickupConditions customPickupConditions = new Configs.CustomPickupConditions();
|
|
||||||
|
|
||||||
@Mod.EventBusSubscriber
|
@Mod.EventBusSubscriber
|
||||||
public static class EventHandler {
|
public static class EventHandler {
|
||||||
|
|
|
||||||
|
|
@ -61,8 +61,7 @@ public class Configs {
|
||||||
@Comment("Whether the player drops the carried object when hit or not")
|
@Comment("Whether the player drops the carried object when hit or not")
|
||||||
public boolean dropCarriedWhenHit=false;
|
public boolean dropCarriedWhenHit=false;
|
||||||
|
|
||||||
@Config.RequiresMcRestart()
|
@Comment("Use custom Pickup Scripts. Having this set to false, will not allow you to run scripts, but will save you some performance")
|
||||||
@Comment("Use custom Pickup Scripts. Having this set to false, will not allow you to run scripts, but will increase your performance")
|
|
||||||
public boolean useScripts=false;
|
public boolean useScripts=false;
|
||||||
|
|
||||||
@Comment("Allows entities to be stacked using Carry On")
|
@Comment("Allows entities to be stacked using Carry On")
|
||||||
|
|
@ -78,13 +77,11 @@ public class Configs {
|
||||||
|
|
||||||
public static class WhiteList
|
public static class WhiteList
|
||||||
{
|
{
|
||||||
@Config.RequiresMcRestart()
|
|
||||||
@Comment("Entities that CAN be picked up")
|
@Comment("Entities that CAN be picked up")
|
||||||
public String[] allowedEntities=new String[]
|
public String[] allowedEntities=new String[]
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
@Config.RequiresMcRestart()
|
|
||||||
@Comment("Blocks that CAN be picked up")
|
@Comment("Blocks that CAN be picked up")
|
||||||
public String[] allowedBlocks=new String[]
|
public String[] allowedBlocks=new String[]
|
||||||
{
|
{
|
||||||
|
|
@ -93,7 +90,6 @@ public class Configs {
|
||||||
|
|
||||||
public static class Blacklist
|
public static class Blacklist
|
||||||
{
|
{
|
||||||
@Config.RequiresMcRestart()
|
|
||||||
@Comment("Tile Entities that cannot be picked up")
|
@Comment("Tile Entities that cannot be picked up")
|
||||||
public String[] forbiddenTiles = new String[]
|
public String[] forbiddenTiles = new String[]
|
||||||
{
|
{
|
||||||
|
|
@ -146,19 +142,18 @@ public class Configs {
|
||||||
"minecolonies:*",
|
"minecolonies:*",
|
||||||
};
|
};
|
||||||
|
|
||||||
@Config.RequiresMcRestart()
|
|
||||||
@Comment("Entities that cannot be picked up")
|
@Comment("Entities that cannot be picked up")
|
||||||
public String[] forbiddenEntities = new String[]
|
public String[] forbiddenEntities = new String[]
|
||||||
{
|
{
|
||||||
"minecraft:ender_crystal",
|
"EnderCrystal",
|
||||||
"minecraft:ender_dragon",
|
"EnderDragon",
|
||||||
"minecraft:ghast",
|
"Ghast",
|
||||||
"minecraft:shulker",
|
"Shulker",
|
||||||
"minecraft:leash_knot",
|
"LeashKnot",
|
||||||
"minecraft:armor_stand",
|
"ArmorStand",
|
||||||
"minecraft:item_frame",
|
"ItemFrame",
|
||||||
"minecraft:painting",
|
"Painting",
|
||||||
"minecraft:shulker_bullet",
|
"ShulkerBullet",
|
||||||
"animania:textures/entity/pigs/hamster_tarou.png",
|
"animania:textures/entity/pigs/hamster_tarou.png",
|
||||||
"animania:hamster",
|
"animania:hamster",
|
||||||
"animania:ferret*",
|
"animania:ferret*",
|
||||||
|
|
@ -171,7 +166,6 @@ public class Configs {
|
||||||
|
|
||||||
public static class ModelOverrides
|
public static class ModelOverrides
|
||||||
{
|
{
|
||||||
@Config.RequiresMcRestart()
|
|
||||||
@Comment("Model Overrides based on NBT or on Meta. Advanced Users Only!")
|
@Comment("Model Overrides based on NBT or on Meta. Advanced Users Only!")
|
||||||
public String[] modelOverrides = new String[]
|
public String[] modelOverrides = new String[]
|
||||||
{
|
{
|
||||||
|
|
@ -240,23 +234,5 @@ public class Configs {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static class CustomPickupConditions
|
|
||||||
{
|
|
||||||
@Config.RequiresMcRestart()
|
|
||||||
@Comment("Custom Pickup Conditions for Blocks")
|
|
||||||
public String[] customPickupConditionsBlocks = new String[]
|
|
||||||
{
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
@Config.RequiresMcRestart()
|
|
||||||
@Comment("Custom Pickup Conditions for Entities")
|
|
||||||
public String[] customPickupConditionsEntities = new String[]
|
|
||||||
{
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ public class ItemEntityEvents
|
||||||
{
|
{
|
||||||
EntityPlayer player = event.getEntityPlayer();
|
EntityPlayer player = event.getEntityPlayer();
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getHeldItemMainhand();
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity && ItemEntity.hasEntityData(stack))
|
if (stack == null ? false : (stack.getItem() == RegistrationHandler.itemEntity && ItemEntity.hasEntityData(stack)))
|
||||||
{
|
{
|
||||||
player.getEntityData().removeTag("carrySlot");
|
player.getEntityData().removeTag("carrySlot");
|
||||||
event.setUseBlock(Result.DENY);
|
event.setUseBlock(Result.DENY);
|
||||||
|
|
@ -71,10 +71,10 @@ public class ItemEntityEvents
|
||||||
BlockPos pos = eitem.getPosition();
|
BlockPos pos = eitem.getPosition();
|
||||||
Entity entity = ItemEntity.getEntity(stack, world);
|
Entity entity = ItemEntity.getEntity(stack, world);
|
||||||
entity.setPosition(pos.getX() + 0.5, pos.getY(), pos.getZ() + 0.5);
|
entity.setPosition(pos.getX() + 0.5, pos.getY(), pos.getZ() + 0.5);
|
||||||
world.spawnEntity(entity);
|
world.spawnEntityInWorld(entity);
|
||||||
|
|
||||||
ItemEntity.clearEntityData(stack);
|
ItemEntity.clearEntityData(stack);
|
||||||
eitem.setEntityItemStack(ItemStack.EMPTY);
|
eitem.setEntityItemStack(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -92,7 +92,7 @@ public class ItemEntityEvents
|
||||||
Entity entity = event.getTarget();
|
Entity entity = event.getTarget();
|
||||||
BlockPos pos = entity.getPosition();
|
BlockPos pos = entity.getPosition();
|
||||||
|
|
||||||
if (main.isEmpty() && off.isEmpty() && CarryOnKeybinds.isKeyPressed(player))
|
if (main == null && off == null && CarryOnKeybinds.isKeyPressed(player))
|
||||||
{
|
{
|
||||||
ItemStack stack = new ItemStack(RegistrationHandler.itemEntity);
|
ItemStack stack = new ItemStack(RegistrationHandler.itemEntity);
|
||||||
|
|
||||||
|
|
@ -128,7 +128,7 @@ public class ItemEntityEvents
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (!main.isEmpty() && main.getItem() == RegistrationHandler.itemEntity && ItemEntity.hasEntityData(main) && !CarryOnKeybinds.isKeyPressed(player) && CarryOnConfig.settings.stackableEntities)
|
else if (main != null && main.getItem() == RegistrationHandler.itemEntity && ItemEntity.hasEntityData(main) && !CarryOnKeybinds.isKeyPressed(player) && CarryOnConfig.settings.stackableEntities)
|
||||||
{
|
{
|
||||||
Entity entityHeld = ItemEntity.getEntity(main, world);
|
Entity entityHeld = ItemEntity.getEntity(main, world);
|
||||||
|
|
||||||
|
|
@ -161,20 +161,20 @@ public class ItemEntityEvents
|
||||||
double tempY = entity.posY;
|
double tempY = entity.posY;
|
||||||
double tempZ = entity.posZ;
|
double tempZ = entity.posZ;
|
||||||
entityHeld.setPosition(tempX, tempY + 2.6, tempZ);
|
entityHeld.setPosition(tempX, tempY + 2.6, tempZ);
|
||||||
world.spawnEntity(entityHeld);
|
world.spawnEntityInWorld(entityHeld);
|
||||||
entityHeld.startRiding(topEntity, false);
|
entityHeld.startRiding(topEntity, false);
|
||||||
entityHeld.setPositionAndUpdate(tempX, tempY, tempZ);
|
entityHeld.setPositionAndUpdate(tempX, tempY, tempZ);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
entityHeld.setPosition(entity.posX, entity.posY, entity.posZ);
|
entityHeld.setPosition(entity.posX, entity.posY, entity.posZ);
|
||||||
world.spawnEntity(entityHeld);
|
world.spawnEntityInWorld(entityHeld);
|
||||||
entityHeld.startRiding(topEntity, false);
|
entityHeld.startRiding(topEntity, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ItemEntity.clearEntityData(main);
|
ItemEntity.clearEntityData(main);
|
||||||
player.setHeldItem(EnumHand.MAIN_HAND, ItemStack.EMPTY);
|
player.setHeldItem(EnumHand.MAIN_HAND, null);
|
||||||
CarryOn.network.sendToAllAround(new CarrySlotPacket(9, player.getEntityId()), new TargetPoint(world.provider.getDimension(), player.posX, player.posY, player.posZ, 256));
|
CarryOn.network.sendToAllAround(new CarrySlotPacket(9, player.getEntityId()), new TargetPoint(world.provider.getDimension(), player.posX, player.posY, player.posZ, 256));
|
||||||
event.setCanceled(true);
|
event.setCanceled(true);
|
||||||
world.playSound(null, player.posX, player.posY, player.posZ, SoundEvents.ENTITY_HORSE_SADDLE, SoundCategory.PLAYERS, 0.5F, 1.5F);
|
world.playSound(null, player.posX, player.posY, player.posZ, SoundEvents.ENTITY_HORSE_SADDLE, SoundCategory.PLAYERS, 0.5F, 1.5F);
|
||||||
|
|
@ -235,9 +235,9 @@ public class ItemEntityEvents
|
||||||
public void onLivingUpdate(LivingUpdateEvent event)
|
public void onLivingUpdate(LivingUpdateEvent event)
|
||||||
{
|
{
|
||||||
EntityLivingBase entity = event.getEntityLiving();
|
EntityLivingBase entity = event.getEntityLiving();
|
||||||
World world = entity.world;
|
World world = entity.worldObj;
|
||||||
ItemStack main = entity.getHeldItemMainhand();
|
ItemStack main = entity.getHeldItemMainhand();
|
||||||
if (!main.isEmpty() && main.getItem() == RegistrationHandler.itemEntity && ItemEntity.hasEntityData(main))
|
if (main != null ? (main.getItem() == RegistrationHandler.itemEntity && ItemEntity.hasEntityData(main)) : false)
|
||||||
{
|
{
|
||||||
BlockPos pos = entity.getPosition();
|
BlockPos pos = entity.getPosition();
|
||||||
BlockPos below = pos.offset(EnumFacing.DOWN);
|
BlockPos below = pos.offset(EnumFacing.DOWN);
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ public class ItemEvents
|
||||||
{
|
{
|
||||||
EntityPlayer player = event.getEntityPlayer();
|
EntityPlayer player = event.getEntityPlayer();
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getHeldItemMainhand();
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack))
|
if (stack == null ? false : (stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack)))
|
||||||
{
|
{
|
||||||
player.getEntityData().removeTag("carrySlot");
|
player.getEntityData().removeTag("carrySlot");
|
||||||
event.setUseBlock(Result.DENY);
|
event.setUseBlock(Result.DENY);
|
||||||
|
|
@ -98,7 +98,7 @@ public class ItemEvents
|
||||||
tile.setPos(finalPos);
|
tile.setPos(finalPos);
|
||||||
}
|
}
|
||||||
ItemTile.clearTileData(stack);
|
ItemTile.clearTileData(stack);
|
||||||
eitem.setEntityItemStack(ItemStack.EMPTY);
|
eitem.setEntityItemStack(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -113,7 +113,7 @@ public class ItemEvents
|
||||||
World world = player.getEntityWorld();
|
World world = player.getEntityWorld();
|
||||||
|
|
||||||
ItemStack carried = player.getHeldItemMainhand();
|
ItemStack carried = player.getHeldItemMainhand();
|
||||||
if (!carried.isEmpty() && carried.getItem() == RegistrationHandler.itemTile || carried.getItem() == RegistrationHandler.itemEntity)
|
if (carried == null ? false : (carried.getItem() == RegistrationHandler.itemTile || carried.getItem() == RegistrationHandler.itemEntity))
|
||||||
{
|
{
|
||||||
if (carried.getItem() == RegistrationHandler.itemTile)
|
if (carried.getItem() == RegistrationHandler.itemTile)
|
||||||
{
|
{
|
||||||
|
|
@ -148,7 +148,7 @@ public class ItemEvents
|
||||||
World world = player.getEntityWorld();
|
World world = player.getEntityWorld();
|
||||||
|
|
||||||
ItemStack carried = player.getHeldItemMainhand();
|
ItemStack carried = player.getHeldItemMainhand();
|
||||||
if (!carried.isEmpty() && carried.getItem() == RegistrationHandler.itemTile || carried.getItem() == RegistrationHandler.itemEntity)
|
if (carried == null ? false : (carried.getItem() == RegistrationHandler.itemTile || carried.getItem() == RegistrationHandler.itemEntity))
|
||||||
{
|
{
|
||||||
if (carried.getItem() == RegistrationHandler.itemTile)
|
if (carried.getItem() == RegistrationHandler.itemTile)
|
||||||
{
|
{
|
||||||
|
|
@ -178,8 +178,8 @@ public class ItemEvents
|
||||||
if (player != null && !CarryOnConfig.settings.hitWhileCarrying)
|
if (player != null && !CarryOnConfig.settings.hitWhileCarrying)
|
||||||
{
|
{
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getHeldItemMainhand();
|
||||||
if (!stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity))
|
if(stack == null ? false : (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity))
|
||||||
event.setNewSpeed(0);
|
event.setNewSpeed(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -188,7 +188,7 @@ public class ItemEvents
|
||||||
{
|
{
|
||||||
EntityPlayer player = event.getEntityPlayer();
|
EntityPlayer player = event.getEntityPlayer();
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getHeldItemMainhand();
|
||||||
if (!stack.isEmpty() && !CarryOnConfig.settings.hitWhileCarrying && (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity))
|
if (!CarryOnConfig.settings.hitWhileCarrying && stack == null ? false : (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity))
|
||||||
{
|
{
|
||||||
event.setCanceled(true);
|
event.setCanceled(true);
|
||||||
}
|
}
|
||||||
|
|
@ -201,7 +201,7 @@ public class ItemEvents
|
||||||
if (player != null && !CarryOnConfig.settings.hitWhileCarrying)
|
if (player != null && !CarryOnConfig.settings.hitWhileCarrying)
|
||||||
{
|
{
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getHeldItemMainhand();
|
||||||
if (!stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity))
|
if (stack == null ? false : (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity))
|
||||||
event.setCanceled(true);
|
event.setCanceled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -215,14 +215,14 @@ public class ItemEvents
|
||||||
{
|
{
|
||||||
EntityPlayer player = (EntityPlayer) eliving;
|
EntityPlayer player = (EntityPlayer) eliving;
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getHeldItemMainhand();
|
||||||
if (!stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity))
|
if (stack == null ? false : (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity))
|
||||||
{
|
{
|
||||||
if (!player.world.isRemote)
|
if (!player.worldObj.isRemote)
|
||||||
{
|
{
|
||||||
player.setHeldItem(EnumHand.MAIN_HAND, ItemStack.EMPTY);
|
player.setHeldItem(EnumHand.MAIN_HAND, null);
|
||||||
EntityItem item = new EntityItem(player.world, player.posX, player.posY, player.posZ, stack);
|
EntityItem item = new EntityItem(player.worldObj, player.posX, player.posY, player.posZ, stack);
|
||||||
CarryOn.network.sendToAllAround(new CarrySlotPacket(9, player.getEntityId()), new TargetPoint(player.world.provider.getDimension(), player.posX, player.posY, player.posZ, 256));
|
CarryOn.network.sendToAllAround(new CarrySlotPacket(9, player.getEntityId()), new TargetPoint(player.worldObj.provider.getDimension(), player.posX, player.posY, player.posZ, 256));
|
||||||
player.world.spawnEntity(item);
|
player.worldObj.spawnEntityInWorld(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -244,7 +244,7 @@ public class ItemEvents
|
||||||
Block block = world.getBlockState(pos).getBlock();
|
Block block = world.getBlockState(pos).getBlock();
|
||||||
IBlockState state = world.getBlockState(pos);
|
IBlockState state = world.getBlockState(pos);
|
||||||
|
|
||||||
if (main.isEmpty() && off.isEmpty() && CarryOnKeybinds.isKeyPressed(player))
|
if (main == null && off == null && CarryOnKeybinds.isKeyPressed(player))
|
||||||
{
|
{
|
||||||
ItemStack stack = new ItemStack(RegistrationHandler.itemTile);
|
ItemStack stack = new ItemStack(RegistrationHandler.itemTile);
|
||||||
|
|
||||||
|
|
@ -288,10 +288,10 @@ public class ItemEvents
|
||||||
if (!tag.hasNoTags())
|
if (!tag.hasNoTags())
|
||||||
TileEntity.create(world, tag);
|
TileEntity.create(world, tag);
|
||||||
|
|
||||||
player.sendMessage(new TextComponentString(TextFormatting.RED + "Error detected. Cannot pick up block."));
|
player.addChatMessage(new TextComponentString(TextFormatting.RED + "Error detected. Cannot pick up block."));
|
||||||
TextComponentString s = new TextComponentString(TextFormatting.GOLD + "here");
|
TextComponentString s = new TextComponentString(TextFormatting.GOLD + "here");
|
||||||
s.getStyle().setClickEvent(new ClickEvent(Action.OPEN_URL, "https://github.com/Tschipp/CarryOn/issues"));
|
s.getStyle().setClickEvent(new ClickEvent(Action.OPEN_URL, "https://github.com/Tschipp/CarryOn/issues"));
|
||||||
player.sendMessage(new TextComponentString(TextFormatting.RED + "Please report this error ").appendSibling(s));
|
player.addChatMessage(new TextComponentString(TextFormatting.RED + "Please report this error ").appendSibling(s));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -351,7 +351,7 @@ public class ItemEvents
|
||||||
EntityPlayer original = event.getOriginal();
|
EntityPlayer original = event.getOriginal();
|
||||||
EntityPlayer player = event.getEntityPlayer();
|
EntityPlayer player = event.getEntityPlayer();
|
||||||
boolean wasDead = event.isWasDeath();
|
boolean wasDead = event.isWasDeath();
|
||||||
GameRules rules = player.world.getGameRules();
|
GameRules rules = player.worldObj.getGameRules();
|
||||||
boolean keepInv = rules.getBoolean("keepInventory");
|
boolean keepInv = rules.getBoolean("keepInventory");
|
||||||
boolean wasCarrying = player.inventory.hasItemStack(new ItemStack(RegistrationHandler.itemTile)) || player.inventory.hasItemStack(new ItemStack(RegistrationHandler.itemEntity));
|
boolean wasCarrying = player.inventory.hasItemStack(new ItemStack(RegistrationHandler.itemTile)) || player.inventory.hasItemStack(new ItemStack(RegistrationHandler.itemEntity));
|
||||||
|
|
||||||
|
|
@ -360,15 +360,15 @@ public class ItemEvents
|
||||||
int carrySlot = original.inventory.currentItem;
|
int carrySlot = original.inventory.currentItem;
|
||||||
|
|
||||||
ItemStack stack = player.inventory.removeStackFromSlot(carrySlot);
|
ItemStack stack = player.inventory.removeStackFromSlot(carrySlot);
|
||||||
World world = player.world;
|
World world = player.worldObj;
|
||||||
|
|
||||||
EntityItem item = new EntityItem(world);
|
EntityItem item = new EntityItem(world);
|
||||||
item.setEntityItemStack(stack);
|
item.setEntityItemStack(stack);
|
||||||
BlockPos pos = original.getBedLocation();
|
BlockPos pos = original.getBedLocation();
|
||||||
if (pos == null)
|
if (pos == null)
|
||||||
pos = player.getPosition();
|
pos = player.getPosition();
|
||||||
item.setPosition(pos.getX(), pos.getY(), pos.getZ());
|
item.setPosition(pos.getX(), pos.getY(), pos.getZ());
|
||||||
world.spawnEntity(item);
|
world.spawnEntityInWorld(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,125 +0,0 @@
|
||||||
package tschipp.carryon.common.handler;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
|
||||||
import net.minecraft.block.state.IBlockState;
|
|
||||||
import net.minecraft.entity.Entity;
|
|
||||||
import net.minecraft.entity.EntityList;
|
|
||||||
import net.minecraftforge.fml.common.Loader;
|
|
||||||
import tschipp.carryon.common.config.CarryOnConfig;
|
|
||||||
import tschipp.carryon.common.helper.InvalidConfigException;
|
|
||||||
|
|
||||||
public class CustomPickupOverrideHandler
|
|
||||||
{
|
|
||||||
|
|
||||||
public static HashMap<String, String> PICKUP_CONDITIONS = new HashMap<String, String>();
|
|
||||||
public static HashMap<String, String> PICKUP_CONDITIONS_ENTITIES = new HashMap<String, String>();
|
|
||||||
|
|
||||||
public static void initPickupOverrides()
|
|
||||||
{
|
|
||||||
if (Loader.isModLoaded("gamestages"))
|
|
||||||
{
|
|
||||||
|
|
||||||
String[] conditions = CarryOnConfig.customPickupConditions.customPickupConditionsBlocks;
|
|
||||||
|
|
||||||
for (int i = 0; i < conditions.length; i++)
|
|
||||||
{
|
|
||||||
String line = conditions[i];
|
|
||||||
|
|
||||||
if (!line.contains("(") || !line.contains(")"))
|
|
||||||
new InvalidConfigException("Invalid Condition at line " + i + ": " + line).printException();
|
|
||||||
|
|
||||||
String condition = line.substring(line.indexOf("("));
|
|
||||||
String blockname = line.replace(condition, "");
|
|
||||||
condition = condition.replace("(", "");
|
|
||||||
condition = condition.replace(")", "");
|
|
||||||
|
|
||||||
if (blockname.contains("*"))
|
|
||||||
{
|
|
||||||
String modid = blockname.replace("*", "");
|
|
||||||
for (int k = 0; k < Block.REGISTRY.getKeys().size(); k++)
|
|
||||||
{
|
|
||||||
if (Block.REGISTRY.getKeys().toArray()[k].toString().contains(modid))
|
|
||||||
{
|
|
||||||
PICKUP_CONDITIONS.put(Block.REGISTRY.getKeys().toArray()[k].toString() + ";any", condition);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (!blockname.contains(";"))
|
|
||||||
blockname = blockname + ";any";
|
|
||||||
|
|
||||||
PICKUP_CONDITIONS.put(blockname, condition);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
String[] entityConditions = CarryOnConfig.customPickupConditions.customPickupConditionsEntities;
|
|
||||||
|
|
||||||
for (int i = 0; i < entityConditions.length; i++)
|
|
||||||
{
|
|
||||||
String line = entityConditions[i];
|
|
||||||
|
|
||||||
if (!line.contains("(") || !line.contains(")"))
|
|
||||||
new InvalidConfigException("Invalid Condition at line " + i + ": " + line).printException();
|
|
||||||
|
|
||||||
String condition = line.substring(line.indexOf("("));
|
|
||||||
String entityname = line.replace(condition, "");
|
|
||||||
condition = condition.replace("(", "");
|
|
||||||
condition = condition.replace(")", "");
|
|
||||||
|
|
||||||
PICKUP_CONDITIONS_ENTITIES.put(entityname, condition);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean hasSpecialPickupConditions(IBlockState state)
|
|
||||||
{
|
|
||||||
if (!Loader.isModLoaded("gamestages"))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
String block = state.getBlock().getRegistryName().toString();
|
|
||||||
String meta = "" + state.getBlock().getMetaFromState(state);
|
|
||||||
|
|
||||||
boolean absolute = PICKUP_CONDITIONS.containsKey(block + ";" + meta);
|
|
||||||
boolean any = PICKUP_CONDITIONS.containsKey(block + ";any");
|
|
||||||
|
|
||||||
return absolute || any;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getPickupCondition(IBlockState state)
|
|
||||||
{
|
|
||||||
String block = state.getBlock().getRegistryName().toString();
|
|
||||||
String meta = "" + state.getBlock().getMetaFromState(state);
|
|
||||||
|
|
||||||
String absolute = PICKUP_CONDITIONS.get(block + ";" + meta);
|
|
||||||
String any = PICKUP_CONDITIONS.get(block + ";any");
|
|
||||||
|
|
||||||
if (absolute != null)
|
|
||||||
return absolute;
|
|
||||||
else
|
|
||||||
return any;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean hasSpecialPickupConditions(Entity entity)
|
|
||||||
{
|
|
||||||
if (!Loader.isModLoaded("gamestages"))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
String entityname = EntityList.getKey(entity).toString();
|
|
||||||
boolean condition = PICKUP_CONDITIONS_ENTITIES.containsKey(entityname);
|
|
||||||
|
|
||||||
return condition;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getPickupCondition(Entity entity)
|
|
||||||
{
|
|
||||||
String entityname = EntityList.getKey(entity).toString();
|
|
||||||
String condition = PICKUP_CONDITIONS_ENTITIES.get(entityname);
|
|
||||||
|
|
||||||
return condition;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -39,9 +39,9 @@ public class ListHandler
|
||||||
|
|
||||||
public static boolean isForbidden(Entity entity)
|
public static boolean isForbidden(Entity entity)
|
||||||
{
|
{
|
||||||
if (EntityList.getKey(entity) != null)
|
if (EntityList.getEntityString(entity) != null)
|
||||||
{
|
{
|
||||||
String name = EntityList.getKey(entity).toString();
|
String name = EntityList.getEntityString(entity);
|
||||||
boolean contains = FORBIDDEN_ENTITIES.contains(name);
|
boolean contains = FORBIDDEN_ENTITIES.contains(name);
|
||||||
return contains;
|
return contains;
|
||||||
}
|
}
|
||||||
|
|
@ -50,9 +50,9 @@ public class ListHandler
|
||||||
|
|
||||||
public static boolean isAllowed(Entity entity)
|
public static boolean isAllowed(Entity entity)
|
||||||
{
|
{
|
||||||
if (EntityList.getKey(entity) != null)
|
if (EntityList.getEntityString(entity) != null)
|
||||||
{
|
{
|
||||||
String name = EntityList.getKey(entity).toString();
|
String name = EntityList.getEntityString(entity).toString();
|
||||||
boolean contains = ALLOWED_ENTITIES.contains(name);
|
boolean contains = ALLOWED_ENTITIES.contains(name);
|
||||||
return contains;
|
return contains;
|
||||||
}
|
}
|
||||||
|
|
@ -98,11 +98,11 @@ public class ListHandler
|
||||||
if (forbiddenEntity[i].contains("*"))
|
if (forbiddenEntity[i].contains("*"))
|
||||||
{
|
{
|
||||||
String modid = forbiddenEntity[i].replace("*", "");
|
String modid = forbiddenEntity[i].replace("*", "");
|
||||||
for (int k = 0; k < ForgeRegistries.ENTITIES.getKeys().size(); k++)
|
for (int k = 0; k < EntityList.getEntityNameList().size(); k++)
|
||||||
{
|
{
|
||||||
if (ForgeRegistries.ENTITIES.getKeys().toArray()[k].toString().contains(modid))
|
if (EntityList.getEntityNameList().get(k).contains(modid))
|
||||||
{
|
{
|
||||||
FORBIDDEN_ENTITIES.add(ForgeRegistries.ENTITIES.getKeys().toArray()[k].toString());
|
FORBIDDEN_ENTITIES.add(EntityList.getEntityNameList().get(k));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -115,13 +115,13 @@ public class ListHandler
|
||||||
{
|
{
|
||||||
if (allowedEntities[i].contains("*"))
|
if (allowedEntities[i].contains("*"))
|
||||||
{
|
{
|
||||||
String modid = allowedEntities[i].replace("*", "");
|
String modid=allowedEntities[i].replace("*", "");
|
||||||
for (int k = 0; k < ForgeRegistries.ENTITIES.getKeys().size(); k++)
|
for (int k = 0; k < EntityList.getEntityNameList().size(); k++)
|
||||||
{
|
{
|
||||||
if (ForgeRegistries.ENTITIES.getKeys().toArray()[k].toString().contains(modid))
|
if (EntityList.getEntityNameList().get(k).contains(modid))
|
||||||
{
|
ALLOWED_ENTITIES.add(EntityList.getEntityNameList().get(k));
|
||||||
ALLOWED_ENTITIES.add(ForgeRegistries.ENTITIES.getKeys().toArray()[k].toString());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ALLOWED_ENTITIES.add(allowedEntities[i]);
|
ALLOWED_ENTITIES.add(allowedEntities[i]);
|
||||||
|
|
|
||||||
|
|
@ -118,9 +118,8 @@ public class ModelOverridesHandler
|
||||||
if (override.contains(":"))
|
if (override.contains(":"))
|
||||||
modidOverride = override.replace(override.substring(override.indexOf(":")), "");
|
modidOverride = override.replace(override.substring(override.indexOf(":")), "");
|
||||||
|
|
||||||
if (Loader.isModLoaded(modidOverride) && Loader.isModLoaded(modidToOverride) && !errored)
|
if (!errored && (Loader.isModLoaded(modidOverride) && Loader.isModLoaded(modidToOverride)) || (modidOverride.equals("minecraft") && modidToOverride.equals("minecraft")))
|
||||||
{
|
{
|
||||||
|
|
||||||
int meta = StringParser.getMeta(toOverride);
|
int meta = StringParser.getMeta(toOverride);
|
||||||
if (meta == 0)
|
if (meta == 0)
|
||||||
toOverrideObject = StringParser.getBlock(toOverride);
|
toOverrideObject = StringParser.getBlock(toOverride);
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,6 @@ import java.util.UUID;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import net.darkhax.gamestages.capabilities.PlayerDataHandler;
|
|
||||||
import net.darkhax.gamestages.capabilities.PlayerDataHandler.IStageData;
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.state.IBlockState;
|
import net.minecraft.block.state.IBlockState;
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
|
|
@ -73,18 +71,8 @@ public class PickupHandler
|
||||||
|
|
||||||
if (!ItemTile.isLocked(pos, world))
|
if (!ItemTile.isLocked(pos, world))
|
||||||
{
|
{
|
||||||
|
if (CarryOnConfig.settings.pickupAllBlocks ? true : tile != null)
|
||||||
if (CustomPickupOverrideHandler.hasSpecialPickupConditions(state))
|
|
||||||
{
|
{
|
||||||
IStageData stageData = PlayerDataHandler.getStageData(player);
|
|
||||||
String condition = CustomPickupOverrideHandler.getPickupCondition(state);
|
|
||||||
if (stageData.hasUnlockedStage(condition))
|
|
||||||
return true && handleProtections((EntityPlayerMP) player, world, pos, state);
|
|
||||||
|
|
||||||
}
|
|
||||||
else if (CarryOnConfig.settings.pickupAllBlocks ? true : tile != null)
|
|
||||||
{
|
|
||||||
|
|
||||||
return true && handleProtections((EntityPlayerMP) player, world, pos, state);
|
return true && handleProtections((EntityPlayerMP) player, world, pos, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -128,14 +116,6 @@ public class PickupHandler
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CustomPickupOverrideHandler.hasSpecialPickupConditions(toPickUp))
|
|
||||||
{
|
|
||||||
IStageData stageData = PlayerDataHandler.getStageData(player);
|
|
||||||
String condition = CustomPickupOverrideHandler.getPickupCondition(toPickUp);
|
|
||||||
if (stageData.hasUnlockedStage(condition))
|
|
||||||
return true && handleProtections((EntityPlayerMP) player, toPickUp);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
return true && handleProtections((EntityPlayerMP) player, toPickUp);
|
return true && handleProtections((EntityPlayerMP) player, toPickUp);
|
||||||
}
|
}
|
||||||
|
|
@ -173,16 +153,7 @@ public class PickupHandler
|
||||||
if (owner != null && !owner.equals(playerID))
|
if (owner != null && !owner.equals(playerID))
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
return true && handleProtections((EntityPlayerMP) player, toPickUp);
|
||||||
if (CustomPickupOverrideHandler.hasSpecialPickupConditions(toPickUp))
|
|
||||||
{
|
|
||||||
IStageData stageData = PlayerDataHandler.getStageData(player);
|
|
||||||
String condition = CustomPickupOverrideHandler.getPickupCondition(toPickUp);
|
|
||||||
if (stageData.hasUnlockedStage(condition))
|
|
||||||
return true && handleProtections((EntityPlayerMP) player, toPickUp);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
return true && handleProtections((EntityPlayerMP) player, toPickUp);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -200,12 +171,12 @@ public class PickupHandler
|
||||||
BlockEvent.BreakEvent event = new BlockEvent.BreakEvent(world, pos, state, player);
|
BlockEvent.BreakEvent event = new BlockEvent.BreakEvent(world, pos, state, player);
|
||||||
MinecraftForge.EVENT_BUS.post(event);
|
MinecraftForge.EVENT_BUS.post(event);
|
||||||
|
|
||||||
if(event.isCanceled())
|
if (event.isCanceled())
|
||||||
breakable = false;
|
breakable = false;
|
||||||
|
|
||||||
return breakable;
|
return breakable;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean handleProtections(EntityPlayerMP player, Entity entity)
|
private static boolean handleProtections(EntityPlayerMP player, Entity entity)
|
||||||
{
|
{
|
||||||
boolean canPickup = true;
|
boolean canPickup = true;
|
||||||
|
|
@ -213,9 +184,9 @@ public class PickupHandler
|
||||||
AttackEntityEvent event = new AttackEntityEvent(player, entity);
|
AttackEntityEvent event = new AttackEntityEvent(player, entity);
|
||||||
MinecraftForge.EVENT_BUS.post(event);
|
MinecraftForge.EVENT_BUS.post(event);
|
||||||
|
|
||||||
if(event.isCanceled())
|
if (event.isCanceled())
|
||||||
canPickup = false;
|
canPickup = false;
|
||||||
|
|
||||||
return canPickup;
|
return canPickup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,6 @@ public class RegistrationHandler
|
||||||
public static void regOverrideList()
|
public static void regOverrideList()
|
||||||
{
|
{
|
||||||
ModelOverridesHandler.initOverrides();
|
ModelOverridesHandler.initOverrides();
|
||||||
CustomPickupOverrideHandler.initPickupOverrides();
|
|
||||||
ListHandler.initForbiddenTiles();
|
ListHandler.initForbiddenTiles();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -114,7 +114,7 @@ public class StringParser
|
||||||
Item item = getItem(string);
|
Item item = getItem(string);
|
||||||
|
|
||||||
if(item == null)
|
if(item == null)
|
||||||
return ItemStack.EMPTY;
|
return null;
|
||||||
|
|
||||||
ItemStack stack = new ItemStack(item, 1, getMeta(string));
|
ItemStack stack = new ItemStack(item, 1, getMeta(string));
|
||||||
NBTTagCompound tag = getTagCompound(string);
|
NBTTagCompound tag = getTagCompound(string);
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ public class ItemEntity extends Item
|
||||||
{
|
{
|
||||||
if (hasEntityData(stack))
|
if (hasEntityData(stack))
|
||||||
{
|
{
|
||||||
return I18n.translateToLocal("entity."+EntityList.getTranslationName(new ResourceLocation(getEntityName(stack))) + ".name");
|
return I18n.translateToLocal(getEntityName(stack));
|
||||||
}
|
}
|
||||||
|
|
||||||
return "";
|
return "";
|
||||||
|
|
@ -60,18 +60,18 @@ public class ItemEntity extends Item
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean storeEntityData(@Nonnull Entity entity, World world, ItemStack stack)
|
public static boolean storeEntityData(@Nonnull Entity entity, World world, @Nonnull ItemStack stack)
|
||||||
{
|
{
|
||||||
if (entity == null)
|
if (entity == null)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (stack.isEmpty())
|
if (stack == null)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
NBTTagCompound entityData = new NBTTagCompound();
|
NBTTagCompound entityData = new NBTTagCompound();
|
||||||
entityData = entity.writeToNBT(entityData);
|
entityData = entity.writeToNBT(entityData);
|
||||||
|
|
||||||
String name = EntityList.getKey(entity).toString();
|
String name = EntityList.getEntityString(entity);
|
||||||
|
|
||||||
NBTTagCompound tag = stack.hasTagCompound() ? stack.getTagCompound() : new NBTTagCompound();
|
NBTTagCompound tag = stack.hasTagCompound() ? stack.getTagCompound() : new NBTTagCompound();
|
||||||
if (tag.hasKey(ENTITY_DATA_KEY))
|
if (tag.hasKey(ENTITY_DATA_KEY))
|
||||||
|
|
@ -84,9 +84,8 @@ public class ItemEntity extends Item
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
|
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
|
||||||
{
|
{
|
||||||
ItemStack stack = player.getHeldItem(hand);
|
|
||||||
Block block = world.getBlockState(pos).getBlock();
|
Block block = world.getBlockState(pos).getBlock();
|
||||||
|
|
||||||
if (hasEntityData(stack))
|
if (hasEntityData(stack))
|
||||||
|
|
@ -104,13 +103,13 @@ public class ItemEntity extends Item
|
||||||
if (!world.isRemote)
|
if (!world.isRemote)
|
||||||
{
|
{
|
||||||
entity.setPositionAndRotation(finalPos.getX() + 0.5, finalPos.getY(), finalPos.getZ() + 0.5, 180 + player.rotationYawHead, 0.0f);
|
entity.setPositionAndRotation(finalPos.getX() + 0.5, finalPos.getY(), finalPos.getZ() + 0.5, 180 + player.rotationYawHead, 0.0f);
|
||||||
world.spawnEntity(entity);
|
world.spawnEntityInWorld(entity);
|
||||||
if (entity instanceof EntityLiving)
|
if (entity instanceof EntityLiving)
|
||||||
{
|
{
|
||||||
((EntityLiving) entity).playLivingSound();
|
((EntityLiving) entity).playLivingSound();
|
||||||
}
|
}
|
||||||
clearEntityData(stack);
|
clearEntityData(stack);
|
||||||
player.setHeldItem(hand, ItemStack.EMPTY);
|
player.setHeldItem(hand, null);
|
||||||
CarryOn.network.sendToAllAround(new CarrySlotPacket(9, player.getEntityId()), new TargetPoint(world.provider.getDimension(), player.posX, player.posY, player.posZ, 256));
|
CarryOn.network.sendToAllAround(new CarrySlotPacket(9, player.getEntityId()), new TargetPoint(world.provider.getDimension(), player.posX, player.posY, player.posZ, 256));
|
||||||
}
|
}
|
||||||
player.getEntityData().removeTag("overrideKey");
|
player.getEntityData().removeTag("overrideKey");
|
||||||
|
|
@ -127,7 +126,7 @@ public class ItemEntity extends Item
|
||||||
if (hasEntityData(stack))
|
if (hasEntityData(stack))
|
||||||
{
|
{
|
||||||
if(getEntity(stack, world) == null)
|
if(getEntity(stack, world) == null)
|
||||||
stack = ItemStack.EMPTY;
|
stack = null;
|
||||||
|
|
||||||
if (entity instanceof EntityLivingBase)
|
if (entity instanceof EntityLivingBase)
|
||||||
{
|
{
|
||||||
|
|
@ -140,7 +139,7 @@ public class ItemEntity extends Item
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
stack = ItemStack.EMPTY;
|
stack = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -172,7 +171,7 @@ public class ItemEntity extends Item
|
||||||
String name = getEntityName(stack);
|
String name = getEntityName(stack);
|
||||||
|
|
||||||
NBTTagCompound e = getEntityData(stack);
|
NBTTagCompound e = getEntityData(stack);
|
||||||
Entity entity = EntityList.createEntityByIDFromName(new ResourceLocation(name), world);
|
Entity entity = EntityList.createEntityByIDFromName(name, world);
|
||||||
if (entity != null)
|
if (entity != null)
|
||||||
entity.readFromNBT(e);
|
entity.readFromNBT(e);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,6 @@ import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint;
|
||||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||||
import tschipp.carryon.CarryOn;
|
import tschipp.carryon.CarryOn;
|
||||||
import tschipp.carryon.common.config.CarryOnConfig;
|
import tschipp.carryon.common.config.CarryOnConfig;
|
||||||
import tschipp.carryon.common.handler.CustomPickupOverrideHandler;
|
|
||||||
import tschipp.carryon.common.handler.ModelOverridesHandler;
|
import tschipp.carryon.common.handler.ModelOverridesHandler;
|
||||||
import tschipp.carryon.network.client.CarrySlotPacket;
|
import tschipp.carryon.network.client.CarrySlotPacket;
|
||||||
|
|
||||||
|
|
@ -55,35 +54,39 @@ public class ItemTile extends Item
|
||||||
@Override
|
@Override
|
||||||
public String getItemStackDisplayName(ItemStack stack)
|
public String getItemStackDisplayName(ItemStack stack)
|
||||||
{
|
{
|
||||||
if (hasTileData(stack))
|
if (stack != null)
|
||||||
{
|
{
|
||||||
IBlockState state = getBlockState(stack);
|
if (hasTileData(stack))
|
||||||
NBTTagCompound nbt = getTileData(stack);
|
|
||||||
|
|
||||||
if (ModelOverridesHandler.hasCustomOverrideModel(state, nbt))
|
|
||||||
{
|
{
|
||||||
Object override = ModelOverridesHandler.getOverrideObject(state, nbt);
|
NBTTagCompound nbt = getTileData(stack);
|
||||||
if (override instanceof ItemStack)
|
IBlockState state = getBlockState(stack);
|
||||||
return ((ItemStack) override).getDisplayName();
|
|
||||||
else
|
|
||||||
{
|
|
||||||
IBlockState ostate = (IBlockState) override;
|
|
||||||
ItemStack itemstack = new ItemStack(ostate.getBlock().getItemDropped(ostate, this.itemRand, 0), 1, state.getBlock().damageDropped(ostate));
|
|
||||||
return itemstack.getDisplayName();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return getItemStack(stack).getDisplayName();
|
if (ModelOverridesHandler.hasCustomOverrideModel(state, nbt))
|
||||||
|
{
|
||||||
|
Object override = ModelOverridesHandler.getOverrideObject(state, nbt);
|
||||||
|
if (override instanceof ItemStack)
|
||||||
|
return ((ItemStack) override).getDisplayName();
|
||||||
|
else
|
||||||
|
{
|
||||||
|
IBlockState ostate = (IBlockState) override;
|
||||||
|
ItemStack itemstack = new ItemStack(ostate.getBlock().getItemDropped(ostate, this.itemRand, 0), 1, state.getBlock().damageDropped(ostate));
|
||||||
|
return itemstack.getDisplayName();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ItemStack istack = getItemStack(stack);
|
||||||
|
if (istack != null)
|
||||||
|
return istack.getDisplayName();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
|
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
|
||||||
{
|
{
|
||||||
Block block = world.getBlockState(pos).getBlock();
|
Block block = world.getBlockState(pos).getBlock();
|
||||||
ItemStack stack = player.getHeldItem(hand);
|
|
||||||
if (hasTileData(stack))
|
if (hasTileData(stack))
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
@ -105,11 +108,11 @@ public class ItemTile extends Item
|
||||||
|
|
||||||
if (canPlace)
|
if (canPlace)
|
||||||
{
|
{
|
||||||
if (player.canPlayerEdit(pos, facing, stack) && world.mayPlace(containedblock, pos2, false, facing, (Entity) null))
|
if (player.canPlayerEdit(pos, facing, stack) && world.canBlockBePlaced(containedblock, pos2, false, facing, (Entity) null, stack))
|
||||||
{
|
{
|
||||||
boolean set = false;
|
boolean set = false;
|
||||||
|
|
||||||
Iterator<IProperty<?>> iterator = containedblock.getDefaultState().getPropertyKeys().iterator();
|
Iterator<IProperty<?>> iterator = containedblock.getDefaultState().getPropertyNames().iterator();
|
||||||
while (iterator.hasNext())
|
while (iterator.hasNext())
|
||||||
{
|
{
|
||||||
IProperty prop = iterator.next();
|
IProperty prop = iterator.next();
|
||||||
|
|
@ -140,7 +143,7 @@ public class ItemTile extends Item
|
||||||
}
|
}
|
||||||
clearTileData(stack);
|
clearTileData(stack);
|
||||||
player.playSound(containedblock.getSoundType().getPlaceSound(), 1.0f, 0.5f);
|
player.playSound(containedblock.getSoundType().getPlaceSound(), 1.0f, 0.5f);
|
||||||
player.setHeldItem(hand, ItemStack.EMPTY);
|
player.setHeldItem(hand, null);
|
||||||
player.getEntityData().removeTag("overrideKey");
|
player.getEntityData().removeTag("overrideKey");
|
||||||
CarryOn.network.sendToAllAround(new CarrySlotPacket(9, player.getEntityId()), new TargetPoint(world.provider.getDimension(), player.posX, player.posY, player.posZ, 256));
|
CarryOn.network.sendToAllAround(new CarrySlotPacket(9, player.getEntityId()), new TargetPoint(world.provider.getDimension(), player.posX, player.posY, player.posZ, 256));
|
||||||
return EnumActionResult.SUCCESS;
|
return EnumActionResult.SUCCESS;
|
||||||
|
|
@ -163,13 +166,10 @@ public class ItemTile extends Item
|
||||||
if (ModelOverridesHandler.hasCustomOverrideModel(ItemTile.getBlockState(stack), ItemTile.getTileData(stack)))
|
if (ModelOverridesHandler.hasCustomOverrideModel(ItemTile.getBlockState(stack), ItemTile.getTileData(stack)))
|
||||||
CarryOn.LOGGER.info("Override Model: " + ModelOverridesHandler.getOverrideObject(ItemTile.getBlockState(stack), ItemTile.getTileData(stack)));
|
CarryOn.LOGGER.info("Override Model: " + ModelOverridesHandler.getOverrideObject(ItemTile.getBlockState(stack), ItemTile.getTileData(stack)));
|
||||||
|
|
||||||
if (CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemTile.getBlockState(stack)))
|
player.addChatMessage(new TextComponentString(TextFormatting.RED + "Error detected. Cannot place block. Execute \"/carryon clear\" to remove the item"));
|
||||||
CarryOn.LOGGER.info("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemTile.getBlockState(stack)));
|
|
||||||
|
|
||||||
player.sendMessage(new TextComponentString(TextFormatting.RED + "Error detected. Cannot place block. Execute \"/carryon clear\" to remove the item"));
|
|
||||||
TextComponentString s = new TextComponentString(TextFormatting.GOLD + "here");
|
TextComponentString s = new TextComponentString(TextFormatting.GOLD + "here");
|
||||||
s.getStyle().setClickEvent(new ClickEvent(Action.OPEN_URL, "https://github.com/Tschipp/CarryOn/issues"));
|
s.getStyle().setClickEvent(new ClickEvent(Action.OPEN_URL, "https://github.com/Tschipp/CarryOn/issues"));
|
||||||
player.sendMessage(new TextComponentString(TextFormatting.RED + "Please report this error ").appendSibling(s));
|
player.addChatMessage(new TextComponentString(TextFormatting.RED + "Please report this error ").appendSibling(s));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -194,7 +194,7 @@ public class ItemTile extends Item
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
stack = ItemStack.EMPTY;
|
stack = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -210,7 +210,7 @@ public class ItemTile extends Item
|
||||||
|
|
||||||
public static boolean storeTileData(@Nullable TileEntity tile, World world, BlockPos pos, IBlockState state, ItemStack stack)
|
public static boolean storeTileData(@Nullable TileEntity tile, World world, BlockPos pos, IBlockState state, ItemStack stack)
|
||||||
{
|
{
|
||||||
if (stack.isEmpty())
|
if (stack == null)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
NBTTagCompound chest = new NBTTagCompound();
|
NBTTagCompound chest = new NBTTagCompound();
|
||||||
|
|
@ -255,6 +255,7 @@ public class ItemTile extends Item
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
public static Block getBlock(ItemStack stack)
|
public static Block getBlock(ItemStack stack)
|
||||||
{
|
{
|
||||||
if (stack.hasTagCompound())
|
if (stack.hasTagCompound())
|
||||||
|
|
@ -263,7 +264,7 @@ public class ItemTile extends Item
|
||||||
int id = tag.getInteger("stateid");
|
int id = tag.getInteger("stateid");
|
||||||
return Block.getStateById(id).getBlock();
|
return Block.getStateById(id).getBlock();
|
||||||
}
|
}
|
||||||
return Blocks.AIR;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getMeta(ItemStack stack)
|
public static int getMeta(ItemStack stack)
|
||||||
|
|
@ -279,7 +280,21 @@ public class ItemTile extends Item
|
||||||
|
|
||||||
public static ItemStack getItemStack(ItemStack stack)
|
public static ItemStack getItemStack(ItemStack stack)
|
||||||
{
|
{
|
||||||
return new ItemStack(getBlock(stack), 1, getMeta(stack));
|
Block block = getBlock(stack);
|
||||||
|
if (block != null)
|
||||||
|
{
|
||||||
|
Item item = Item.getItemFromBlock(block);
|
||||||
|
if (item != null)
|
||||||
|
{
|
||||||
|
ItemStack ret = new ItemStack(item, 1, getMeta(stack));
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return null;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static IBlockState getBlockState(ItemStack stack)
|
public static IBlockState getBlockState(ItemStack stack)
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@ package tschipp.carryon.common.scripting;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import net.darkhax.gamestages.capabilities.PlayerDataHandler;
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.block.state.IBlockState;
|
import net.minecraft.block.state.IBlockState;
|
||||||
|
|
@ -14,7 +13,6 @@ import net.minecraft.entity.player.EntityPlayerMP;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.fml.common.Loader;
|
|
||||||
import tschipp.carryon.common.config.CarryOnConfig;
|
import tschipp.carryon.common.config.CarryOnConfig;
|
||||||
import tschipp.carryon.common.helper.ScriptParseHelper;
|
import tschipp.carryon.common.helper.ScriptParseHelper;
|
||||||
|
|
||||||
|
|
@ -51,7 +49,7 @@ public class ScriptChecker
|
||||||
if (!CarryOnConfig.settings.useScripts)
|
if (!CarryOnConfig.settings.useScripts)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
String name = EntityList.getKey(entity).toString();
|
String name = EntityList.getEntityString(entity).toString();
|
||||||
float height = entity.height;
|
float height = entity.height;
|
||||||
float width = entity.width;
|
float width = entity.width;
|
||||||
float health = entity instanceof EntityLivingBase ? ((EntityLivingBase) entity).getHealth() : 0.0f;
|
float health = entity instanceof EntityLivingBase ? ((EntityLivingBase) entity).getHealth() : 0.0f;
|
||||||
|
|
@ -97,13 +95,12 @@ public class ScriptChecker
|
||||||
{
|
{
|
||||||
boolean achievement = ScriptParseHelper.getAchievementFromString(override.getConditionAchievement()) == null ? true : player.hasAchievement(ScriptParseHelper.getAchievementFromString(override.getConditionAchievement()));
|
boolean achievement = ScriptParseHelper.getAchievementFromString(override.getConditionAchievement()) == null ? true : player.hasAchievement(ScriptParseHelper.getAchievementFromString(override.getConditionAchievement()));
|
||||||
boolean gamemode = ScriptParseHelper.matches(((EntityPlayerMP) player).interactionManager.getGameType().getID(), override.getConditionGamemode());
|
boolean gamemode = ScriptParseHelper.matches(((EntityPlayerMP) player).interactionManager.getGameType().getID(), override.getConditionGamemode());
|
||||||
boolean gamestage = Loader.isModLoaded("gamestages") ? (override.getConditionGamestage() != null ? PlayerDataHandler.getStageData(player).hasUnlockedStage(override.getConditionGamestage()) : true) : true;
|
|
||||||
boolean position = ScriptParseHelper.matches(player.getPosition(), override.getConditionPosition());
|
boolean position = ScriptParseHelper.matches(player.getPosition(), override.getConditionPosition());
|
||||||
boolean xp = ScriptParseHelper.matches(player.experienceLevel, override.getConditionXp());
|
boolean xp = ScriptParseHelper.matches(player.experienceLevel, override.getConditionXp());
|
||||||
boolean scoreboard = ScriptParseHelper.matchesScore(player, override.getConditionScoreboard());
|
boolean scoreboard = ScriptParseHelper.matchesScore(player, override.getConditionScoreboard());
|
||||||
boolean effects = ScriptParseHelper.hasEffects(player, override.getConditionEffects());
|
boolean effects = ScriptParseHelper.hasEffects(player, override.getConditionEffects());
|
||||||
|
|
||||||
return (achievement && gamemode && gamestage && position && xp && scoreboard && effects);
|
return (achievement && gamemode && position && xp && scoreboard && effects);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
|
|
|
||||||
|
|
@ -115,7 +115,6 @@ public class ScriptReader
|
||||||
|
|
||||||
if (conditions != null)
|
if (conditions != null)
|
||||||
{
|
{
|
||||||
JsonElement gamestage = conditions.get("gamestage");
|
|
||||||
JsonElement achievement = conditions.get("achievement");
|
JsonElement achievement = conditions.get("achievement");
|
||||||
JsonElement xp = conditions.get("xp");
|
JsonElement xp = conditions.get("xp");
|
||||||
JsonElement gamemode = conditions.get("gamemode");
|
JsonElement gamemode = conditions.get("gamemode");
|
||||||
|
|
@ -123,8 +122,7 @@ public class ScriptReader
|
||||||
JsonElement position = conditions.get("position");
|
JsonElement position = conditions.get("position");
|
||||||
JsonElement effects = conditions.get("effects");
|
JsonElement effects = conditions.get("effects");
|
||||||
|
|
||||||
if(gamestage != null)
|
|
||||||
override.setConditionGamestage(gamestage.getAsString());
|
|
||||||
if(achievement != null)
|
if(achievement != null)
|
||||||
override.setConditionAchievement(achievement.getAsString());
|
override.setConditionAchievement(achievement.getAsString());
|
||||||
if(xp != null)
|
if(xp != null)
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ public class CarrySlotPacketHandler implements IMessageHandler<CarrySlotPacket,
|
||||||
|
|
||||||
mainThread.addScheduledTask(new Runnable()
|
mainThread.addScheduledTask(new Runnable()
|
||||||
{
|
{
|
||||||
World world = Minecraft.getMinecraft().world;
|
World world = Minecraft.getMinecraft().theWorld;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ public class ScriptReloadPacketHandler implements IMessageHandler<ScriptReloadPa
|
||||||
|
|
||||||
mainThread.addScheduledTask(new Runnable()
|
mainThread.addScheduledTask(new Runnable()
|
||||||
{
|
{
|
||||||
EntityPlayerSP player = Minecraft.getMinecraft().player;
|
EntityPlayerSP player = Minecraft.getMinecraft().thePlayer;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ public class SyncKeybindPacketHandler implements IMessageHandler<SyncKeybindPack
|
||||||
@Override
|
@Override
|
||||||
public IMessage onMessage(final SyncKeybindPacket message, final MessageContext ctx)
|
public IMessage onMessage(final SyncKeybindPacket message, final MessageContext ctx)
|
||||||
{
|
{
|
||||||
IThreadListener mainThread = (WorldServer) ctx.getServerHandler().playerEntity.world;
|
IThreadListener mainThread = (WorldServer) ctx.getServerHandler().playerEntity.worldObj;
|
||||||
|
|
||||||
mainThread.addScheduledTask(new Runnable()
|
mainThread.addScheduledTask(new Runnable()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,13 @@
|
||||||
{
|
{
|
||||||
"modid" : "carryon",
|
"modid" : "carryon",
|
||||||
"name" : "Carry On",
|
"name" : "Carry On",
|
||||||
"version" : "1.9.1", "mcversion" : "1.11.2",
|
"version" : "1.9.1", "mcversion" : "1.10.2",
|
||||||
"url" : "",
|
"url" : "",
|
||||||
"credits" : "Tschipp, Purplicious_Cow, cy4n",
|
"credits" : "Tschipp, Purplicious_Cow, cy4n",
|
||||||
"authorList" : ["Tschipp, Purplicious_Cow, cy4n"],
|
"authorList" : ["Tschipp, Purplicious_Cow, cy4n"],
|
||||||
"description": "Carry On is a simple mod that improves game interaction by allowing players to pick up, carry, and place single block Tile Entities using only their empty hands.",
|
"description": "Carry On is a simple mod that improves game interaction by allowing players to pick up, carry, and place single block Tile Entities using only their empty hands.",
|
||||||
"logoFile" : "assets/carryon/logo.png",
|
"logoFile" : "assets/carryon/logo.png",
|
||||||
"updateUrl" : "https://gist.githubusercontent.com/Tschipp/dccadee7c90d7a34e6e76a35d9d6fa2e/raw/5115328bf7c35d5c5cea64bdb58becd2ca17fcac/update.json",
|
"updateUrl" : "",
|
||||||
"parent" : "",
|
"parent" : "",
|
||||||
"dependencies": [],
|
"dependencies": [],
|
||||||
"screenshots": []
|
"screenshots": []
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user