net.minecraft.util.SoundEvent#net.minecraft.enchantment.Enchantment源码实例Demo

下面列出了net.minecraft.util.SoundEvent#net.minecraft.enchantment.Enchantment 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Gadomancy   文件: EventHandlerRedirect.java
public static int onGetEnchantmentLevel(int enchantmentId, ItemStack stack) {
    EntityPlayer possiblePlayer = null;
    if(stack != null) {
        MinecraftServer server = MinecraftServer.getServer();
        if(server != null && server.getConfigurationManager() != null) {
            for(EntityPlayer player : (List<EntityPlayer>) server.getConfigurationManager().playerEntityList) {
                if(player != null && player.getHeldItem() == stack) {
                    possiblePlayer = player;
                    break;
                }
            }
        }
    }

    if(possiblePlayer != null) {
        if(enchantmentId == Enchantment.fortune.effectId) {
            return getFortuneLevel(possiblePlayer);
        } else if(enchantmentId == Enchantment.looting.effectId) {
            return getLootingLevel(possiblePlayer);
        }

    }

    return getRealEnchantmentLevel(enchantmentId, stack);
}
 
源代码2 项目: Wurst7   文件: EnchantCmd.java
private void enchant(ItemStack stack)
{
	for(Enchantment enchantment : Registry.ENCHANTMENT)
	{
		if(enchantment == Enchantments.SILK_TOUCH)
			continue;
		
		if(enchantment.isCursed())
			continue;
		
		if(enchantment == Enchantments.QUICK_CHARGE)
		{
			stack.addEnchantment(enchantment, 5);
			continue;
		}
		
		stack.addEnchantment(enchantment, 127);
	}
}
 
源代码3 项目: Artifacts   文件: ComponentExcavation.java
@Override
public boolean onBlockDestroyed(ItemStack itemStack, World world, Block destroyedBlock, int x, int y, int z, EntityLivingBase player) {
	//System.out.println("Test (" + x + "," + y + "," + z + ")");
	//player.getLookVec();
	int numBlocks = 0;
	for(int i=-1;i<=1;i++) {
		for(int j=-1;j<=1;j++) {
			for(int k=-1;k<=1;k++) {
				Block block = world.getBlock(x+i, y+j, z+k);
				if(block != null) {
					System.out.println("block: " + block.getUnlocalizedName());
					System.out.println("can:  " + itemStack.getItem().canHarvestBlock(block, itemStack));
					if(this.canHarvestBlock(block, itemStack)) {
						int fortuneLevel = EnchantmentHelper.getEnchantmentLevel(Enchantment.fortune.effectId, itemStack);
						block.dropBlockAsItem(world, x, y, z, world.getBlockMetadata(x+i, y+j, z+k), fortuneLevel);
						world.setBlockToAir(x+i, y+j, z+k);
						numBlocks++;
					}
				}
			}
		}
	}
	itemStack.damageItem(numBlocks/3, player);
	//Block block = Block.blocksList[l]
	return false;
}
 
public void updateEnchantmentOptions(boolean validate) {
    int numoptions = slotEnchantment.size();
    slotEnchantment.clear();

    ItemStack toolstack = getSlot(0).getStack();
    if (toolstack == null) {
        percentscrolled = 0;
        return;
    }

    Item item = toolstack.getItem();
    int enchantablity = item.getItemEnchantability();
    if (enchantablity == 0 && validate) {
        percentscrolled = 0;
        return;
    }

    for (Enchantment e : Enchantment.enchantmentsList) {
        if (e == null || e.type == null || (!e.type.canEnchantItem(item) && validate)) {
            continue;
        }
        int state = 0;
        int level = -1;
        if (NEIServerUtils.stackHasEnchantment(toolstack, e.effectId)) {
            state = 2;
            level = NEIServerUtils.getEnchantmentLevel(toolstack, e.effectId);
        } else if (NEIServerUtils.doesEnchantmentConflict(NEIServerUtils.getEnchantments(toolstack), e) && validate) {
            state = 1;
        }
        slotEnchantment.add(new EnchantmentHash(e, state, level));
    }
    if (numoptions != slotEnchantment.size()) {
        percentscrolled = 0;
    }
}
 
