From c6d0f4f1831e4dd19a8bc36db5d9fea518889412 Mon Sep 17 00:00:00 2001 From: Nicolas BARBOTIN Date: Mon, 29 Jan 2018 17:51:22 +0100 Subject: [PATCH] * More work on upgrades --- README.md | 2 + src/main/java/net/montoyo/wd/WebDisplays.java | 15 +++++- .../net/montoyo/wd/block/BlockScreen.java | 2 +- .../net/montoyo/wd/client/ClientProxy.java | 1 + .../wd/client/gui/GuiScreenConfig.java | 3 ++ .../wd/client/gui/controls/UpgradeGroup.java | 4 +- .../montoyo/wd/entity/TileEntityScreen.java | 45 +++++++++++++----- .../net/montoyo/wd/item/ItemLaserPointer.java | 19 ++++++++ .../montoyo/wd/net/SMessageScreenCtrl.java | 2 +- .../webdisplays/models/item/laserpointer.json | 6 +++ .../models/item/upgrade_lasermouse.json | 2 +- .../resources/assets/webdisplays/sounds.json | 42 ++++++++++------ .../assets/webdisplays/sounds/upgrade_add.ogg | Bin 0 -> 27697 bytes .../assets/webdisplays/sounds/upgrade_del.ogg | Bin 0 -> 17200 bytes .../textures/items/laserpointer.png | Bin 268 -> 368 bytes .../textures/items/laserpointer2.png | Bin 368 -> 268 bytes 16 files changed, 111 insertions(+), 32 deletions(-) create mode 100644 src/main/java/net/montoyo/wd/item/ItemLaserPointer.java create mode 100644 src/main/resources/assets/webdisplays/models/item/laserpointer.json create mode 100644 src/main/resources/assets/webdisplays/sounds/upgrade_add.ogg create mode 100644 src/main/resources/assets/webdisplays/sounds/upgrade_del.ogg diff --git a/README.md b/README.md index 45518b1..3afa07e 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,9 @@ This is the unfinished port of the WebDisplays mod for Minecraft 1.12.2. The tex * Read config (see "Config elements" below) ### TODO +* DROP UPGRADES WHEN SCREEN IS DESTROYED * Achievements (minePad 2 and all that stuff) +* Top/bottom screen orientation * GuiSetURL2 missing buttons * Plugin API * Automatically add protocol to URLs diff --git a/src/main/java/net/montoyo/wd/WebDisplays.java b/src/main/java/net/montoyo/wd/WebDisplays.java index 272f183..bbcf48a 100644 --- a/src/main/java/net/montoyo/wd/WebDisplays.java +++ b/src/main/java/net/montoyo/wd/WebDisplays.java @@ -59,9 +59,12 @@ public class WebDisplays { public Item itemStoneKey; public ItemMinePad2 itemMinePad; public ItemUpgrade itemUpgrade; + public ItemLaserPointer itemLaserPointer; //Sounds public SoundEvent soundTyping; + public SoundEvent soundUpgradeAdd; + public SoundEvent soundUpgradeDel; //Config public static final double PAD_RATIO = 59.0 / 30.0; @@ -94,6 +97,7 @@ public class WebDisplays { itemLinker = new ItemLinker(); itemMinePad = new ItemMinePad2(); itemUpgrade = new ItemUpgrade(); + itemLaserPointer = new ItemLaserPointer(); itemStoneKey = new Item(); itemStoneKey.setCreativeTab(CREATIVE_TAB); @@ -132,14 +136,21 @@ public class WebDisplays { @SubscribeEvent public void onRegisterItems(RegistryEvent.Register ev) { ev.getRegistry().registerAll(blockScreen.getItem(), blockPeripheral.getItem()); - ev.getRegistry().registerAll(itemScreenCfg, itemOwnerThief, itemLinker, itemStoneKey, itemMinePad, itemUpgrade); + ev.getRegistry().registerAll(itemScreenCfg, itemOwnerThief, itemLinker, itemStoneKey, itemMinePad, itemUpgrade, itemLaserPointer); } @SubscribeEvent public void onRegisterSounds(RegistryEvent.Register ev) { soundTyping = new SoundEvent(new ResourceLocation("webdisplays", "keyboardType")); soundTyping.setRegistryName(soundTyping.getSoundName()); - ev.getRegistry().register(soundTyping); + + soundUpgradeAdd = new SoundEvent(new ResourceLocation("webdisplays", "upgradeAdd")); + soundUpgradeAdd.setRegistryName(soundUpgradeAdd.getSoundName()); + + soundUpgradeDel = new SoundEvent(new ResourceLocation("webdisplays", "upgradeDel")); + soundUpgradeDel.setRegistryName(soundUpgradeDel.getSoundName()); + + ev.getRegistry().registerAll(soundTyping, soundUpgradeAdd, soundUpgradeDel); } @SubscribeEvent diff --git a/src/main/java/net/montoyo/wd/block/BlockScreen.java b/src/main/java/net/montoyo/wd/block/BlockScreen.java index 8250224..8fd0565 100644 --- a/src/main/java/net/montoyo/wd/block/BlockScreen.java +++ b/src/main/java/net/montoyo/wd/block/BlockScreen.java @@ -136,7 +136,7 @@ public class BlockScreen extends WDBlockContainer { return true; } - if(te.addUpgrade(side, heldItem, false)) { + if(te.addUpgrade(side, heldItem, player, false)) { if(!player.isCreative()) heldItem.shrink(1); diff --git a/src/main/java/net/montoyo/wd/client/ClientProxy.java b/src/main/java/net/montoyo/wd/client/ClientProxy.java index d5cc1b0..d16fbf5 100644 --- a/src/main/java/net/montoyo/wd/client/ClientProxy.java +++ b/src/main/java/net/montoyo/wd/client/ClientProxy.java @@ -263,6 +263,7 @@ public class ClientProxy extends SharedProxy implements IResourceManagerReloadLi registerItemModel(wd.itemLinker, 0, "normal"); registerItemModel(wd.itemStoneKey, 0, "normal"); registerItemModel(wd.itemMinePad, 0, "normal"); + registerItemModel(wd.itemLaserPointer, 0, "normal"); DefaultUpgrade[] upgrades = DefaultUpgrade.values(); for(int i = 0; i < upgrades.length; i++) diff --git a/src/main/java/net/montoyo/wd/client/gui/GuiScreenConfig.java b/src/main/java/net/montoyo/wd/client/gui/GuiScreenConfig.java index 38051bf..1da6e5c 100644 --- a/src/main/java/net/montoyo/wd/client/gui/GuiScreenConfig.java +++ b/src/main/java/net/montoyo/wd/client/gui/GuiScreenConfig.java @@ -415,6 +415,9 @@ public class GuiScreenConfig extends WDScreen { if(flag) btnSetRes.setDisabled(true); + + flag = (myRights & ScreenRights.MANAGE_UPGRADES) == 0; + ugUpgrades.setDisabled(flag); } public void updateResolution(Vector2i res) { diff --git a/src/main/java/net/montoyo/wd/client/gui/controls/UpgradeGroup.java b/src/main/java/net/montoyo/wd/client/gui/controls/UpgradeGroup.java index 1a2ae42..408e937 100644 --- a/src/main/java/net/montoyo/wd/client/gui/controls/UpgradeGroup.java +++ b/src/main/java/net/montoyo/wd/client/gui/controls/UpgradeGroup.java @@ -31,7 +31,7 @@ public class UpgradeGroup extends BasicControl { int x = this.x; for(ItemStack is: upgrades) { - if(is == overStack) + if(is == overStack && !disabled) fillRect(x, y, 16, 16, 0x80FF0000); renderItem.renderItemAndEffectIntoGUI(mc.player, is, x, y); @@ -104,7 +104,7 @@ public class UpgradeGroup extends BasicControl { @Override public void mouseReleased(int mouseX, int mouseY, int state) { if(state == 0 && clickStack != null) { - if(clickStack == overStack && upgrades.contains(clickStack)) //HOTFIX: Make sure it's actually in the list :p + if(clickStack == overStack && !disabled && upgrades.contains(clickStack)) //HOTFIX: Make sure it's actually in the list :p parent.actionPerformed(new ClickEvent(this)); clickStack = null; diff --git a/src/main/java/net/montoyo/wd/entity/TileEntityScreen.java b/src/main/java/net/montoyo/wd/entity/TileEntityScreen.java index 3ea5198..e18c232 100644 --- a/src/main/java/net/montoyo/wd/entity/TileEntityScreen.java +++ b/src/main/java/net/montoyo/wd/entity/TileEntityScreen.java @@ -4,6 +4,7 @@ package net.montoyo.wd.entity; +import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; @@ -12,6 +13,7 @@ import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.minecraft.util.SoundCategory; +import net.minecraft.util.SoundEvent; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraftforge.fml.common.network.NetworkRegistry; @@ -28,7 +30,6 @@ import net.montoyo.wd.utilities.*; import javax.annotation.Nullable; import java.util.*; -import java.util.function.Predicate; public class TileEntityScreen extends TileEntity { @@ -548,16 +549,19 @@ public class TileEntityScreen extends TileEntity { } else { WebDisplays.NET_HANDLER.sendToAllAround(CMessageScreenUpdate.type(this, side, text), point()); - if(soundPos != null) { - double x = (double) soundPos.getX(); - double y = (double) soundPos.getY(); - double z = (double) soundPos.getZ(); - - world.playSound(null, x + 0.5, y + 0.5, z + 0.5, WebDisplays.INSTANCE.soundTyping, SoundCategory.BLOCKS, 0.25f, 1.f); - } + if(soundPos != null) + playSoundAt(WebDisplays.INSTANCE.soundTyping, soundPos, 0.25f, 1.f); } } + private void playSoundAt(SoundEvent snd, BlockPos at, float vol, float pitch) { + double x = (double) at.getX(); + double y = (double) at.getY(); + double z = (double) at.getZ(); + + world.playSound(null, x + 0.5, y + 0.5, z + 0.5, snd, SoundCategory.BLOCKS, vol, pitch); + } + public void updateUpgrades(BlockSide side, ItemStack[] upgrades) { if(!world.isRemote) { Log.error("Tried to call TileEntityScreen.updateUpgrades() from server side..."); @@ -580,7 +584,7 @@ public class TileEntityScreen extends TileEntity { } //If equal is null, no duplicate check is preformed - public boolean addUpgrade(BlockSide side, ItemStack is, boolean abortIfExisting) { + public boolean addUpgrade(BlockSide side, ItemStack is, @Nullable EntityPlayer player, boolean abortIfExisting) { if(world.isRemote) return false; @@ -606,7 +610,8 @@ public class TileEntityScreen extends TileEntity { scr.upgrades.add(is); WebDisplays.NET_HANDLER.sendToAllAround(CMessageScreenUpdate.upgrade(this, side), point()); - itemAsUpgrade.onInstall(this, side, null, is); + itemAsUpgrade.onInstall(this, side, player, is); + playSoundAt(WebDisplays.INSTANCE.soundUpgradeAdd, pos, 1.0f, 1.0f); return true; } @@ -623,7 +628,7 @@ public class TileEntityScreen extends TileEntity { return scr.upgrades.stream().anyMatch((otherStack) -> itemAsUpgrade.isSameUpgrade(is, otherStack)); } - public void removeUpgrade(BlockSide side, ItemStack is) { + public void removeUpgrade(BlockSide side, ItemStack is, @Nullable EntityPlayer player) { if(world.isRemote) return; @@ -649,8 +654,26 @@ public class TileEntityScreen extends TileEntity { } if(idxToRemove >= 0) { + if(!itemAsUpgrade.onRemove(this, side, player, scr.upgrades.get(idxToRemove))) { //Drop upgrade item + ItemStack toDrop = scr.upgrades.get(idxToRemove); + boolean spawnDrop = true; + + if(player != null) { + if(player.isCreative() || player.addItemStackToInventory(toDrop)) + spawnDrop = false; //If in creative or if the item was added to the player's inventory, don't spawn drop entity + } + + if(spawnDrop) { + Vector3f pos = new Vector3f((float) this.pos.getX(), (float) this.pos.getY(), (float) this.pos.getZ()); + pos.addMul(side.backward.toFloat(), 1.5f); + + world.spawnEntity(new EntityItem(world, (double) pos.x, (double) pos.y, (double) pos.z, toDrop)); + } + } + scr.upgrades.remove(idxToRemove); WebDisplays.NET_HANDLER.sendToAllAround(CMessageScreenUpdate.upgrade(this, side), point()); + playSoundAt(WebDisplays.INSTANCE.soundUpgradeDel, pos, 1.0f, 1.0f); } else Log.warning("Tried to remove non-existing upgrade %s to screen %s at %s", safeName(is), side.toString(), pos.toString()); } diff --git a/src/main/java/net/montoyo/wd/item/ItemLaserPointer.java b/src/main/java/net/montoyo/wd/item/ItemLaserPointer.java new file mode 100644 index 0000000..ca02d85 --- /dev/null +++ b/src/main/java/net/montoyo/wd/item/ItemLaserPointer.java @@ -0,0 +1,19 @@ +/* + * Copyright (C) 2018 BARBOTIN Nicolas + */ + +package net.montoyo.wd.item; + +import net.minecraft.item.Item; +import net.montoyo.wd.WebDisplays; + +public class ItemLaserPointer extends Item { + + public ItemLaserPointer() { + setUnlocalizedName("webdisplays.laserpointer"); + setRegistryName("laserpointer"); + setMaxStackSize(1); + setCreativeTab(WebDisplays.CREATIVE_TAB); + } + +} diff --git a/src/main/java/net/montoyo/wd/net/SMessageScreenCtrl.java b/src/main/java/net/montoyo/wd/net/SMessageScreenCtrl.java index 179db62..63b6182 100644 --- a/src/main/java/net/montoyo/wd/net/SMessageScreenCtrl.java +++ b/src/main/java/net/montoyo/wd/net/SMessageScreenCtrl.java @@ -220,7 +220,7 @@ public class SMessageScreenCtrl implements IMessage, Runnable { tes.type(side, text, soundPos); } else if(ctrl == CTRL_REMOVE_UPGRADE) { checkPermission(tes, ScreenRights.MANAGE_UPGRADES); - tes.removeUpgrade(side, toRemove); + tes.removeUpgrade(side, toRemove, player); } else Log.info("SMessageScreenCtrl: TODO"); //TODO: other ctrl messages } diff --git a/src/main/resources/assets/webdisplays/models/item/laserpointer.json b/src/main/resources/assets/webdisplays/models/item/laserpointer.json new file mode 100644 index 0000000..b6b74c0 --- /dev/null +++ b/src/main/resources/assets/webdisplays/models/item/laserpointer.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "webdisplays:items/laserpointer" + } +} diff --git a/src/main/resources/assets/webdisplays/models/item/upgrade_lasermouse.json b/src/main/resources/assets/webdisplays/models/item/upgrade_lasermouse.json index 26bc6f7..0d70e0c 100644 --- a/src/main/resources/assets/webdisplays/models/item/upgrade_lasermouse.json +++ b/src/main/resources/assets/webdisplays/models/item/upgrade_lasermouse.json @@ -2,6 +2,6 @@ "parent": "item/generated", "textures": { "layer0": "webdisplays:items/upgrade", - "layer1": "webdisplays:items/laserpointer" + "layer1": "webdisplays:items/laserpointer2" } } diff --git a/src/main/resources/assets/webdisplays/sounds.json b/src/main/resources/assets/webdisplays/sounds.json index 217cbca..7558e4e 100644 --- a/src/main/resources/assets/webdisplays/sounds.json +++ b/src/main/resources/assets/webdisplays/sounds.json @@ -1,16 +1,30 @@ { - "keyboardType": { - "category": "block", - "subtitle": "block.webdisplays.keyboard", - "sounds": [ - "webdisplays:keyboard1", - "webdisplays:keyboard2", - "webdisplays:keyboard3", - "webdisplays:keyboard4", - "webdisplays:keyboard5", - "webdisplays:keyboard6", - "webdisplays:keyboard7", - "webdisplays:keyboard8" - ] - } + "keyboardType": { + "category": "block", + "subtitle": "block.webdisplays.keyboard", + "sounds": [ + "webdisplays:keyboard1", + "webdisplays:keyboard2", + "webdisplays:keyboard3", + "webdisplays:keyboard4", + "webdisplays:keyboard5", + "webdisplays:keyboard6", + "webdisplays:keyboard7", + "webdisplays:keyboard8" + ] + }, + "upgradeAdd": { + "category": "block", + "subtitle": "block.webdisplays.upgradeAdd", + "sounds": [ + "webdisplays:upgrade_add" + ] + }, + "upgradeDel": { + "category": "block", + "subtitle": "block.webdisplays.upgradeDel", + "sounds": [ + "webdisplays:upgrade_del" + ] + } } diff --git a/src/main/resources/assets/webdisplays/sounds/upgrade_add.ogg b/src/main/resources/assets/webdisplays/sounds/upgrade_add.ogg new file mode 100644 index 0000000000000000000000000000000000000000..6885234f325032841c97c62bde03afff97bdc81f GIT binary patch literal 27697 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�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 I)rso@4o8B|F8}}l literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/webdisplays/sounds/upgrade_del.ogg b/src/main/resources/assets/webdisplays/sounds/upgrade_del.ogg new file mode 100644 index 0000000000000000000000000000000000000000..304393fecf44644d3b57d48c21fd462805964c65 GIT binary patch literal 17200 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%0DI05>*r42US!j);l~Ld{>gK1C9BeI>NwW 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 Ba!LRI delta 151 zcmV;I0BHa40*nHXRR%Eu8iMUMky|W(a7jc#R5;7s(yaj1gIToB%7*+NST!v2~`CEM2L*V^YR#Xhndw7 zI7MVNS{9Mrf-*?i0cKX+efy1)xsCTEt7WE;%wZkp25*i$R{uW4*#H0l07*p#PDHLk FV1fyhJ_Y~) diff --git a/src/main/resources/assets/webdisplays/textures/items/laserpointer2.png b/src/main/resources/assets/webdisplays/textures/items/laserpointer2.png index 64bf7da6f8e25ec22bb157ce96df7f8f26a5655d..13f915b05bba8959e18d845a8aeb8764fb7a517f 100644 GIT binary patch delta 151 zcmV;I0BHa40*nHXRR%Eu8iMUMky|W(a7jc#R5;7s(yaj1gIToB%7*+NST!v2~`CEM2L*V^YR#Xhndw7 zI7MVNS{9Mrf-*?i0cKX+efy1)xsCTEt7WE;%wZkp25*i$R{uW4*#H0l07*p#PDHLk FV1fyhJ_Y~) delta 251 zcmVTe0 zC-7bgN;u8Zr-N$l0vE8-4Fziy1wy=9t*fytKhIb*I5>Y@|AK@N2q7%qTa9AL$oS$C z@&IInbX`Z=wp3Nc=5te=!2|g|9vz@*8pNd>7$c|i*;SSG$C?=^y?`6B& zIpC@~i#+8QV?Tnr{PJ{7k(VXZbqye9_H;HaXEoPW!!Q&fGr&E= z%jLR=NJ*Q|{fU_&rL!_c%#4(h$Zv-(*Pc=mfEzzES6yMWn#}+J002ovPDHLkV1myH Ba!LRI