源代码5 项目: Sakura_mod   文件: ItemSheathKatana.java
public ItemStack setBlade(ItemStack blade) {
   	ItemStack result = new ItemStack(this,1);
   	result.setItemDamage(blade.getItemDamage());
   	if(blade.isItemEnchanted()){
   		Map<Enchantment, Integer> map = EnchantmentHelper.getEnchantments(blade);
   		for(Enchantment ench : map.keySet()){
   			result.addEnchantment(ench, map.get(ench));
   		}
   	}
	return result;
}
 
源代码6 项目: Sakura_mod   文件: ItemSheathKatana.java
public ItemStack setKatana(ItemStack blade) {
   	ItemStack result = new ItemStack(katana,1);
   	result.setItemDamage(blade.getItemDamage());
   	if(blade.isItemEnchanted()){
   		Map<Enchantment, Integer> map = EnchantmentHelper.getEnchantments(blade);
   		for(Enchantment ench : map.keySet()){
   			result.addEnchantment(ench, map.get(ench));
   		}
   	}
	return result;
}
 
public boolean addEnchantment(String enchantmentLocation, int level) {
    Enchantment enchantment = Enchantment.getEnchantmentByLocation(enchantmentLocation);
    if (enchantment != null) {
        inventorySlots.get(0).getStack().addEnchantment(enchantment, level);
        return true;
    }
    return false;
}
 
源代码8 项目: seppuku   文件: ItemUtil.java
public static boolean isIllegalEnchant(Enchantment enc, short lvl) {
    final int maxPossibleLevel = enc.getMaxLevel();
    if (lvl == 0 || lvl > maxPossibleLevel)
        return true;

    return lvl == Short.MAX_VALUE;
}
 
源代码9 项目: enderutilities   文件: ItemVoidPickaxe.java
@Override
public boolean canApplyEnchantment(ItemStack stackTool, Enchantment enchantment)
{
    return enchantment.type == EnumEnchantmentType.ALL ||
           enchantment.type == EnumEnchantmentType.BREAKABLE ||
           enchantment.type == EnumEnchantmentType.DIGGER;
}
 
源代码10 项目: ToroQuest   文件: ShopkeeperTradesForWind.java
private static ItemStack level5Boots() {
	ItemStack stack = new ItemStack(Items.DIAMOND_BOOTS);
	stack.setStackDisplayName("Wind Boots V");
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(0), 4);
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(2), 4);
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(70), 1);
	return stack;
}
 
源代码11 项目: multiconnect   文件: Items_1_12_2.java
private static void newEnchantmentListToOld(ListTag enchantments) {
    for (int i = 0; i < enchantments.size(); i++) {
        CompoundTag ench = enchantments.getCompound(i);
        Identifier name = Identifier.tryParse(ench.getString("id"));
        Enchantment enchObj = Registry.ENCHANTMENT.get(name);
        if (enchObj == null) {
            enchantments.remove(i);
            i--;
        } else {
            ench.putInt("id", Registry.ENCHANTMENT.getRawId(enchObj));
        }
    }
}
 
源代码12 项目: ToroQuest   文件: ShopkeeperTradesForMoon.java
private static ItemStack level3Chestplate() {
	ItemStack stack = new ItemStack(Items.DIAMOND_CHESTPLATE);
	stack.setStackDisplayName("Moon Chestplate III");
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(0), 1);
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(7), 1);
	return stack;
}
 
源代码13 项目: bleachhack-1.14   文件: RenderUtilsLiving.java
public static void drawItem(double x, double y, double z, double offX, double offY, double scale, ItemStack item) {
	glSetup(x, y, z);
	
    GL11.glScaled(0.4*scale, 0.4*scale, 0);
    
    GL11.glTranslated(offX, offY, 0);
    if (item.getItem() instanceof BlockItem) GL11.glRotatef(180F, 1F, 180F, 10F);
    mc.getItemRenderer().renderItem(new ItemStack(item.getItem()), ItemCameraTransforms.TransformType.GUI);
    if (item.getItem() instanceof BlockItem) GL11.glRotatef(-180F, -1F, -180F, -10F);
    GL11.glDisable(GL11.GL_LIGHTING);
    
    GL11.glScalef(-0.05F, -0.05F, 0);
    
    if (item.getCount() > 0) {
	    int w = mc.fontRenderer.getStringWidth("x" + item.getCount()) / 2;
	    mc.fontRenderer.drawStringWithShadow("x" + item.getCount(), 7 - w, 5, 0xffffff);
    }
    
    GL11.glScalef(0.85F, 0.85F, 0.85F);
    
    int c = 0;
    for (Entry<Enchantment, Integer> m: EnchantmentHelper.getEnchantments(item).entrySet()) {
    	int w1 = mc.fontRenderer.getStringWidth(I18n.format(m.getKey().getName()).substring(0, 2) + m.getValue()) / 2;
    	mc.fontRenderer.drawStringWithShadow(
    			I18n.format(m.getKey().getName()).substring(0, 2) + m.getValue(), -4 - w1, c*10-1,
    			m.getKey() == Enchantments.VANISHING_CURSE || m.getKey() == Enchantments.BINDING_CURSE
    			? 0xff5050 : 0xffb0e0);
    	c--;
    }
    
    glCleanup();
}
 
源代码14 项目: bleachhack-1.14   文件: CmdEnchant.java
@SuppressWarnings("deprecation")
public void enchant(ItemStack item, Enchantment e, int level) {
	if (item.getTag() == null) item.setTag(new CompoundNBT());
	if (!item.getTag().contains("Enchantments", 9)) {
		item.getTag().put("Enchantments", new ListNBT());
    }

    ListNBT listnbt = item.getTag().getList("Enchantments", 10);
    CompoundNBT compoundnbt = new CompoundNBT();
    compoundnbt.putString("id", String.valueOf(Registry.ENCHANTMENT.getKey(e)));
    compoundnbt.putInt("lvl", level);
    listnbt.add(compoundnbt);
}
 
源代码15 项目: bleachhack-1.14   文件: RenderUtilsLiving.java
public static void drawItem(double x, double y, double z, double offX, double offY, double scale, ItemStack item) {
	glSetup(x, y, z);
	
    GL11.glScaled(0.4*scale, 0.4*scale, 0);
    
    GL11.glTranslated(offX, offY, 0);
    if (item.getItem() instanceof BlockItem) GL11.glRotatef(180F, 1F, 180F, 10F);
    mc.getItemRenderer().renderItem(new ItemStack(
    		item.getItem()), Mode.GUI, 0, 0, new MatrixStack(), mc.getBufferBuilders().getEntityVertexConsumers());
    if (item.getItem() instanceof BlockItem) GL11.glRotatef(-180F, -1F, -180F, -10F);
    GL11.glDisable(GL11.GL_LIGHTING);
    
    GL11.glScalef(-0.05F, -0.05F, 0);
    
    if (item.getCount() > 0) {
	    int w = mc.textRenderer.getWidth("x" + item.getCount()) / 2;
	    mc.textRenderer.drawWithShadow(new MatrixStack(), "x" + item.getCount(), 7 - w, 5, 0xffffff);
    }
    
    GL11.glScalef(0.85F, 0.85F, 0.85F);
    
    int c = 0;
    for (Entry<Enchantment, Integer> m: EnchantmentHelper.get(item).entrySet()) {
    	int w1 = mc.textRenderer.getWidth(I18n.translate(m.getKey().getName(2).asString()).substring(0, 2) + m.getValue()) / 2;
    	mc.textRenderer.drawWithShadow(new MatrixStack(),
    			I18n.translate(m.getKey().getName(2).asString()).substring(0, 2) + m.getValue(), -4 - w1, c*10-1,
    			m.getKey() == Enchantments.VANISHING_CURSE || m.getKey() == Enchantments.BINDING_CURSE
    			? 0xff5050 : 0xffb0e0);
    	c--;
    }
    
    GL11.glScalef(0.6F, 0.6F, 0.6F);
    String dur = item.getMaxDamage() - item.getDamage() + "";
       int color = 0x000000;
       try{ color = MathHelper.hsvToRgb(((float) (item.getMaxDamage() - item.getDamage()) / item.getMaxDamage()) / 3.0F, 1.0F, 1.0F); } catch (Exception e) {}
    if (item.isDamageable()) mc.textRenderer.drawWithShadow(new MatrixStack(), dur, -8 - dur.length() * 3, 15,
    		new Color(color >> 16 & 255, color >> 8 & 255, color & 255).getRGB());
    
    glCleanup();
}
 
源代码16 项目: NotEnoughItems   文件: NEIServerUtils.java
public static boolean doesEnchantmentConflict(List<int[]> enchantments, Enchantment e) {
    for (int[] ai : enchantments)
        if (!e.canApplyTogether(Enchantment.enchantmentsList[ai[0]]))
            return true;

    return false;
}
 
源代码17 项目: ToroQuest   文件: ShopkeeperTradesForWind.java
private static ItemStack level4Boots() {
	ItemStack stack = new ItemStack(Items.DIAMOND_BOOTS);
	stack.setStackDisplayName("Wind Boots IV");
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(0), 2);
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(2), 4);
	return stack;
}
 
public void updateEnchantmentOptions(boolean validate) {
    int numoptions = slotEnchantment.size();
    slotEnchantment.clear();

    ItemStack toolstack = getSlot(0).getStack();
    if (toolstack.isEmpty()) {
        percentscrolled = 0;
        return;
    }

    Item item = toolstack.getItem();
    int enchantablity = item.getItemEnchantability(toolstack);
    if (enchantablity == 0 && validate) {
        percentscrolled = 0;
        return;
    }

    for (Enchantment enchantment : Enchantment.REGISTRY) {
        if (enchantment == null || enchantment.type == null || (!enchantment.type.canEnchantItem(item) && validate)) {
            continue;
        }
        int state = 0;
        int level = -1;
        if (NEIServerUtils.stackHasEnchantment(toolstack, Enchantment.getEnchantmentID(enchantment))) {
            state = 2;
            level = NEIServerUtils.getEnchantmentLevel(toolstack, Enchantment.getEnchantmentID(enchantment));
        } else if (NEIServerUtils.doesEnchantmentConflict(NEIServerUtils.getEnchantments(toolstack), enchantment) && validate) {
            state = 1;
        }
        slotEnchantment.add(new EnchantmentHash(enchantment, state, level));
    }
    if (numoptions != slotEnchantment.size()) {
        percentscrolled = 0;
    }
}
 
源代码19 项目: ToroQuest   文件: ShopkeeperTradesForMoon.java
private static ItemStack level1Sword() {
	ItemStack stack = new ItemStack(Items.IRON_SWORD);
	stack.setStackDisplayName("Moon Sword I");
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(17), 1);
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(18), 1);
	return stack;
}
 
源代码20 项目: Gadomancy   文件: RegisteredEnchantments.java
public static <T extends Enchantment> T registerEnchantment(Class<T> enchClass) {
    int id = ModConfig.loadEnchantmentId(enchClass.getSimpleName());
    if(id == -1) {
        id = getUnassignedId(enchClass);
    }
    return new Injector(enchClass).invokeConstructor(int.class, id);
}
 
源代码21 项目: ToroQuest   文件: QuestEnemyEncampment.java
protected void addGoldenSword(QuestData data, List<ItemStack> in) {
	ItemStack sword = new ItemStack(Items.GOLDEN_SWORD);
	sword.addEnchantment(Enchantment.getEnchantmentByID(16), 5);
	sword.addEnchantment(Enchantment.getEnchantmentByID(21), 3);
	Province inProvince = PlayerCivilizationCapabilityImpl.get(data.getPlayer()).getInCivilization();
	if (inProvince.id.equals(data.getProvinceId())) {
		// TODO lang
		sword.setStackDisplayName("Golden Sword of " + inProvince.name);
	}
	in.add(sword);
}
 
源代码22 项目: ForgeHax   文件: EnchantmentUtils.java
public String getShortName() {
  int id = Enchantment.getEnchantmentID(enchantment);
  if (SHORT_ENCHANT_NAMES.containsKey(id)) {
    if (enchantment.getMaxLevel() <= 1) {
      return SHORT_ENCHANT_NAMES.get(id);
    } else {
      return SHORT_ENCHANT_NAMES.get(id) + this.level;
    }
  } else {
    return toString();
  }
}
 
源代码23 项目: PneumaticCraft   文件: InfusionEnchantmentRecipe.java
public InfusionEnchantmentRecipe(String research, Enchantment input, int inst, 
		AspectList aspects2, ItemStack[] recipe) {
	this.research = research;
	this.enchantment = input;
	this.aspects = aspects2;
	this.components = recipe;
	this.instability = inst;
	this.recipeXP = Math.max(1, input.getMinEnchantability(1)/3);
}
 
源代码24 项目: ToroQuest   文件: ShopkeeperTradesForSun.java
private static ItemStack level4Sword() {
	ItemStack stack = new ItemStack(Items.DIAMOND_SWORD);
	stack.setStackDisplayName("Amaterasu Sword");
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(17), 3);
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(16), 3);
	return stack;
}
 
源代码25 项目: ToroQuest   文件: ShopkeeperTradesForMoon.java
private static ItemStack level5Chestplate() {
	ItemStack stack = new ItemStack(Items.DIAMOND_CHESTPLATE);
	stack.setStackDisplayName("Moon Chestplate V");
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(0), 4);
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(7), 4);
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(70), 1);
	return stack;
}
 
源代码26 项目: ToroQuest   文件: ShopkeeperTradesForMoon.java
private static ItemStack level2Sword() {
	ItemStack stack = new ItemStack(Items.IRON_SWORD);
	stack.setStackDisplayName("Moon Sword II");
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(16), 1);
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(17), 2);
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(18), 2);
	return stack;
}
 
源代码27 项目: ToroQuest   文件: ShopkeeperTradesForWater.java
private static ItemStack level4Helmet() {
	ItemStack stack = new ItemStack(Items.DIAMOND_HELMET);
	stack.setStackDisplayName("Oceanus Helmet");
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(0), 2);
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(6), 4);
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(5), 4);
	return stack;
}
 
源代码28 项目: ToroQuest   文件: ShopkeeperTradesForWater.java
private static ItemStack level5Boots() {
	ItemStack stack = new ItemStack(Items.DIAMOND_BOOTS);
	stack.setStackDisplayName("Poseidon Boots");
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(0), 4);
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(8), 4);
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(70), 1);
	return stack;
}
 
源代码29 项目: ForbiddenMagic   文件: EnchantmentEducational.java
@Override
public boolean canApplyTogether(Enchantment ench) {
    return super.canApplyTogether(ench) && ench.effectId != Enchantment.looting.effectId && ench.effectId != DarkEnchantments.greedy.effectId;
}
 
源代码30 项目: TofuCraftReload   文件: EnchantmentLoader.java
@SubscribeEvent
public static void registerEnchantment(RegistryEvent.Register<Enchantment> event) {
	event.getRegistry().registerAll(Drain,Batch);
}